version: '3'
services:
    auth:
        environment:
            - NODE_ENV=${NODE_ENV}
        container_name: "${BRANCH_NAME}-auth"
        image: "auth:${TAG}"
        build:
            context: ./services/auth
        expose:
            - "3000"
        ports:
            - "3000:3000"

    salix:
        environment:
            - NODE_ENV=${NODE_ENV}
        container_name: "${BRANCH_NAME}-salix"
        image: "salix:${TAG}"
        build:
            context: ./services/salix
        expose:
            - "3001"
        ports:
            - "3001:3001"

    client:
        environment:
            - NODE_ENV=${NODE_ENV}
        container_name: "${BRANCH_NAME}-client"
        image: "client:${TAG}"
        build:
            context: ./services/client
        expose:
            - "3002"
        ports:
            - "3002:3002"

    mailer:
        environment:
            - NODE_ENV=${NODE_ENV}
        container_name: "${BRANCH_NAME}-mailer"
        image: "mailer:${TAG}"
        build:
            context: ./services/mailer
        expose:
            - "3003"
        ports:
            - "3003:3003"

    production:
        environment:
            - NODE_ENV=${NODE_ENV}
        container_name: "${BRANCH_NAME}-production"
        image: "production:${TAG}"
        build:
            context: ./services/production
        expose:
            - "3004"
        ports:
            - "3004:3004"

    nginx:
        container_name: "${BRANCH_NAME}-nginx"
        image: "nginx:${TAG}"
        privileged: true
        build:
            context: ./services/nginx
        expose:
            - "80"
        ports:
            - "80:80"
        links:
            - "auth:${BRANCH_NAME}-auth"
            - "salix:${BRANCH_NAME}-salix"
            - "client:${BRANCH_NAME}-client"
            - "mailer:${BRANCH_NAME}-mailer"
            - "production:${BRANCH_NAME}-production"