# 1. Update config values (localhost --> mongo and localhost --> redis) in config.dev.json
# 2. Set APP_ENV environment variable to proper value in Dockerfile-redis (default is "dev")
#    export APP_ENV=dev
#    export DOCKER_ACCT=<yourHubUserName>
# 3. Run docker-compose build
# 4. Run docker-compose up

version: '2'

services:

    nginx:
        container_name: nginx-${APP_NAME}
        build:
            context: .
            dockerfile: lib/docker/files/nginx.dockerfile
        links:
            - node1:node1
            - node2:node2
            - node3:node3
        ports:
            - "80:80"
            - "443:443"
        env_file:
            - ./lib/docker/files/env/app.${APP_ENV}.env
        networks:
            - dev-network

    node1:
        container_name: node-${APP_NAME}-1
        build:
            context: .
            dockerfile: lib/docker/files/node.dockerfile
        ports:
            - "8080"
        volumes:
            - .:/var/www/${APP_NAME}
        working_dir: /var/www/${APP_NAME}
        env_file:
            - ./lib/docker/files/env/app.${APP_ENV}.env
        networks:
            - dev-network

    node2:
        container_name: node-${APP_NAME}-2
        build:
            context: .
            dockerfile: lib/docker/files/node.dockerfile
        ports:
            - "8080"
        volumes:
            - .:/var/www/${APP_NAME}
        working_dir: /var/www/${APP_NAME}
        env_file:
            - ./lib/docker/files/env/app.${APP_ENV}.env
        networks:
            - dev-network

    node3:
        container_name: node-${APP_NAME}-3
        build:
            context: .
            dockerfile: lib/docker/files/node.dockerfile
        ports:
            - "8080"
        volumes:
            - .:/var/www/${APP_NAME}
        working_dir: /var/www/${APP_NAME}
        env_file:
            - ./lib/docker/files/env/app.${APP_ENV}.env
        networks:
            - dev-network

    mongo:
        container_name: mongo-${APP_NAME}
        build:
            context: .
            dockerfile: lib/docker/files/mongo.dockerfile
        ports:
            - "27017:27017"
        env_file:
            - ./lib/docker/files/env/mongo.${APP_ENV}.env
            - ./lib/docker/files/env/app.${APP_ENV}.env
        networks:
            - dev-network

    redis:
        container_name: redis-${APP_NAME}
        build:
            context: .
            dockerfile: lib/docker/files/redis.dockerfile
        ports:
            - "6379"
        env_file:
            - ./lib/docker/files/env/app.${APP_ENV}.env
        networks:
            - dev-network

networks:
    dev-network:
        driver: bridge
