6.8 KiB
title: Umami created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, web-analytics, privacy, self-hosted, analytics, nodejs, nextjs, postgresql, mysql] confidence: high contested: false sources: [https://selfh.st/apps/?tag=web-analytics]
📈 Umami
Solution d'analyse web privacy-first auto-hébergeable, alternative moderne à Google Analytics, sans cookies et conforme RGPD nativement. Source : selfh.st
📋 Métadonnées
| Métadonnée | Valeur |
|---|---|
| Site web | umami.is |
| GitHub | github.com/umami-software/umami |
| License | MIT |
| Langage | Node.js / Next.js (TypeScript) |
| Étoiles | 7 250 |
| Dernière MAJ | 2026-05 |
| Catégorie | cat-web-analytics |
📝 Description
Umami est une application d'analyse web open source conçue dès l'origine pour respecter la vie privée des visiteurs. Contrairement à Google Analytics, elle n'utilise aucun cookie, ne collecte aucune donnée personnelle identifiable (PII) et anonymise les adresses IP. L'outil fournit néanmoins des métriques essentielles : visiteurs uniques, pages vues, taux de rebond, durée des sessions, sources de trafic, appareils, pays et pages les plus consultées.
L'interface est sobre, rapide et lisible, construite avec Next.js et un design moderne. Umami supporte le suivi multi-sites depuis un seul tableau de bord, propose des événements personnalisés, des objectifs de conversion, le suivi de campagnes UTM, ainsi qu'un système de partage de dashboards en lecture seule. Les rapports peuvent être filtrés par période, pays, navigateur, système, appareil ou page.
Umami dispose également d'une offre cloud officielle (cloud.umami.is) et d'une image Docker officielle maintenue par l'équipe. C'est l'un des projets les plus populaires de l'écosystème self-hosted : la version 2 a apporté un système de teams multi-utilisateurs, des rôles et permissions granulaires, ainsi qu'une API REST complète. Pour les sites à fort trafic, Umami est capable de tenir des millions de pageviews par mois sur une instance modeste (1 vCPU, 1 Go RAM suffit pour démarrer).
🚀 Installation
Option 1 : Docker Compose (recommandé)
# docker-compose.yml
version: '3.8'
services:
umami:
image: ghcr.io/umami-software/umami:postgresql-v2
container_name: umami
restart: unless-stopped
ports:
- "3000:3000"
environment:
DATABASE_URL: postgresql://umami:umami@db:5432/umami
DATABASE_TYPE: postgresql
APP_SECRET: changez-cette-valeur-aleatoire-32-chars
depends_on:
db:
condition: service_healthy
networks:
- umami-net
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3000/api/heartbeat"]
interval: 30s
timeout: 5s
retries: 3
db:
image: postgres:16-alpine
container_name: umami-db
restart: unless-stopped
environment:
POSTGRES_DB: umami
POSTGRES_USER: umami
POSTGRES_PASSWORD: umami
volumes:
- ./postgres-data:/var/lib/postgresql/data
networks:
- umami-net
healthcheck:
test: ["CMD-SHELL", "pg_isready -U umami"]
interval: 10s
timeout: 5s
retries: 5
networks:
umami-net:
driver: bridge
Lancement :
docker compose up -d
# Connexion par défaut : admin / umami
# Changer le mot de passe immédiatement depuis l'UI
Option 2 : Installation manuelle (Node.js)
git clone https://github.com/umami-software/umami.git
cd umami
pnpm install
# Configurer la base dans .env (DATABASE_URL, APP_SECRET)
pnpm build
pnpm start
Umami requiert Node.js 18+, pnpm, et une base PostgreSQL 12+ ou MySQL 8+. L'application écoute par défaut sur le port 3000.
⚙️ Configuration
- APP_SECRET : clé aléatoire de 32 caractères minimum, obligatoire en production.
- DATABASE_URL : chaîne de connexion PostgreSQL ou MySQL.
- TRACKER_SCRIPT_NAME : nom du script de tracking (par défaut
script.js). - COLLECT_API_ENDPOINT : endpoint de collecte, par défaut
/api/send. - DISABLE_BOT_CHECK : à activer si vous souhaitez désactiver la détection des bots.
- MULTI_TENANT : active le mode multi-sites (utile pour les hébergeurs).
- Thème : clair/sombre via le menu utilisateur.
- Internationalisation : interface traduite en FR, EN, ES, DE, JA, ZH, etc.
Pour tracker un site, ajoutez simplement le snippet suivant dans le <head> :
<script async defer data-website-id="votre-website-id"
src="https://umami.votredomaine.fr/script.js"></script>
🔄 Alternatives
Open source :
- app-plausible — autre référence privacy-first, plus simple
- app-matomo — analytics open source très complet (PHP, on-prem ou cloud)
- app-ackee — minimaliste, base MongoDB
- app-goatcounter — ultra-léger, single binary Go
- app-open-web-analytics — fork PHP, plus traditionnel
- app-rybbit — concurrent moderne TypeScript
- app-litlyx — alternative simple avec dashboard
- app-swetrix — fork open source de Plausible, complet
- app-vince — analytics Go minimaliste
Propriétaire (SaaS) :
- Google Analytics 4 — leader du marché, problèmes RGPD
- Plausible Cloud — version hébergée officielle
- Fathom Analytics — payant, simple et RGPD
- Simple Analytics — payant, design soigné
- Matomo Cloud — version hébergée officielle
- Pirsch — allemand, RGPD-friendly
🔒 Sécurité
- Pas de cookies, pas de fingerprinting, conforme RGPD nativement (pas de bandeau requis dans la plupart des juridictions).
- Changer le mot de passe
adminpar défaut avant d'exposer l'instance. - Mettre un reverse proxy HTTPS (Traefik, Caddy, Nginx) devant l'application.
- Restreindre l'accès à l'interface admin via Authelia/Authentik ou un VPN si nécessaire.
- APP_SECRET doit être unique par déploiement — ne jamais réutiliser une valeur.
- Sauvegarder régulièrement la base PostgreSQL (volumes Docker,
pg_dump). - Mettre à jour régulièrement (release notes suivies sur GitHub).
- Limiter l'exposition du port 3000 au réseau interne ; ne pas publier la base PostgreSQL.
📚 Ressources
- Documentation officielle
- GitHub umami-software/umami
- Demo live
- Docker Hub — ghcr.io/umami-software
- Awesome Umami