Umami
Umami is a simple, fast, privacy-focused web analytics tool that serves as a self-hosted alternative to Google Analytics. It collects only the metrics you care about and respects visitor privacy — no cookies, no tracking across sites, and full GDPR compliance by design. This stack deploys the Umami analytics server backed by PostgreSQL 16 for reliable data storage. Umami provides real-time dashboards showing pageviews, visitors, bounce rate, session duration, referrers, browser/OS/device breakdowns, and custom events. It supports multiple websites, team access with role-based permissions, API access for programmatic data retrieval, and custom event tracking for user interactions. The tracking script is lightweight (~2KB) and doesn't slow down your website. After deployment, access the web UI on port 3000 and log in with admin/umami. Change the password immediately, then add your first website to get the tracking code.
Services Inclus
umami
ghcr.io/umami-software/umami:postgresql-latest
Variables d'Environnement :
postgres
postgres:16-alpine
Variables d'Environnement :
YAML Généré
# Generated by ComposeHub (composehub.dev)
name: umami
services:
umami:
image: ghcr.io/umami-software/umami:postgresql-latest
restart: always
ports:
- 3000:3000
environment:
DATABASE_URL: postgresql://${POSTGRES_USER:-umami}:${POSTGRES_PASSWORD:-changeme}@postgres:5432/${POSTGRES_DB:-umami}
DATABASE_TYPE: postgresql
APP_SECRET: ${APP_SECRET:-changeme-generate-a-random-string}
DISABLE_TELEMETRY: ${DISABLE_TELEMETRY:-1}
TRACKER_SCRIPT_NAME: ${TRACKER_SCRIPT_NAME:-script.js}
networks:
- umami
depends_on:
postgres:
condition: service_healthy
healthcheck:
test:
- CMD-SHELL
- curl -f http://localhost:3000/api/heartbeat || exit 1
interval: 30s
timeout: 10s
retries: 5
start_period: 30s
deploy:
resources:
limits:
cpus: "1.00"
memory: 512M
reservations:
cpus: "0.25"
memory: 128M
labels:
com.composehub.description: Umami privacy-focused web analytics server
postgres:
image: postgres:16-alpine
restart: always
volumes:
- umami_db:/var/lib/postgresql/data
environment:
POSTGRES_DB: ${POSTGRES_DB:-umami}
POSTGRES_USER: ${POSTGRES_USER:-umami}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-changeme}
networks:
- umami
healthcheck:
test:
- CMD-SHELL
- pg_isready -U ${POSTGRES_USER:-umami} -d ${POSTGRES_DB:-umami}
interval: 5s
timeout: 5s
retries: 10
start_period: 30s
deploy:
resources:
limits:
cpus: "1.00"
memory: 512M
reservations:
cpus: "0.25"
memory: 128M
labels:
com.composehub.description: PostgreSQL 16 database for Umami analytics
networks:
umami:
driver: bridge
volumes:
umami_db:
driver: local
Informations Rapides
- Services
- 2
- Réseaux
- 1
- Volumes
- 1
Quand l'Utiliser
Ce modèle est idéal pour mettre en place un environnement umami Tous les services sont préconfigurés avec des healthchecks, des limites de ressources et des valeurs par défaut raisonnables. Personnalisez les variables d'environnement avant de déployer en production.
Conseils
- Changez tous les mots de passe par défaut avant le déploiement
- Vérifiez les limites de ressources pour votre matériel
- Ajoutez un reverse proxy pour le HTTPS en production
- Configurez des stratégies de sauvegarde pour les volumes de données