Administration TRaSH¶
Le panneau d'administration TRaSH (/admin/quality/) permet de gérer le système de scoring en temps réel : synchronisation, monitoring, création de templates, test des Custom Formats, et maintenance.
Dashboard¶
Accès : /admin/quality/dashboard.html
Le dashboard présente une vue d'ensemble du système TRaSH en 4 cartes de statistiques :
| Stat | Description |
|---|---|
| CFs Radarr | Nombre de CFs disponibles pour les films (source = radarr ou both) |
| CFs Sonarr | Nombre de CFs disponibles pour les séries (source = sonarr ou both) |
| CFs créés par admin | CFs personnalisés créés manuellement (source = user) |
| Templates actifs | Nombre total de templates en base (système + utilisateur) |
Cartes de statut¶
- Scoring : indique si
TRASH_SCORING_ENABLEDest actif et quel template est défini par défaut - Sync auto : indique si
TRASH_SYNC_ENABLEDest actif et affiche le cron configuré - Dernier sync : date de la dernière synchronisation réussie + version du miroir
Hot-reload
Le statut Scoring est modifiable à chaud depuis l'admin (Paramètres → TRaSH → Scoring activé). Aucun redémarrage n'est nécessaire.
Synchronisation¶
Accès : /admin/quality/sync.html
Lancer une sync manuelle¶
Cliquez sur Lancer la sync pour déclencher immédiatement une synchronisation avec le dépôt miroir. La sync s'exécute en arrière-plan via Taskiq.
Phases d'exécution :
git_clone— clone du miroir (depth=1)upsert_cf— import des CFs radarr + sonarr, merge partrash_idcache_redis— écriture des cléscf:data:*,cf:slug_index,cf:metadataupsert_templates— import des templates système, résolution des slugsinvalidate_caches— suppression des anciens cachestmpl:data:*
Monitoring temps réel¶
La page affiche un flux de logs en direct pendant la sync :
- Vert = succès
- Orange = warning (slug non résolu, JSON invalide…)
- Rouge = erreur
Historique des syncs¶
Un tableau des 7 dernières exécutions affiche :
| Colonne | Description |
|---|---|
| Date | Horodatage de fin |
| Statut | ok / error / skipped |
| Durée | Temps d'exécution en ms |
Gestion des verrous¶
| Action | Description |
|---|---|
| Verrou actif | Badge jaune indiquant qu'une sync est en cours (TTL 30 min) |
| Libérer le verrou | Force la suppression de la clé Redis trash_sync:lock si une tâche précédente est bloquée |
Libération manuelle
Ne libérez le verrou que si vous êtes certain qu'aucune sync n'est réellement en cours. Une double sync simultanée peut corrompre les données en base.
Purge¶
| Bouton | Cible | Impact |
|---|---|---|
| Purger la DB | Supprime tous les CFs et templates système de PostgreSQL | Les CFs/utilisateurs et templates clonés sont préservés |
| Purger Redis | Supprime cf:data:*, tmpl:data:*, cf:slug_index, cf:metadata |
Le scoring rechargera depuis PostgreSQL au prochain hit |
Purge irréversible
La purge DB nécessite une re-sync pour récupérer les CFs système. Assurez-vous que le miroir est accessible avant de purger.
Templates¶
Accès : /admin/quality/templates.html
Liste des templates¶
Chaque ligne affiche :
- Nom + Slug
- Source :
système(importé du miroir) ouutilisateur(créé/cloné manuellement) - Défaut : étoile jaune si c'est le template par défaut
- Scores : nombre de CFs configurés dans le template
- Actions : Éditer / Cloner / Exporter / Définir par défaut / Supprimer
Actions disponibles¶
| Action | Système | Utilisateur | Description |
|---|---|---|---|
| Éditer | ✅ Vue seule | ✅ Édition JSON | Modifie le JSON du template |
| Cloner | ✅ | ✅ | Crée une copie source = user |
| Exporter | ✅ | ✅ | Télécharge le fichier .json |
| Définir défaut | ✅ | ✅ | Template pré-sélectionné pour les nouveaux users |
| Supprimer | ❌ | ✅ | Supprime définitivement |
Créer un template¶
- Cliquez Nouveau template
- Remplissez
slug,name,description - Éditez le JSON
config(voir Templates de scoring) - Sauvegardez
Custom Formats¶
Accès : /admin/quality/formats.html
Liste des CFs¶
Les CFs sont présentés par catégorie avec :
- Nom + trash_id
- Source :
radarr/sonarr/both/user - Specs : nombre de règles de détection
- Statut : toggle actif/inactif
Activer / Désactiver un CF¶
Cliquez sur le toggle à droite de chaque CF pour l'activer ou le désactiver. Les CFs désactivés ne participent plus au scoring.
Désactivation persistante
La désactivation d'un CF système est conservée même après une re-sync. Seul le contenu JSON est écrasé par la sync, pas le statut actif/inactif.
Créer un CF personnalisé¶
- Cliquez Nouveau CF
- Remplissez
name,category - Ajoutez des specifications au format JSON
- Sauvegardez
Le CF est immédiatement utilisable dans vos templates personnalisés. Il est marqué source = user et ne sera jamais touché par la sync.
Testeur de Custom Formats¶
Accès : /admin/quality/tester.html
Le testeur est l'outil le plus utile pour comprendre et déboguer le scoring. Il simule l'évaluation d'un titre de torrent contre les CFs de votre choix.
Comment utiliser le testeur¶
- Collez un titre dans le champ "Titre du torrent"
- Sélectionnez les CFs à tester (barre de recherche + cases à cocher)
- Cliquez sur Évaluer
Résultats affichés¶
| Section | Contenu |
|---|---|
| Métadonnées parsées | Résolution, source, codec, audio, groupe, HDR, langues… extraits par RTN |
| Score total | Grande valeur affichée en haut à droite |
| Détail par CF | Liste des CFs testés avec ✅ (match) ou ❌ (no match) |
| Breakdown | Tableau des CFs matchés avec leur poids individuel |
Astuce de débogage
Si un CF ne matche pas alors que vous pensez qu'il devrait :
- Vérifiez les métadonnées parsées — RTN a-t-il bien extrait la résolution / la source ?
- Vérifiez que la spec utilise le bon
implementation(ex:ReleaseTitleSpecificationpour une regex sur le titre brut) - Testez vos regex sur le titre brut avec un outil externe (regex101.com)
Paramètres TRaSH¶
Accès : /admin/settings.html (section TRaSH)
| Paramètre | Type | Description |
|---|---|---|
TRASH_SCORING_ENABLED |
bool |
Master switch du scoring (hot-reloadable) |
TRASH_SYNC_ENABLED |
bool |
Active la sync planifiée |
TRASH_SYNC_CRON |
str |
Expression cron de la sync |
TRASH_MIRROR_REPO_URL |
str |
URL du dépôt miroir Git |
TRASH_MIRROR_BRANCH |
str |
Branche à cloner |
TRASH_DEFAULT_TEMPLATE_SLUG |
str |
Template par défaut si aucun n'est marqué en DB |
Priorité des paramètres
Les valeurs modifiées dans l'admin écrasent les variables d'environnement. Si vous voulez revenir aux valeurs par défaut du .env, utilisez le bouton Réinitialiser dans l'admin.