services: db: image: mariadb:10.10 container_name: ${MYSQL_HOSTNAME} hostname: ${MYSQL_HOSTNAME} ports: - 3306:3306 environment: - MYSQL_USER=${MYSQL_USER} - MYSQL_PASSWORD=${MYSQL_PASSWORD} - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} - MYSQL_DATABASE=${MYSQL_DATABASE} rabbit: image: rabbitmq:3-management container_name: ${RABBIT_HOSTNAME} hostname: ${RABBIT_HOSTNAME} ports: - 5672:5672 - 15672:15672 wait-for-db: image: atkrad/wait4x depends_on: - db command: tcp ${MYSQL_HOSTNAME}:3306 -t 30s -i 250ms app: build: . container_name: app depends_on: wait-for-db: condition: service_completed_successfully links: - ${RABBIT_HOSTNAME} - ${MYSQL_HOSTNAME} ports: - ${HTTP_SERVER_PORT}:${HTTP_SERVER_PORT}