OVHserver/opt/00-infrastructure/rabbitmq/docker-compose.yml
SamoilenkoVadym a987d45fbc chore: initial infrastructure setup with Syncthing, Git and documentation
Set up three-tier synchronization: Syncthing (real-time), GitHub (version control), rsync (disaster recovery). Includes complete documentation for future Claude sessions.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-05 16:41:12 +00:00

40 lines
1.1 KiB
YAML

version: '3.8'
services:
rabbitmq:
image: rabbitmq:3.13-management-alpine
container_name: rabbitmq
restart: unless-stopped
hostname: rabbitmq-aimpress
networks:
- database-internal
- traefik-public
env_file:
- .env
environment:
RABBITMQ_DEFAULT_USER: ${RABBITMQ_USER}
RABBITMQ_DEFAULT_PASS: ${RABBITMQ_PASSWORD}
RABBITMQ_DEFAULT_VHOST: /
volumes:
- rabbitmq-data:/var/lib/rabbitmq
- ./rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf:ro
ports:
- 127.0.0.1:5672:5672
labels:
- traefik.enable=true
- traefik.http.routers.rabbitmq.rule=Host(`rabbitmq.ai-impress.com`)
- traefik.http.routers.rabbitmq.entrypoints=websecure
- traefik.http.routers.rabbitmq.tls.certresolver=cloudflare
- traefik.http.services.rabbitmq.loadbalancer.server.port=15672
- traefik.http.routers.rabbitmq.middlewares=authentik@file
healthcheck:
test: rabbitmq-diagnostics -q ping
interval: 30s
timeout: 10s
retries: 5
volumes:
rabbitmq-data: null
networks:
database-internal:
external: true
traefik-public:
external: true