feat: add mailgun-webhook service to docker-compose configurations

- Add mailgun-webhook service to both standalone and swarm deployments
- Configure service with Prometheus monitoring and debug logging
- Route traffic through Traefik at webhook.rezije.app
- Use version-controlled image with MAILGUN_WEBHOOK_VERSION variable

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
Knee Cola
2026-01-07 21:17:08 +01:00
parent ccc690c369
commit f9f33a2b45
2 changed files with 39 additions and 0 deletions

View File

@@ -79,3 +79,21 @@ services:
- traefik.http.routers.mongo-express.entrypoints=http - traefik.http.routers.mongo-express.entrypoints=http
- traefik.http.routers.mongo-express.rule=Host(`mongo.rezije.app`) - traefik.http.routers.mongo-express.rule=Host(`mongo.rezije.app`)
mailgun-webhook:
image: registry.budakova.org/mailgun-webhook-service:${MAILGUN_WEBHOOK_VERSION:-latest}
networks:
- traefik-network
environment:
PORT: 3000
PROMETHEUS_APP_LABEL: mailgun-webhook-service
PROMETHEUS_HISTOGRAM_BUCKETS: 0.1,0.5,1,5,10
DEBUG: server:*,app:*
container_name: evidencija-rezija__mailgun-webhook
restart: unless-stopped
labels:
- traefik.enable=true
- traefik.docker.network=traefik-network
- traefik.http.services.mailgun-webhook.loadbalancer.server.port=3000
- traefik.http.routers.mailgun-webhook.entrypoints=http
- traefik.http.routers.mailgun-webhook.rule=Host(`webhook.rezije.app`)

View File

@@ -79,3 +79,24 @@ services:
- traefik.http.routers.mongo-express.entrypoints=http - traefik.http.routers.mongo-express.entrypoints=http
- traefik.http.routers.mongo-express.rule=Host(`mongo.rezije.app`) - traefik.http.routers.mongo-express.rule=Host(`mongo.rezije.app`)
mailgun-webhook:
image: registry.budakova.org/mailgun-webhook-service:${MAILGUN_WEBHOOK_VERSION:-latest}
networks:
- traefik-network
environment:
PORT: 3000
PROMETHEUS_APP_LABEL: mailgun-webhook-service
PROMETHEUS_HISTOGRAM_BUCKETS: 0.1,0.5,1,5,10
DEBUG: server:*,app:*
deploy:
restart_policy:
condition: any
delay: 5s
max_attempts: 0
labels:
- traefik.enable=true
- traefik.docker.network=traefik-network
- traefik.http.services.mailgun-webhook.loadbalancer.server.port=3000
- traefik.http.routers.mailgun-webhook.entrypoints=http
- traefik.http.routers.mailgun-webhook.rule=Host(`webhook.rezije.app`)