name: application-skeleton services: application: build: context: ../../ dockerfile: deploy/local/python.Dockerfile container_name: application-skeleton-application command: [ "python", "-m", "entry.log_user_messages", "--queue=application.skeleton", "--exchange=amq.topic", "--routing-key=user.message.*" ] stop_grace_period: 3s depends_on: rabbitmq: condition: service_healthy redis: condition: service_healthy volumes: - ../../:/opt/app networks: - application-skeleton-network rabbitmq: image: rabbitmq:4.3-management container_name: application-skeleton-rabbitmq environment: RABBITMQ_DEFAULT_USER: ${RABBITMQ_USER} RABBITMQ_DEFAULT_PASS: ${RABBITMQ_PASS} healthcheck: test: rabbitmq-diagnostics ping interval: 3s timeout: 5s retries: 10 start_period: 10s networks: - application-skeleton-network ports: - "15672:15672" redis: image: redis:8-alpine container_name: application-skeleton-redis healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 3s timeout: 5s retries: 10 start_period: 10s networks: - application-skeleton-network networks: application-skeleton-network: external: false