Files
umami/docker-compose.yml
2026-02-17 01:00:35 -03:00

57 lines
1.5 KiB
YAML

services:
umami:
image: ghcr.io/umami-software/umami:postgresql-latest
container_name: umami
restart: unless-stopped
environment:
DATABASE_URL: postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB}
APP_SECRET: ${APP_SECRET}
depends_on:
db:
condition: service_healthy
healthcheck:
test:
['CMD-SHELL', 'curl -f http://localhost:3000/api/heartbeat || exit 1']
interval: 10s
timeout: 5s
retries: 3
networks:
- marina-net
- umami-backend
labels:
- traefik.enable=true
- traefik.docker.network=marina-net
- traefik.http.routers.umami.rule=Host(`analytics.mifi.holdings`)
- traefik.http.routers.umami.entrypoints=websecure
- traefik.http.routers.umami.tls=true
- traefik.http.routers.umami.tls.certresolver=letsencrypt
- traefik.http.services.umami.loadbalancer.server.port=3000
db:
image: postgres:16-alpine
container_name: umami-db
restart: unless-stopped
environment:
POSTGRES_DB: ${POSTGRES_DB}
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
volumes:
- umami-db-data:/var/lib/postgresql/data
networks:
- umami-backend
healthcheck:
test: ['CMD-SHELL', 'pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}']
interval: 5s
timeout: 5s
retries: 5
networks:
marina-net:
external: true
umami-backend:
driver: bridge
volumes:
umami-db-data:
external: true