version: '2'

services:

### Nginx Server Container ##################################

    nginx:
        build: ./nginx
        volumes_from:
            - php
        volumes:
            - ./logs/nginx/:/var/log/nginx
        ports:
            - "80:80"
        links:
            - php

### PHP Container ###########################################

    php:
        build: ./php
        volumes:
            - ../:/var/www/laravel
            - ./logs/php/:/usr/local/var/log
        expose:
            - "9000"

### DATA Container ##########################################

    data:
        build: ./data
        volumes:
            - /var/lib/mysql
            - /var/lib/postgres
            - /var/lib/mariadb
            - /var/lib/redis
            - /var/lib/memcached

### MySQL Container #########################################

    mysql:
        build: ./mysql
        volumes_from:
            - data
        ports:
            - "3306:3306"
        environment:
            MYSQL_DATABASE: homestead
            MYSQL_USER: homestead
            MYSQL_PASSWORD: secret
            MYSQL_ROOT_PASSWORD: root
        links:
            - php

### PostgreSQL Container ####################################

    postgres:
        build: ./postgres
        volumes_from:
            - data
        ports:
            - "5432:5432"
        environment:
            POSTGRES_DB: homestead
            POSTGRES_USER: homestead
            POSTGRES_PASSWORD: secret
        links:
            - php

### MariaDB Container #######################################

    mariadb:  
        build: ./mariadb
        volumes_from:
            - data
        ports:
            - "3306:3306"
        environment:
            MYSQL_DATABASE: homestead
            MYSQL_USER: homestead
            MYSQL_PASSWORD: secret
            MYSQL_ROOT_PASSWORD: root
        links:
            - php

### Redis Container #########################################

    redis:
        build: ./redis
        volumes_from:
            - data
        ports:
            - "6379:6379"

### Beanstalkd Container ####################################

    beanstalkd:
        build: ./beanstalkd
        ports:
            - "11300:11300"
        privileged: true

### Beanstalkd-Console Container ############################

    beanstalkd-console:
        build: ./beanstalkd-console
        ports:
            - "2080:2080"
        links:
            - beanstalkd

### Memcached Container #########################################

    memcached:
        build: ./memcached
        volumes_from:
            - data
        ports:
            - "11211:11211"

### Add more Containers below ###############################