Initial vault setup
This commit is contained in:
@@ -0,0 +1,120 @@
|
||||
---
|
||||
title: Tracearr
|
||||
created: 2026-06-07
|
||||
updated: 2026-06-07
|
||||
type: app
|
||||
tags: [catalogue, media-streaming, tracearr, analytics, monitoring, audit]
|
||||
confidence: high
|
||||
contested: false
|
||||
sources:
|
||||
- https://selfh.st/apps/?tag=Media+Streaming
|
||||
- https://github.com/Tracearr/Tracearr
|
||||
- https://tracearr.dev/
|
||||
---
|
||||
|
||||
# 🎬 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é)
|
||||
|
||||
```yaml
|
||||
# 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 secret` ou `.env` non 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
|
||||
Reference in New Issue
Block a user