services: umami: image: ghcr.io/umami-software/umami:postgresql-latest container_name: umami restart: unless-stopped expose: - "3000" environment: DATABASE_URL: postgresql://umami:RIlRhuId1LQ@umami-db:5432/umami DATABASE_TYPE: postgresql APP_SECRET: AJ7fS8QataxJvcGN0IA8NuF2zn3htQwxMoG33OFuU50= depends_on: umami-db: condition: service_healthy networks: - umami-net # interne Verbindung App <-> DB - soccer-net # damit Caddy den Container erreicht (oder ein eigenes analytics-net) healthcheck: test: ["CMD-SHELL", "wget -qO- http://localhost:3000/api/heartbeat || exit 1"] interval: 30s timeout: 10s retries: 5 start_period: 40s umami-db: image: postgres:16-alpine container_name: umami-db restart: unless-stopped environment: POSTGRES_DB: umami POSTGRES_USER: umami POSTGRES_PASSWORD: RIlRhuId1LQ volumes: - umami-db-data:/var/lib/postgresql/data networks: - umami-net healthcheck: test: ["CMD-SHELL", "pg_isready -U umami -d umami"] interval: 10s timeout: 5s retries: 5 volumes: umami-db-data: networks: umami-net: name: umami-net soccer-net: external: true