À propos du projet

Tracearr est une plateforme de surveillance auto-hébergée pour serveurs multimédias, couvrant Plex, Jellyfin et Emby depuis une interface unique. Elle s'adresse aux administrateurs qui exploitent un ou plusieurs de ces serveurs et souhaitent regrouper la visibilité des flux, les analyses de lecture et la détection de partage de comptes en un seul endroit. Capacités principales décrites dans le README : - Tableau de bord multi-serveurs : connectez Plex, Jellyfin et Emby ensemble ; flux actifs, état des serveurs et graphiques de CPU, mémoire et bande passante par serveur sur une seule page. Plex rapporte les métriques nativement ; Jellyfin et Emby les rapportent via un plugin SSE compagnon, sinon l'interrogation périodique est utilisée. - Suivi des sessions : historique complet de qui a regardé quoi, quand, où et sur quel appareil, avec géolocalisation incluant l'ASN, le continent et le code postal. - Analyses de flux : transcodage versus lecture directe, utilisation de la bande passante, répartition par codec et résolution, scores de compatibilité des appareils. - Identités multi-serveurs : une personne disposant de plusieurs identifiants de serveur peut être fusionnée en une seule identité, avec fusion/scission manuelle et suggestions. Le score de confiance d'une identité est le plus bas de ses comptes actifs. - Catalogue multimédia : un enregistrement par titre mis en correspondance entre serveurs par identifiant IMDb, TMDB ou TVDB, avec des pages pour la vue d'ensemble, la navigation, les genres, la qualité, le stockage et les métriques de visionnage, incluant la détection des doublons et les prévisions de stockage. - Suivi de la TV en direct et de la musique aux côtés des films et séries. - Carte des flux auto-hébergée utilisant MapLibre GL avec un fond de carte PMTiles intégré, donc aucune clé de tuiles tierce ni requête de tuiles sortante n'est requise. - Automatisations : déclencheurs, conditions et actions, avec 22 modèles intégrés tels que le voyage impossible, trop de flux simultanés, la vélocité des appareils et les restrictions géographiques. Les actions peuvent notifier, ajuster la confiance, envoyer des messages aux clients ou arrêter les flux ; les automatisations peuvent être exportées sous forme de codes de partage. - Scores de confiance commençant à 100, abaissés par les violations et ajustables par les automatisations. - Destinations : Discord, webhook JSON générique, ntfy, Gotify, Apprise, Pushover, e-mail SMTP, notification push mobile et toasts dans l'application. - Newsletters : e-mails programmés sur les nouveaux films, séries, albums ajoutés et éventuellement le contenu le plus regardé, avec désabonnement et liens de visualisation dans le navigateur ainsi qu'un historique d'envoi par destinataire. - API REST publique v1 et v2 avec authentification par clé et une référence Scalar interactive à /api-docs. - Actions groupées sur les tableaux et importation de données depuis Tautulli, les sauvegardes Jellystat ou le plugin Playback Reporting de Jellyfin/Emby. Le déploiement est basé sur Docker. Un démarrage rapide utilise un fichier compose avec des secrets JWT et de cookie générés, exposant l'interface web sur le port 3000. Les étiquettes d'image incluent les variantes stable, supervised (application tout-en-un, TimescaleDB et Redis dans un seul conteneur), prerelease et nightly. Proxmox VE LXC et Unraid sont également mentionnés. La pile est React 19, TypeScript, Vite, Tailwind, Fastify, TimescaleDB avec Drizzle ORM, Redis/BullMQ, Socket.io et React Email. Le projet est sous licence AGPL-3.0 et inclut les données GeoLite2 de MaxMind. Un dépôt d'application mobile distinct existe pour iOS et Android.