version: "3.6"
services:
    tapas-db:
        image: mongo
        restart: unless-stopped
        container_name: tapas_mongodb
        environment:
            MONGO_INITDB_ROOT_USERNAME: root
            MONGO_INITDB_ROOT_PASSWORD: password
        ports:
            - "27017:27017"
        command: mongod --quiet --logpath /dev/null
    hivemq:
        image: hivemq/hivemq4
        restart: unless-stopped
        ports:
            - "1883:1883"
    tapas-tasks:
        container_name: tapas-tasks
        build:
            context: "./tapas-tasks"
            dockerfile: "Dockerfile"
            target: development
        ports:
            - "8081:8081"
            - "5005:5005"
        depends_on:
            - tapas-db
            # - hivemq
        volumes:
            - ./tapas-tasks/src:/opt/app/src
            - ./tapas-tasks/target:/opt/app/target
    roster:
        container_name: roster
        build:
            context: "."
            dockerfile: "./roster/Dockerfile"
            target: development
        depends_on:
            - tapas-db
            # - hivemq
        ports:
            - "8082:8082"
            - "5006:5005"
        volumes:
            - ./roster/src:/opt/app/src
            - ./roster/target:/opt/app/target
    executor-pool:
        container_name: executor-pool
        build:
            context: "./executor-pool"
            dockerfile: "Dockerfile"
            target: development
        depends_on:
            - tapas-db
            # - hivemq
        ports:
            - "8083:8083"
            - "5007:5005"
        volumes:
            - ./executor-pool/src:/opt/app/src
            - ./executor-pool/target:/opt/app/target
    executor-computation:
        container_name: executor-computation
        build:
            context: "."
            dockerfile: "./executor-computation/Dockerfile"
            target: development
        ports:
            - "8085:8085"
            - "5008:5005"
        volumes:
            - ./executor-computation/src:/opt/app/src
            - ./executor-computation/target:/opt/app/target
    executor-robot:
        container_name: executor-robot
        build:
            context: "."
            dockerfile: "./executor-robot/Dockerfile"
            target: development
        ports:
            - "8084:8084"
            - "5009:5005"
        volumes:
            - ./executor-robot/src:/opt/app/src
            - ./executor-robot/target:/opt/app/target
