5.0 KiB
title, created, updated, type, tags, confidence, contested, sources
| title | created | updated | type | tags | confidence | contested | sources | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Tracearr | 2026-06-07 | 2026-06-07 | app |
|
high | false |
|
🎬 Tracearr
Tracker d'accès pour serveurs de streaming : logue qui a regardé quoi, où, quand et depuis quel appareil, pour Plex, Jellyfin, Emby et plus.
📋 Informations Générales
| Attribut | Valeur |
|---|---|
| Nom | Tracearr |
| Slug | app-tracearr |
| Description | Agrégateur de logs d'accès multi-serveurs média, avec dashboard, alertes Telegram/Discord et analytics utilisateur |
| Site officiel | https://tracearr.dev/ |
| Repository | https://github.com/Tracearr/Tracearr |
| Stars | 1 980 ⭐ |
| Licence | AGPL-3.0 |
| Langage principal | TypeScript |
| Catégorie | Media Streaming |
| Tags | [catalogue, media-streaming, tracearr, analytics, monitoring, audit] |
📝 Description
Tracearr répond à un besoin très concret pour les admins Plex/Jellyfin/Emby : savoir exactement qui consomme quelle ressource, depuis quel appareil, avec quel débit, et détecter les abus (comptes partagés au-delà du nombre autorisé, accès depuis des pays inattendus, transcodages excessifs, etc.). Le projet est né d'un fork/spirit de Tautulli (Python, mono-source) mais en plus moderne, plus rapide, et multi-sources.
Tracearr se branche via webhooks sur Plex, Jellyfin, Emby, et même des sources custom (API Sonarr/Radarr). Il stocke les événements dans une base (Postgres ou SQLite), puis expose un dashboard web avec : top utilisateurs, top médias, sessions actives, géolocalisation IP, stats transcodage, et graphiques d'usage dans le temps. Les alertes (Telegram, Discord, Webhook, Gotify) sont paramétrables par règle.
L'API REST permet d'exporter les données vers Grafana ou d'autres outils. Limites : la reconnaissance device reste basique (user-agent parsing), pas d'authentification native pour le dashboard (à coupler avec un SSO), et le projet est jeune (breaking changes possibles entre versions).
🚀 Installation
Via Docker (recommandé)
# docker-compose.yml
version: "3.8"
services:
tracearr:
image: ghcr.io/tracearr/tracearr:latest
container_name: tracearr
restart: unless-stopped
ports:
- "4000:4000" # Web UI + API
environment:
DATABASE_URL: postgres://tracearr:ChangeM3_TT@db:5432/tracearr
JWT_SECRET: ChangeM3_JWT_LONG_SECRET
TZ: Europe/Paris
volumes:
- ./config:/app/config
depends_on:
- db
db:
image: postgres:16-alpine
container_name: tracearr-db
restart: unless-stopped
environment:
POSTGRES_USER: tracearr
POSTGRES_PASSWORD: ChangeM3_TT
POSTGRES_DB: tracearr
volumes:
- ./db:/var/lib/postgresql/data
Installation manuelle
Node 20+, Postgres 15+. Cloner, pnpm install, pnpm build, lancer node dist/server.js. Le projet est aussi distribuable en binaire standalone via pkg.
⚙️ Configuration
- Sources : ajouter Plex (token X-Plex-Token + URL), Jellyfin (API key), Emby (API key). Pointer sur les webhooks émis par chaque serveur.
- Webhooks Plex : dans Plex > Settings > Webhooks, ajouter
http://tracearr:4000/webhook/plex. - Webhooks Jellyfin : Administration > Plugins > Webhook, ajouter URL
http://tracearr:4000/webhook/jellyfin. - Géolocalisation : clé API MaxMind GeoLite2 gratuite (téléchargeable sur le site MaxMind).
- Alertes : règles par utilisateur (max sessions, pays autorisés), webhook Telegram/Discord/Gotify.
- Authentification : aucun système natif : à protéger par reverse proxy authentifié.
🔗 Alternatives
- Tautulli — Le pionnier, Python, mature, mono-source (Plex uniquement).
- Jellystat — Équivalent moderne dédié Jellyfin, tableau de bord similaire.
- Wizarr / Manage Users — Gestion des invitations et des utilisateurs, pas le tracking.
- Statuzer — Plus modeste, en cours de développement, Python.
🔒 Sécurité
- Le dashboard ne supporte pas l'auth en natif → obligatoire de placer Tracearr derrière app-traefik + Authelia/Authentik.
- Limiter l'accès par IP au port 4000 si exposition directe.
- Changer le
JWT_SECRET(sinon les tokens sessions sont prévisibles). - Stocker les clés API Plex/Jellyfin dans des secrets Docker (
docker secretou.envnon versionné).
📚 Ressources
- Site officiel : https://tracearr.dev/
- Repository : https://github.com/Tracearr/Tracearr
- Documentation : https://docs.tracearr.dev/
- Discord communautaire : https://discord.gg/tracearr
🔗 Pages Liées
- cat-media-streaming (catégorie parente)
- app-jellyfin — Source principale typique
- app-plex — Source alternative
- app-watchstate — Complément (sync watch state)
- app-traefik — Reverse proxy + auth
- recettes-docker-compose — Templates
- securisation-home-lab — Bonnes pratiques