chore(deploy): add production Swarm stack (docker-compose-production.yml)
Production sibling of docker-compose-beta.yml for the Safrat AI bots
(ai-assistant + whatsapp + telegram + postgres). Deploys as the Portainer
stack production-safrat-assistant; the CI production branch builds the
three :production images and fires $SERVICE_HOOK to roll it.
Differences from beta:
- public host beta-api.safrat.me -> api.safrat.me (site -> safrat.me)
- DB host beta-safrat-assistant_postgres -> production-safrat-assistant_postgres
- broker host beta-rabbitmq_rabbitmq -> production-rabbitmq_rabbitmq (RABBITMQ_URI)
- traefik object names beta-* -> production-* (prod Traefik is a separate instance)
- images :beta -> :production, and split onto per-service image vars (beta collapsed all three services onto one ${IMAGE_TAG})
Kept identical: external overlay beta-voi-stack (real network name on both
clusters) + traefik-public, and the same public WhatsApp/Telegram bot
identities (deep links unchanged; tokens stay per-stack env vars).
Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com Claude-Session: https://claude.ai/code/session_01H9MhmkhEhEsUecRvva7ptX