version: "3.8" services: postgres: image: postgres:15.6 command: postgres -c 'max_connections=500' -c 'shared_preload_libraries=auto_explain' -c 'auto_explain.log_min_duration=1000' -c 'auto_explain.log_analyze=on' -c 'auto_explain.log_verbose=on' -c 'auto_explain.log_timing=on' -c 'auto_explain.log_buffers=on' -c 'auto_explain.log_wal=on' -c 'auto_explain.log_triggers=on' -c 'auto_explain.log_format=text' restart: always environment: - POSTGRES_USER=hatchet - POSTGRES_PASSWORD=hatchet - POSTGRES_DB=hatchet ports: - "5431:5432" volumes: - hatchet_postgres_data:/var/lib/postgresql/data shm_size: 4g rabbitmq: image: "rabbitmq:4-management" hostname: "rabbitmq" ports: - "5672:5672" # RabbitMQ - "15672:15672" # Management UI environment: RABBITMQ_DEFAULT_USER: "user" RABBITMQ_DEFAULT_PASS: "password" volumes: - "hatchet_rabbitmq_data:/var/lib/rabbitmq" - "hatchet_rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf" # Configuration file mount healthcheck: test: ["CMD", "rabbitmqctl", "status"] interval: 30s timeout: 10s retries: 5 volumes: hatchet_postgres_data: hatchet_rabbitmq_data: hatchet_rabbitmq.conf: