Refactor docker-compose: remove Umami and umami-db services, and add global timeouts for Traefik

This commit is contained in:
Mohmmed Elfateh Sabry
2025-08-11 04:47:59 +03:00
parent 214aed51d3
commit febbfba4af

View File

@@ -13,7 +13,6 @@ volumes:
traefik_letsencrypt: traefik_letsencrypt:
traefik_logs: traefik_logs:
portainer_data: portainer_data:
umami_db_data:
prometheus_data: prometheus_data:
grafana_data: grafana_data:
uptime_kuma_data: uptime_kuma_data:
@@ -64,6 +63,11 @@ services:
- --metrics.prometheus=true - --metrics.prometheus=true
- --metrics.prometheus.addrouterslabels=true - --metrics.prometheus.addrouterslabels=true
# Global timeouts for slow backends
- --serversTransport.forwardingTimeouts.dialTimeout=30s
- --serversTransport.forwardingTimeouts.responseHeaderTimeout=60s
- --serversTransport.forwardingTimeouts.idleConnTimeout=180s
# Logs # Logs
- --accesslog.filepath=/var/log/traefik/access.log - --accesslog.filepath=/var/log/traefik/access.log
- --accesslog.bufferingsize=100 - --accesslog.bufferingsize=100
@@ -110,45 +114,6 @@ services:
- traefik.http.routers.portainer.middlewares=security-headers - traefik.http.routers.portainer.middlewares=security-headers
- traefik.http.services.portainer.loadbalancer.server.port=9000 - traefik.http.services.portainer.loadbalancer.server.port=9000
## ─────────────────────────────────────────────
## Umami + PostgreSQL — privacy analytics
## ─────────────────────────────────────────────
umami:
image: umamisoftware/umami:postgresql-latest
container_name: umami
restart: unless-stopped
depends_on:
- umami-db
environment:
DATABASE_URL: postgresql://umami:${UMAMI_DB_PASS}@umami-db:5432/umami
APP_SECRET: ${UMAMI_APP_SECRET}
TRACKER_SCRIPT_NAME: umami
HOSTNAME: "0.0.0.0"
PORT: "3000"
TZ: "${TZ}"
networks: [traefik_proxy, internal]
labels:
- traefik.enable=true
- traefik.http.routers.umami.rule=Host(`umami.gate.${DOMAIN}`)
- traefik.http.routers.umami.entrypoints=websecure
- traefik.http.routers.umami.tls.certresolver=le
- traefik.http.routers.umami.middlewares=security-headers
- traefik.http.services.umami.loadbalancer.server.port=3000
umami-db:
image: postgres:16-alpine
container_name: umami-db
restart: unless-stopped
environment:
POSTGRES_DB: umami
POSTGRES_USER: umami
POSTGRES_PASSWORD: ${UMAMI_DB_PASS}
TZ: "${TZ}"
networks: [internal]
volumes:
- umami_db_data:/var/lib/postgresql/data
## ───────────────────────────────────────────── ## ─────────────────────────────────────────────
## Uptime Kuma — status page / checks ## Uptime Kuma — status page / checks
## ───────────────────────────────────────────── ## ─────────────────────────────────────────────