Files
EventHubBack/docker/docker-compose.stage.yml
T
aleksey 0a1e55e036
CI / test (push) Successful in 7m40s
CI / deploy-ift (push) Successful in 3m29s
CI / e2e-ift (push) Successful in 1m27s
CI / deploy-stage (push) Failing after 3m45s
CI / e2e-stage (push) Has been skipped
feat(email): HTTP API transport via Resend (fallback SMTP).
Outbound SMTP ports are often blocked on VPS; EMAIL_TRANSPORT=http_api
sends via Resend HTTPS (Brevo optional). OpenSMTPd/SMTP remain available.
2026-08-14 23:54:10 +03:00

101 lines
3.1 KiB
YAML

version: "3.8"
services:
# ================== Балансировщик ==================
traefik:
image: traefik:latest
command:
- "--log.level=DEBUG"
- "--api.insecure=true"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.web.address=:80"
ports:
- "80:80"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
networks:
- eventhub-net
deploy:
replicas: 1
restart_policy:
condition: any
# ================== Кластер EventHub ==================
eventhub:
image: git.sabilin.com/eventhub/eventhub:stage
hostname: "eventhub-node{{.Task.Slot}}"
environment:
- EVENTHUB_ENV=stage
- NODE_NAME=eventhub-node{{.Task.Slot}}
- RELEASE_COOKIE=${RELEASE_COOKIE}
- JWT_SECRET=${JWT_SECRET}
- ADMIN_JWT_SECRET=${ADMIN_JWT_SECRET}
- ADMIN_SUPER_EMAIL=${ADMIN_SUPER_EMAIL}
- ADMIN_SUPER_PASSWORD=${ADMIN_SUPER_PASSWORD}
- ADMIN_EMAIL=${ADMIN_EMAIL}
- ADMIN_PASSWORD=${ADMIN_PASSWORD}
- ADMIN_MODER_EMAIL=${ADMIN_MODER_EMAIL}
- ADMIN_MODER_PASSWORD=${ADMIN_MODER_PASSWORD}
- ADMIN_SUPPORT_EMAIL=${ADMIN_SUPPORT_EMAIL}
- ADMIN_SUPPORT_PASSWORD=${ADMIN_SUPPORT_PASSWORD}
- CLUSTER_MODE=true
- DNS_NAME=eventhub-node
- EMAIL_TRANSPORT=${EMAIL_TRANSPORT:-auto}
- EMAIL_API_KEY=${EMAIL_API_KEY:-}
- EMAIL_API_PROVIDER=${EMAIL_API_PROVIDER:-resend}
- EMAIL_API_URL=${EMAIL_API_URL:-}
- SMTP_HOST=${SMTP_HOST:-}
- SMTP_PORT=${SMTP_PORT:-587}
- SMTP_USER=${SMTP_USER:-}
- SMTP_PASS=${SMTP_PASS:-}
- SMTP_FROM=${SMTP_FROM:-noreply@calentiq.com}
- SMTP_TLS=${SMTP_TLS:-if_available}
- PUBLIC_APP_URL=${PUBLIC_APP_URL:-https://stage.calentiq.com}
- REMINDER_LEAD_HOURS=${REMINDER_LEAD_HOURS:-24}
- UPLOAD_DIR=${UPLOAD_DIR:-/app/data/uploads}
- UPLOAD_MAX_BYTES=${UPLOAD_MAX_BYTES:-2097152}
networks:
eventhub-net:
aliases:
- eventhub-node
volumes:
- eventhub-data:/app/data
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
interval: 10s
timeout: 5s
retries: 3
start_period: 30s
deploy:
replicas: 1
endpoint_mode: dnsrr
restart_policy:
condition: any
# ================== Эмулятор ботов ==================
bot-emulator-users:
image: git.sabilin.com/eventhub/bot-emulator-users:stage
environment:
- ADMIN_API_HOST=http://eventhub-node:8445
- CLIENT_API_HOST=http://eventhub-node:8080
- ADMIN_EMAIL=${ADMIN_EMAIL}
- ADMIN_PASSWORD=${ADMIN_PASSWORD}
- BOT_PASSWORD=${BOT_PASSWORD}
- STARTUP_DELAY=30
- DEBUG=true
networks:
- eventhub-net
depends_on:
- eventhub
deploy:
replicas: 0
restart_policy:
condition: any
networks:
eventhub-net:
driver: overlay
volumes:
eventhub-data: