Comment il décide

L'argument complet, en une page.

Ce que vos Arrs savent déjà et ce qu'ils n'en font pas, les quatre étapes, comment une décision s'explique, comment une destination se déclare, la fiche technique, et les objections qui méritent d'être posées avant d'installer quoi que ce soit.

Le manque

Vos Arrs savent. Ils ne décident pas.

Chaque film qu'ils récupèrent porte déjà ses genres, sa langue d'origine et sa certification. Rien ne lit tout cela pour choisir un dossier racine, et la bibliothèque entière atterrit dans le même.

Routarr est cette couche de décision manquante : un seul endroit où vit la logique, en utilisant les dossiers que vos Arr possèdent déjà, et, sur un webhook, en décidant avant même que le téléchargement n'arrive, quand le dossier est encore vide et que rien n'a besoin de bouger.

Quatre étapes, trois suffisent.

Rien n'est écrit tant qu'une action explicite ne le demande, et l'essai à blanc global bloque les écritures côté serveur, quoi que fasse l'interface.

  1. 01

    Synchroniser

    Lit les films, les séries, les étiquettes et les dossiers racines de chaque Radarr et Sonarr connecté. Une réponse vide n'est jamais prise pour une suppression massive.

    Lit Radarr, Sonarr Écrit rien

  2. 02

    Enrichir

    Genres, langue et certification arrivent gratuitement avec la synchronisation. Ajoutez TMDB pour les mots-clés et le pays : un appel par titre, mis en cache, dédoublonné, à concurrence bornée.

    Lit TMDB, AniList, OMDb… Écrit son propre cache

  3. 03

    Décider

    Les règles s'exécutent par priorité croissante. La première qui correspond l'emporte. Les exclusions opposent leur veto à une règle qui aurait sinon correspondu. Ce qui ne correspond à rien retombe sur votre catégorie par défaut.

    Lit vos règles Écrit un plan que vous pouvez lire

  4. 04

    Appliquer

    Chaque déplacement est écrit via l'API des Arrs, titre par titre, et Routarr suit l'Arr jusqu'à la fin du déplacement. Tout déplacement appliqué peut être annulé.

    Lit le plan que vous avez approuvé Écrit votre bibliothèque

une seule étape écrit dans votre bibliothèqueet l'essai à blanc global bloque celle-là au niveau du serveur

Explicabilité

Chaque décision montre son calcul.

Une classification que vous ne pouvez pas auditer est une classification à laquelle vous ne pouvez pas vous fier. Routarr consigne, condition par condition, ce qui était attendu et ce qui a été observé, pour la règle gagnante comme pour chaque règle qui n'a pas gagné.

Akira (1988) · toutes les règles qui l'ont examiné

#10

Anime japonais

a gagné

satisfaite: original_languageattendu ja
observé ja

satisfaite: genre_containsattendu Animation
observé Animation, Science Fiction

satisfaite: certification_inattendu hors G, U, TV-Y
observé 15

acheminé vers anime, confiance 70 %
#20

Films de concert

ne correspond pas

non satisfaite: genre_containsattendu Music
observé Animation, Science Fiction

non satisfaite: keyword_containsattendu concert, live performance, tour
observé anime, cyberpunk

il faut les deux, aucune n'est remplie
#30

Famille & enfants

ne correspond pas

non satisfaite: genre_containsattendu Family
observé Animation, Science Fiction

non satisfaite: certification_inattendu G, U, TV-Y, TV-G
observé 15

une seule suffit, aucune n'est remplie

Le moteur lui-même n'écrit jamais de prose : il émet des clés et des paramètres, et le texte est rendu dans votre langue au moment de l'affichage. Les justifications sont traduites dans les 26 langues, et non figées en anglais à l'instant où elles ont été calculées.

Dossiers racines

Vos dossiers, vos noms, rien d'inventé.

Routarr ne crée jamais d'arborescence. Il lit les dossiers racines que Radarr et Sonarr déclarent, et là où vous voulez une destination qu'ils ne listent pas, vous la saisissez ici et elle est marquée comme telle. Dans les deux cas vous l'attachez à une catégorie que vous avez nommée, et un dossier déclaré tient son espace libre et son accessibilité du dossier synchronisé sous lequel il se trouve.

CheminInstanceOrigineEspace libreCatégorie
/moviesRadarrsynchronisé2,4 Tostandard
/movies/animeRadarrdéclaré2,4 Toanime
/movies/kidsRadarrdéclaré2,4 Tokids
/movies/concertsRadarrdéclaré2,4 Toconcerts
/tvSonarrsynchronisé6,1 Tostandard
/tv/animeSonarrsynchronisé6,1 Toanime
/mnt/archiveSonarrsynchroniséinjoignablesans catégorie

sept destinations sur deux instancestrois déclarées ici, quatre lues chez les Arrs

L'espace libre et l'accessibilité viennent directement de l'Arr. Deux dossiers revendiquant la même catégorie sur une instance sont refusés plutôt que départagés en silence, et une catégorie qu'aucun dossier ne fournit est signalée avant de pouvoir écarter discrètement vos médias.

Fonctions

Webhooks, sauvegardes, 26 langues.

Un tableau de bord unique sur toutes les instances connectées : ce qui est suivi, ce qui est enrichi, ce qui vous attend.

Instances

n'importe quel nombre, Linux ou WindowsMulti-instances

Autant d'instances Radarr et Sonarr que vous voulez, chacune avec son intervalle de synchronisation, ses dossiers et ses correspondances.

Entrée

une URL secrète par instanceWebhooks en temps réel

Une URL secrète par instance. Les nouveaux ajouts sont synchronisés, enrichis et évalués immédiatement, sans attendre le prochain relevé.

Exceptions

prime sur toutes les règlesExceptions et retour en arrière

Forcez la catégorie d'un titre et le moteur cesse de discuter. Une exception l'emporte sur toutes les règles, et tout déplacement appliqué peut être annulé depuis l'historique.

Observabilité

/api/v1/metrics, même clé APIMétriques Prometheus

Taille de la bibliothèque, décisions par catégorie et par état, santé des instances, état des garde-fous, derrière la même clé d'API.

Notifications

cinq formats, un message de testNotifications sortantes

Un webhook, écrit comme le lisent Discord, ntfy, Gotify ou Apprise, ou en JSON pour tout le reste, et un message de test pour le vérifier. Un Arr qui ne répond plus est signalé une fois, puis à son retour, pas à chaque nouvel essai. Les synchronisations échouées et les exécutions terminées peuvent s'y ajouter.

Portabilité

AES-256-GCM au reposConfiguration portable, clés scellées

Règles, catégories, correspondances et exceptions s'exportent en JSON et voyagent d'une installation à l'autre. Les clés d'API des Arrs sont chiffrées en AES-256-GCM et ne sortent jamais.

Questions

Avant de l'installer.

La plupart des réponses ci-dessous sont non, et c'est la chose la plus utile que cette section ait à dire.

L'inquiétude La réponse Ce qui le garantit

Est-ce qu'il déplace mes fichiers ?

seulement si vous le demandez deux fois

L'essai à blanc global, actif par défaut

En détail

L'essai à blanc global est actif dès le premier lancement, l'option de déplacer les fichiers sur le disque est décochée par défaut, et appliquer au-delà d'un seuil exige une confirmation explicite. Sans l'option de déplacement, Routarr se contente de réorienter l'entrée de la bibliothèque et laisse les fichiers où ils sont.

Va-t-il renommer mes dossiers ?

non

Le dossier racine, pas le nom

En détail

Un déplacement change le dossier racine au-dessus de votre titre et conserve le nom du dossier exactement tel qu'il est : une bibliothèque Plex ou Jellyfin qui pointe dessus continue de fonctionner.

Ai-je besoin d'une clé TMDB ?

non

Les Arrs sont une source à part entière

En détail

Radarr et Sonarr sont une source de métadonnées à part entière. Ils fournissent déjà les genres, la langue originale et la certification, et Routarr les lit dans la réponse même qui synchronise la bibliothèque. Pour les mots-clés et le pays d'origine des anime, AniList ne demande aucune clé non plus. TMDB, OMDb et TheTVDB sont là si vous les voulez. Les sources forment une liste ordonnée : c'est vous qui décidez laquelle l'emporte en cas de désaccord.

Remplace-t-il Radarr ou Sonarr ?

non

Deux champs, via leur propre API

En détail

Il s'y refuse délibérément. Routarr ne gère jamais les téléchargements, les indexeurs ni la bibliothèque elle-même. Il écrit exactement deux choses via l'API des Arrs, le dossier racine et le chemin, et l'Arr déplace lui-même les fichiers.

Envoie-t-il des données quelque part ?

jamais

Aucune requête sortante que personne n'a demandée

En détail

Aucune télémétrie, aucune analytique, aucune vérification de mise à jour. Les seuls appels sortants vont vers vos instances Radarr et Sonarr, vers les sources de métadonnées que vous activez (TMDB, AniList, Jikan, OMDb, TheTVDB), vers votre fournisseur OpenID Connect si vous en utilisez un, et vers un webhook de notification si vous en définissez un.

Puis-je le mettre derrière un reverse proxy ?

oui

Une seule variable d'environnement

En détail

Y compris sous un sous-chemin. Définissez ROUTARR_BASE_PATH=/routarr et l'API, l'interface et les URL de webhook suivent, sans reconstruire l'image.

Sur quoi tourne-t-il ?

un Pi suffit

Une image, un fichier

En détail

Une seule image Docker pour amd64 et arm64 : un Pi sous un système 64 bits ou un N100 suffit. Le stockage tient dans un unique fichier SQLite. Il n'y a aucun service de base de données à faire tourner. Radarr et Sonarr peuvent tourner n'importe où, Windows compris : un chemin sur une lettre de lecteur ou un partage réseau est comparé comme Windows le compare, quels que soient sa casse et son séparateur.

Fini le choix à la main.

Lisez le plan, gardez ce qui vous convient, laissez les règles faire le reste.

Ce qu'on vient de vous montrer

Il ne peut rien écrire tant que vous ne le permettez pas

L'essai à blanc global est actif dès le premier lancement, et cinq autres portes l'attendent derrière.

Chaque décision montre son raisonnement

Ce que chaque condition attendait, ce qu'elle a observé, et les règles qui n'ont pas gagné.

Une image, un fichier, un port

amd64 et arm64, un seul fichier SQLite, aucun service de base de données à faire tourner.