x-defaults: &defaults restart: unless-stopped logging: driver: json-file options: max-size: 100m max-file: "3" services: rabbitmq: <<: *defaults image: ${GLOBAL_REGISTRY:-}rabbitmq:${RABBITMQ_VERSION:-4.1.4-management-alpine} volumes: - rabbitmq_data:/var/lib/rabbitmq ports: - ${RABBITMQ_PORT:-5672}:5672 - ${RABBITMQ_MANAGEMENT_PORT:-15672}:15672 environment: TZ: ${TZ:-UTC} RABBITMQ_DEFAULT_USER: ${RABBITMQ_DEFAULT_USER:-admin} RABBITMQ_DEFAULT_PASS: ${RABBITMQ_DEFAULT_PASS:-password} deploy: resources: limits: cpus: '1.0' memory: 1G reservations: cpus: '0.5' memory: 512M healthcheck: test: ["CMD", "rabbitmq-diagnostics", "-q", "ping"] interval: 30s timeout: 10s retries: 3 start_period: 30s volumes: rabbitmq_data: