--- services: producer: #entrypoint: "tail -f /dev/null" image: atlas-producer networks: - atlas volumes: - producer_per:/app build: context: ./producer/ dockerfile: Dockerfile env_file: - producer/producer.env depends_on: keyserver: condition: service_healthy rabbitmq: condition: service_healthy producer_two: image: atlas-producer networks: - atlas env_file: - producer/producer.env depends_on: keyserver: condition: service_healthy rabbitmq: condition: service_healthy links: - "keyserver:keyserver" consumer: image: atlas-consumer build: context: ./consumer/ dockerfile: Dockerfile networks: - atlas env_file: - consumer/consumer.env depends_on: keyserver: condition: service_healthy rabbitmq: condition: service_healthy links: - "keyserver:keyserver" consumer_two: image: atlas-consumer networks: - atlas env_file: - consumer/consumer.env depends_on: keyserver: condition: service_healthy rabbitmq: condition: service_healthy links: - "keyserver:keyserver" keyserver: image: "docker.dragonflydb.io/dragonflydb/dragonfly" healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 30s timeout: 10s retries: 5 ulimits: memlock: -1 volumes: - dragon_per:/data env_file: - keyserver/keyserver.env networks: - atlas rabbitmq: image: rabbitmq:latest healthcheck: test: ["CMD", "rabbitmq-diagnostics", "check_port_connectivity"] interval: 30s timeout: 10s retries: 5 networks: - atlas ports: - "15672:15672" environment: RABBITMQ_DEFAULT_USER: guest RABBITMQ_DEFAULT_PASS: guest configs: - source: rabbitmq-plugins target: /etc/rabbitmq/enabled_plugins volumes: - rabbitmq-lib:/var/lib/rabbitmq/ - rabbitmq-log:/var/log/rabbitmq configs: rabbitmq-plugins: content: "[rabbitmq_management]." networks: atlas: driver: bridge volumes: producer_per: dragon_per: rabbitmq-lib: rabbitmq-log: