Initial vault setup
This commit is contained in:
@@ -0,0 +1,176 @@
|
||||
---
|
||||
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](https://selfh.st/apps/?tag=web-analytics)
|
||||
|
||||
## 📋 Métadonnées
|
||||
|
||||
| Métadonnée | Valeur |
|
||||
| :--- | :--- |
|
||||
| **Site web** | [umami.is](https://umami.is/) |
|
||||
| **GitHub** | [github.com/umami-software/umami](https://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é)
|
||||
|
||||
```yaml
|
||||
# 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 :
|
||||
|
||||
```bash
|
||||
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)
|
||||
|
||||
```bash
|
||||
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>` :
|
||||
|
||||
```html
|
||||
<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 `admin` par 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](https://umami.is/docs)
|
||||
- [GitHub umami-software/umami](https://github.com/umami-software/umami)
|
||||
- [Demo live](https://app.umami.is/share/8rmKa0zZ/umami.is)
|
||||
- [Docker Hub — ghcr.io/umami-software](https://github.com/orgs/umami-software/packages)
|
||||
- [Awesome Umami](https://github.com/umami-software/awesome-umami)
|
||||
|
||||
## 🔗 Pages Liées
|
||||
|
||||
- [[cat-web-analytics]]
|
||||
- [[recettes-docker-compose]]
|
||||
- [[app-plausible]]
|
||||
- [[app-matomo]]
|
||||
- [[app-ackee]]
|
||||
- [[app-goatcounter]]
|
||||
Reference in New Issue
Block a user