Umami is a privacy-first, self-hosted web analytics solution. It tracks website visits, pages and referrers without collecting personal data or using cookies. The dashboard is clean and customizable, giving you essential insights without the bloat. It’s GDPR-compliant by design and lightweight enough to run on small servers. Great for developers and businesses who care about data privacy.
Setup docker-compose.yaml version: '3.7' networks: docker_net: external: true volumes: umami-db-data: services: umami: image: ghcr.io/umami-software/umami:postgresql-latest container_name: umami restart: unless-stopped ports: - 3005:3000 environment: DATABASE_URL: postgresql://umami:$UMAMI_DB_PASSWORD@umami_db:5432/umami DATABASE_TYPE: postgresql APP_SECRET: $UMAMI_APP_SECRET depends_on: umami_db: condition: service_healthy healthcheck: test: ["CMD-SHELL", "curl http://localhost:3000/api/heartbeat"] interval: 5s timeout: 5s retries: 5 networks: - docker_net umami_db: image: postgres:15-alpine container_name: umami_db restart: unless-stopped environment: POSTGRES_DB: umami POSTGRES_USER: umami POSTGRES_PASSWORD: $UMAMI_DB_PASSWORD volumes: - umami-db-data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"] interval: 5s timeout: 5s retries: 5 networks: - docker_net Sources website GitHub