lball
1/20/2017 - 6:04 PM

LaraDock YAML for use with fluentd logging services

LaraDock YAML for use with fluentd logging services

version: '2'

services:

### Applications Code Container #############################

    applications:
        image: tianon/true
        volumes:
            - ../:/var/www
#            - ../sample/:/var/www/sample

### Workspace Utilities Container ###########################

    workspace:
        build:
            context: ./workspace
            args:
                - INSTALL_XDEBUG=false
                - INSTALL_MONGO=false
                - INSTALL_NODE=false
                - INSTALL_YARN=false
                - INSTALL_DRUSH=false
                - INSTALL_AEROSPIKE_EXTENSION=false
                - INSTALL_V8JS_EXTENSION=false
                - COMPOSER_GLOBAL_INSTALL=false
                - INSTALL_WORKSPACE_SSH=false
                - INSTALL_LARAVEL_ENVOY=false
                - INSTALL_LINUXBREW=false
                - PUID=1000
                - PGID=1000
                - NODE_VERSION=stable
                - YARN_VERSION=latest
                - TZ=UTC
        volumes_from:
            - applications
        extra_hosts:
            - "dockerhost:192.168.33.10"
        ports:
           - "2222:22"
        tty: true

### PHP-FPM Container #######################################

    php-fpm:
        build:
            context: ./php-fpm
            args:
                - INSTALL_XDEBUG=false
                - INSTALL_SOAP=false
                - INSTALL_MONGO=false
                - INSTALL_ZIP_ARCHIVE=false
                - INSTALL_BCMATH=false
                - INSTALL_MEMCACHED=false
                - INSTALL_OPCACHE=false
                - INSTALL_AEROSPIKE_EXTENSION=false
                - CODEIGNITER=false
            dockerfile: Dockerfile-70
        volumes_from:
            - applications
        expose:
            - "9000"
        links:
            - workspace
        extra_hosts:
            # IMPORTANT: Replace with your Docker Host IP (will be appended to /etc/hosts)
            - "dockerhost:192.168.33.10"
        environment:
            # IMPORTANT: Set the Remote Interpreter entry matching name to `laravel`
            - PHP_IDE_CONFIG=serverName=laravel
        logging:
            driver: fluentd

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

    nginx:
        build:
            context: ./nginx
            args:
                - PHP_UPSTREAM=php-fpm
        volumes_from:
            - applications
        volumes:
            - ./logs/nginx/:/var/log/nginx
            - ./nginx/sites/:/etc/nginx/sites-available
        ports:
            - "80:80"
            - "443:443"
        links:
            - php-fpm
        logging:
            driver: fluentd


### Apache Server Container #################################

    apache2:
        build:
            context: ./apache2
            args:
                - PHP_SOCKET=php-fpm:9000
        volumes_from:
            - applications
#        volumes:
#            - ./logs/apache2:/var/log/apache2
        ports:
            - "80:80"
            - "443:443"
        links:
            - php-fpm
        logging:
            driver: fluentd

### HHVM Container ##########################################

    hhvm:
        build: ./hhvm
        volumes_from:
            - applications
        expose:
            - "9000"
        links:
            - workspace

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

    mysql:
        build:
            context: ./mysql
            args:
                - MYSQL_DATABASE=homestead
                - MYSQL_USER=homestead
                - MYSQL_PASSWORD=secret
                - MYSQL_ROOT_PASSWORD=root
        volumes:
            - mysql:/var/lib/mysql
        ports:
            - "3306:3306"
        logging:
            driver: fluentd

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

    mariadb:
        build: ./mariadb
        volumes:
            - mariadb:/var/lib/mysql
        ports:
            - "3306:3306"
        environment:
            MYSQL_DATABASE: homestead
            MYSQL_USER: homestead
            MYSQL_PASSWORD: secret
            MYSQL_ROOT_PASSWORD: root
        logging:
            driver: fluentd

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

    postgres:
        build: ./postgres
        volumes:
            - postgres:/var/lib/postgresql/data
        ports:
            - "5432:5432"
        environment:
            POSTGRES_DB: homestead
            POSTGRES_USER: homestead
            POSTGRES_PASSWORD: secret

### PostgreSQL PostGis Container ############################

    postgres-postgis:
        build: ./postgres-postgis
        volumes:
            - postgres:/var/lib/postgresql/data
        ports:
            - "5432:5432"
        environment:
            POSTGRES_DB: homestead
            POSTGRES_USER: homestead
            POSTGRES_PASSWORD: secret

### Neo4j Container #########################################
            - "3306:3306"
        environment:
            MYSQL_DATABASE: homestead
            MYSQL_USER: homestead
            MYSQL_PASSWORD: secret
            MYSQL_ROOT_PASSWORD: root
        logging:
            driver: fluentd

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

    postgres:
        build: ./postgres
        volumes:
            - postgres:/var/lib/postgresql/data
        ports:
            - "5432:5432"
        environment:
            POSTGRES_DB: homestead
            POSTGRES_USER: homestead
            POSTGRES_PASSWORD: secret

### PostgreSQL PostGis Container ############################

    postgres-postgis:
        build: ./postgres-postgis
        volumes:
            - postgres:/var/lib/postgresql/data
        ports:
            - "5432:5432"
        environment:
            POSTGRES_DB: homestead
            POSTGRES_USER: homestead
            POSTGRES_PASSWORD: secret

### Neo4j Container #########################################
            - "3306:3306"
        environment:
            MYSQL_DATABASE: homestead
            MYSQL_USER: homestead
            MYSQL_PASSWORD: secret
            MYSQL_ROOT_PASSWORD: root
        logging:
            driver: fluentd

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

    postgres:
        build: ./postgres
        volumes:
            - postgres:/var/lib/postgresql/data
        ports:
            - "5432:5432"
        environment:
            POSTGRES_DB: homestead
            POSTGRES_USER: homestead
            POSTGRES_PASSWORD: secret

### PostgreSQL PostGis Container ############################

    postgres-postgis:
        build: ./postgres-postgis
        volumes:
            - postgres:/var/lib/postgresql/data
        ports:
            - "5432:5432"
        environment:
            POSTGRES_DB: homestead
            POSTGRES_USER: homestead
            POSTGRES_PASSWORD: secret

### Neo4j Container #########################################
            - "3306:3306"
        environment:
            MYSQL_DATABASE: homestead
            MYSQL_USER: homestead
            MYSQL_PASSWORD: secret
            MYSQL_ROOT_PASSWORD: root
        logging:
            driver: fluentd

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

    postgres:
        build: ./postgres
        volumes:
            - postgres:/var/lib/postgresql/data
        ports:
            - "5432:5432"
        environment:
            POSTGRES_DB: homestead
            POSTGRES_USER: homestead
            POSTGRES_PASSWORD: secret

### PostgreSQL PostGis Container ############################

    postgres-postgis:
        build: ./postgres-postgis
        volumes:
            - postgres:/var/lib/postgresql/data
        ports:
            - "5432:5432"
        environment:
            POSTGRES_DB: homestead
            POSTGRES_USER: homestead
            POSTGRES_PASSWORD: secret

### Neo4j Container #########################################
            - "3306:3306"
        environment:
            MYSQL_DATABASE: homestead
            MYSQL_USER: homestead
            MYSQL_PASSWORD: secret
            MYSQL_ROOT_PASSWORD: root
        logging:
            driver: fluentd

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

    postgres:
        build: ./postgres
        volumes:
            - postgres:/var/lib/postgresql/data
        ports:
            - "5432:5432"
        environment:
            POSTGRES_DB: homestead
            POSTGRES_USER: homestead
            POSTGRES_PASSWORD: secret

### PostgreSQL PostGis Container ############################

    postgres-postgis:
        build: ./postgres-postgis
        volumes:
            - postgres:/var/lib/postgresql/data
        ports:
            - "5432:5432"
        environment:
            POSTGRES_DB: homestead
            POSTGRES_USER: homestead
            POSTGRES_PASSWORD: secret

### Neo4j Container #########################################

    neo4j:
        build: ./neo4j
        ports:
            - "7474:7474"
            - "1337:1337"
        environment:
            - NEO4J_AUTH=homestead:secret
        volumes:
            - neo4j:/var/lib/neo4j/data

### MongoDB Container #######################################

    mongo:
        build: ./mongo
        ports:
            - "27017:27017"
        volumes:
            - mongo:/data/db

### RethinkDB Container #######################################

    rethinkdb:
        build: ./rethinkdb
        ports:
            - "8090:8080"
        volumes:
            - rethinkdb:/data/rethinkdb_data

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

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

### Aerospike c Container ###################################

    aerospike:
        build: ./aerospike
        volumes_from:
            - workspace
        volumes:
            - aerospike:/opt/aerospike/data
        ports:
            - "3000:3000"
            - "3001:3001"
            - "3002:3002"
            - "3003:3003"


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

    memcached:
        build: ./memcached
        volumes:
            - memcached:/var/lib/memcached
        ports:
            - "11211:11211"
        links:
            - php-fpm

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

    beanstalkd:
        build: ./beanstalkd
        ports:
            - "11300:11300"
        privileged: true
        links:
            - php-fpm

### RabbitMQ Container ######################################

    rabbitmq:
        build: ./rabbitmq
        ports:
            - "5672:5672"
            - "15671:15671"
            - "8080:15672"
        privileged: true
        environment:
            RABBITMQ_DEFAULT_USER: guest
            RABBITMQ_DEFAULT_PASS: guest
        links:
            - php-fpm

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

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

### Caddy Server Container ##################################

    caddy:
        build: ./caddy
        ports:
            - "80:80"
            - "443:443"
            - "2015:2015"
        volumes_from:
            - applications
        volumes:
            - ./caddy/Caddyfile:/etc/Caddyfile
            - ./logs/caddy:/var/log/caddy
        links:
            - php-fpm

### phpMyAdmin Container ####################################

    phpmyadmin:
        build: ./phpmyadmin
        environment:
            PMA_ARBITRARY: 1
            MYSQL_USER: homestead
            MYSQL_PASSWORD: secret
            MYSQL_ROOT_PASSWORD: root
        ports:
            - "8081:80"
        links:
            # for mysql container
            - "mysql:db"
            # for mariadb container
            # - "mariadb:db"

### pgAdmin Container #######################################

    pgadmin:
        build: ./pgadmin
        ports:
            - "5050:5050"
        links:
            - postgres

### ElasticSearch Container #################################

    elasticsearch:
        build: ./elasticsearch
        volumes:
            - elasticsearch-data:/usr/share/elasticsearch/data
            - elasticsearch-plugins:/usr/share/elasticsearch/data
        ports:
            - "9200:9200"
            - "9300:9300"
        links:
            - php-fpm

### Selenium Container #########################################

    selenium:
        build: ./selenium
        ports:
            - "4444:4444"

### Volumes Setup ###########################################

volumes:
    mysql:
        driver: "local"
    postgres:
        driver: "local"
    memcached:
        driver: "local"
    redis:
        driver: "local"
    neo4j:
        driver: "local"
    mariadb:
        driver: "local"
    mongo:
        driver: "local"
    rethinkdb:
        driver: "local"
    phpmyadmin:
        driver: "local"
    aerospike:
        driver: "local"
    caddy:
        driver: "local"
    elasticsearch-data:
        driver: "local"
    elasticsearch-plugins:
        driver: "local"
    sessions:    ## nothing is connected to this (- ./data/sessions:/sessions)
        driver: "local"