J’avais déjà présenté Decypharr « normal » et Usenet il y a quelques mois.
La nouvelle mouture ajoute notamment :
Le support du streaming via Usenet (multi providers),
La possibilité d’utiliser plusieurs comptes d’un même débrideur (pratique pour AD vu qu’il y a une limite de 5000 torrents/compte)
Le support de montages rClone externes tout comme l’ajout d’un système de fichiers propre à Decypharr,
Une refonte du WebDAV (plus pratique à parcourir),
Lors de l’ajout manuel de .torrent/.nzb on peut maintenant choisir de créer du symlink (Plex), STRM (Jellyfin), télécharger localement ou aucun…
On n’oubliera pas mon outil DecypharrSeed qui permet de seeder tout ou partie des .torrents utilisés via Decypharr (qu’il faudrait que je traduise un jour en anglich pour qu’il ait plus de succès).
Pour l’installer, on peut reprendre le compose existant et simplement changer l’image (ça reprend sans risque la configuration existante) :
Je crois que j’ai ENFIN trouvé le lecteur de musique que j’aime !
J’ai jamais été consommateur de musique, de qualité lossless du moins (Rikito, si tu me lis), au point d’être un gros membre de WCD et ses successeurs où je ne suis d’ailleurs plus.
Mais en bon geek curieux, j’ai toujours eu un œil sur les solutions d’hébergement/téléchargement/streaming de musique. Je me contente d’ajouter des .torrent à Decypharr/AllDebrid, ne voulant plus stocker directement chez moi (hormis un peu de partage via DecypharsSeed) et ne supportant plus Lidarr (même en hébergeant mon instance pour les métadonnées).
Il m’a cependant été impossible de trouver un lecteur (Web et/ou iOS/Android) qui réponde à mes besoins : beau & moderne, simple, avec recherche par genres, artistes similaires, playlists et paroles notamment. En gros : une copie de Spotify.
J’ai relancé il y a quelques semaines mon Navidrome qui prenait la poussière dans un vieux reste de stack audio auto-hébergée. Après avoir des années utilisé Subsonic et dérivés, Plex ou encore Jellyfin pour jouer un peu de musique, j’étais passé sur Navidrome pour sa modularité et « bonne allure » de serveur de streaming dédié à ce type de médias. Comme je veux l’utiliser avec Decypharr/AD, j’ajuste les volumes en conséquence : – /mnt/:/mnt/:rshared – /mnt/Fichiers/decypharr/qbit/music:/music:ro
Et j’utilise toujours Spotify, en sus de Deezer, pour les métadonnées. Pour le reste des variables d’environnement, tout est expliqué dans la documentation. Pour cet article je n’ai mis que 3 albums en test.
services:
navidrome:
image: deluan/navidrome:latest
user: 1000:1000
ports:
- "4533:4533"
restart: always
environment:
- TZ=Europe/Paris
- ND_BASEURL=https/audio.domain.tld
- ND_AGENTS=spotify,deezer
- ND_DEEZER_ENABLED=true
- ND_ENABLEDOWNLOADS=false
- ND_ENABLEEXTERNALSERVICES=false
- ND_HTTPSECURITYHEADERS_CUSTOMFRAMEOPTIONSVALUE=SAMEORIGIN
- ND_IGNOREDARTICLES="The El La Los Las Le La Les Os As O A Du"
- ND_IMAGECACHESIZE=10GB
- ND_LASTFM_ENABLED=false
#- ND_LISTENBRAINZ_BASEURL=https://mb.domain.tld
- ND_LISTENBRAINZ_ENABLED=true
- ND_RECENTLYADDEDBYMODTIME=true
- ND_SCANNER_ENABLED=true
- ND_SCANNER_SCHEDULE="0 * * * *"
- ND_SCANNER_WATCHERWAIT="10s"
- ND_SCANNER_ARTISTJOINER= " | "
- ND_SCANNER_FOLLOWSYMLINKS=true
- ND_SCANNER_PURGEMISSING=always
- ND_SEARCHFULLSTRING=true
- ND_SPOTIFY_ID=xxx
- ND_SPOTIFY_SECRET=xxx
- ND_SUBSONIC_ARTISTPARTICIPATIONS=true
volumes:
- /mnt/:/mnt/:rshared
- /mnt/Docker/navidrome:/data
- /mnt/Fichiers/decypharr/qbit/music:/music:ro
Mais il me manquait encore surtout un tri par genres et… une WebUI plus moderne.
Je suis tombé sur Feishin qui est à la fois un client (desktop/Web) de streaming pour Navidrome, Jellyfin et Subsonic et un agrégateur de serveurs puisqu’on peut en ajouter plusieurs. On peut donc imaginer un partage de serveurs de musique Jellyfin entre amis.
Gavé d’options !
Attention, c’est avant-tout un client desktop (tous OS) et donc ne propose pas de système d’authentification. Ce qui fait que lorsque comme moi on l’installe en Docker pour en profiter hors LAN (via mon iPhone notamment), il faut ajouter un système d’authentification tel qu’Authelia ou bien « à l’ancienne », via Nginx proxy Manager dans mon cas :
Sur une machine Linux (ou dans un Docker), installer de quoi créer le mot de passe encoder à filer ensuite à NPM.
sudo apt install apache2-utils
Puis, créer un fichier htpasswd avec un utilisateur et un mot de passe dans un dossier auquel accède NPM
root@StreamBox:/home/aerya/docker/npm/data# htpasswd -c htpasswd aerya
New password:
Re-type new password:
Adding password for user aerya
Et on peut alors passer ça en paramètre dans NPM pour avoir le fameux pop-up d’identification quand on va sur l’URL concernée
Comme j’ai déjà Navidrome qui tourne sur https://audio.domain.tld, je mets Feishin sur https://music.domain.tld
Et le compose de Navidrome est très léger vu que ce n’est qu’une interface pour un autre outil
À la 1ère connexion il faut ajouter ton serveur. Il propose par défaut celui configuré dans le compose du dessus
Sur AndroidTV, j’utilise Symfonium de Tolriq, que j’ai bien connu dans une autre vie. Application payante (onetime 7-10€ selon frais) mais qui vaut le coup, jetez un œil à sa présentation sur le PlayStore.
Et sur iPhone, j’avais Amperfy et suis passé depuis peu sur Arpeggi, qui est en TestFlight (et closed source hélas…).
Les *arrs c’est du « chinois » pour vous ? Vous n’avez pas de machine assez puissante pour les faire tourner en sus d’un lecteur ? Vous voulez faire simple ?
CineSync, qui s’installe en Docker et peut tourner sur des machines peu puissantes avec 1 core et 1GB de RAM, permet, via une clé API (gratuite) TMDB, d’indexer et trier un dossier de fichiers en vrac (films et séries uniquement). Ça trie et organise via des symlinks (liens qui ne prennent aucune place) pour pouvoir ensuite profiter de ça via Plex/Jellyfin/Emby/Kodi ou un lecteur type VLC. Ce n’est pas un lecteur, juste un organiseur.
Pratique si vous avez accès à un FTP, un remote rClone, des APIs RealDebrid, AllDebrid ou TorBox, un montage NFS/sshFS… enfin n’importe quel espace de stockage avec des films et séries.
EDIT 06.10.25 : DjNiklos insiste à juste titre sur le fait qu’on peut combiner les dossiers sources en les séparant par des ,
Monitoring manuel ou automatique évidemment.
Je le teste avec mon montage AllDebrid de Decypharr, le dossier _ _ all _ _ où tous les fichiers sont en vrac. Le travail peut prendre un peu de temps selon la quantité de fichiers à traiter, les ressources allouées (cores/RAM) et les options demandées.
Et ça donne ce genre de tri (j’ai aucun contenu pour enfants mais ça les met à part également)
root@StreamBox:/mnt/Bibliothèques# ls CineSync/
4KMovies 4KShows CineSync Movies Shows
Le dossier CineSync = Collections, quand on demande leur création
Y’a plus qu’à indexer ça avec son lecteur favoris ou y accéder avec VLC ou autre et c’est nickel !
Supervision et automatisation en temps réel
CineSync intègre des fonctions avancées de surveillance et d’automatisation en temps réel, assurant une bibliothèque multimédia toujours parfaitement organisée — sans aucune intervention manuelle. Son interface web moderne offre un contrôle complet sur les paramètres d’automatisation et la supervision en direct de toutes les activités de traitement.
Système de surveillance intelligent
Détection instantanée : des algorithmes avancés repèrent immédiatement les nouveaux fichiers via les événements du système de fichiers.
Mode auto-traitement : activez ou désactivez le traitement automatique directement depuis l’interface web, pour un fonctionnement totalement mains libres.
Intégration streaming : les serveurs multimédias (Plex, Jellyfin, Emby) sont mis à jour en temps réel pour des bibliothèques toujours à jour.
Prévention des doublons : le système évite intelligemment le retraitement des mêmes contenus.
Flux de travail automatisés
Analyse initiale intelligente : un scan complet et une réorganisation de la bibliothèque au démarrage.
Surveillance continue : détection en temps réel des nouveaux fichiers, avec intervalles configurables.
Traitement en lot : gestion efficace de multiples fichiers grâce au traitement parallèle.
Récupération automatique : nouvelle tentative sur les opérations échouées, avec temporisation exponentielle.
Tableau de bord en temps réel
Statistiques en direct : visualisez instantanément la progression et l’état de la bibliothèque.
Suivi des ajouts récents : traçabilité automatique des contenus récemment ajoutés.
File d’attente visible : surveillance graphique des opérations en cours et à venir.
La surveillance en temps réel de CineSync est désormais une fonctionnalité native des scripts et images Docker, assurant une intégration fluide dans votre flux de travail. Grâce à elle, la gestion de votre médiathèque devient automatique et sans effort.
Automatisation personnalisable
Planification flexible : configurez les intervalles de surveillance et les horaires de traitement.
Règles spécifiques par contenu : appliquez des logiques différentes pour les films, séries, animés ou contenus jeunesse.
Nettoyage intelligent : suppression automatique des liens symboliques cassés et des entrées orphelines dans la base de données.
Intégration avec les serveurs multimédias
Jellyfin / Emby : actualisation instantanée via des liens symboliques compatibles inotify.
Plex : mise à jour automatique des bibliothèques grâce à l’API Plex.
Streaming direct : accès en temps réel aux contenus organisés par plusieurs méthodes.
Le système d’automatisation de CineSync transforme la gestion des médias d’une corvée manuelle en un processus fluide, intelligent et permanent.
Séparation intelligente des contenus
Contenu jeunesse : détection automatique des médias familiaux via les classifications TMDB (G, PG, TV-Y, TV-G, TV-PG) et les genres familiaux.
Organisation 4K : détection et séparation automatique des contenus UHD dans des dossiers dédiés.
Classification animés : gestion spécifique pour les animés, avec tri distinct entre films et séries.
Tri par résolution : classement intelligent selon la qualité vidéo (720p, 1080p, 4K, etc.).
Options d’organisation flexibles
Structure CineSync : organisation simplifiée en dossiers Movies et Shows.
Préservation de la structure source : possibilité de conserver les arborescences d’origine.
Nommage personnalisé : configuration libre des noms de dossiers selon le type de contenu.
Regroupement par collections : organisation automatique des sagas et franchises dans des répertoires communs.
Plutôt que de tout configurer via l’interface Web, on peut y adjoindre un .env. Fichier à placer dans le dossier /home/aerya/docker/cinesync/db dans mon cas, le montage local de /app/db. Le fichier de base est ici et il faut surtout y configurer la clé API TMDB et les dossiers source/destination.
# Directory Paths
# ========================================
# Source directory for input files
SOURCE_DIR="/mnt/decypharr/alldebrid/__all__"
# Destination directory for output files
DESTINATION_DIR="/mnt/Bibliothèques/CineSync"
Comme les *arrs quand ils travaillent sur les fichiers hébergés chez AllDebrid, accessibles dans /mnt/decypharr/alldebrid/_ _ all _ _, CineSync va les organiser et structurer localement via des symlinks dans /mnt/Bibliothèques/CineSync où Plex/Jellyfin/whatever pourra les indexer et lire.
admin/admin si vous ne changez pas dans la config
si pas de .env, il faut tout configurer via la WebUI
Et il n’y qu’à le laisser travailler ensuite
On peut éditer chaque fiche de contenu indexé pour déplacer vers un autre dossier selon l’orga de chacun (moi je laisse CineSync faire par défaut) et/ou éditer les informations d’un média.
On peut suivre et éditer/corriger l’indexation
La configuration est entièrement éditable via la WebUI
Et il peut même se faire passer pour Radarr et Sonarr auprès de Bazarr pour la gestion automatisée des sous-titres !
C’est vraiment super bien fait et très pratique quand on récupère « juste » un accès à une API ou un montage rClone dont on ne maitrise pas le contenu…
Une ancienne version de Decypahrr permet de l’utiliser avec Usenet. Non maintenue, je ne recommande pas de s’en servir pour BitTorrent.
J’ai testé sur une petite machine et ça marche mais ça consomme 100% de mon CPU en cas de transcodage couplé au téléchargement sur Usenet. Mais c’est fonctionnel avec les .nzb compatibles (pas de mot de passe, par d’archive). À l’époque j’avais Usenet-Drive ou encore nzbDAV sur un serveur plus robuste et ça passait très bien même en avance rapide.
Nous sommes dans le cas d’un montage de .nzb « streamable », il n’y a donc aucun debrideur à ajouter.
Le compose que j’utilise build le Dockerfile puisqu’il n’y a pas d’image de publiée et s’occupe du montage rClone du WebDav, celui-ci n’étant pas inclus dans l’interface. Il faut au préalable avec sa config rClone, qu’on peut créer à la main dans rclone.conf :
[decypharr-usenet]
type = webdav
url = http://192.168.0.163:2828/webdav/usenet
vendor = other
user = ""
pass = ""
URL : l’IP et le port de la WebUI de Decypharr tel qu’indiqué dans le compose
Ici je n’utilise pas de user:pwd pour l’accès à la WebUI de Decypharr. Si vous voulez le faire, il faut y mettre un pwd chiffré :
Je continue mon tour d’horizon des solutions de streaming à la carte, légales ou non selon les pays, et qui permet de se créer et maintenir une bibliothèque multimédia sans stockage local.
Je n’aborderai pas publiquement les solutions de streaming depuis des .nzb directement.
Je vais détailler ici l’installation manuelle de Decypharr, Prowlarr et Radarr/Sonarr/Plex mais tout est notamment inclus dans le script SSDv2 (avec une grosse et belle nouveauté à venir).
J’en profite pour remercier Laster13 et Teal-C pour leurs réponses à mes questions.
La dernière mouture de Decypharr embarque rClone et sa configuration sera automatisée. Mes tests sont réalisés avec Prowlarr et des indexeurs FR publics dont YGG via « api.eu », le débrideur AllDebrid ; et je ne « tape » que dans le contenu en cache chez AD (donc aucun téléchargement). Verdict : RàS pour les films, quelques saisons de séries manquantes uniquement dans le cache, OK avec le téléchargement.
Le plus important est de bien comprendre que si on demande aux *arrs d’organiser les bibliothèques dans /mnt/Bibliothèques, ils ne vont y mettre que des symlinks vers le montage rClone d’AllDebrid (/mnt/decypharr). Les *arrs, pour traiter les fichiers, tout comme Plex (ou autre) pour leur lecture, doivent avoir accès à ce montage rClone. C’est pourquoi il est impératif de monter ce dossier en volume pour chaque Docker devant y avoir accès.
Bibliothèques : dossier racine pour les *arrs Data/rCloneCache : j’avais déjà le dossier pour autre chose, j’utilise le même
decypharr/alldebrid : montage de mon compte AD decypharr/qbit : dossier de téléchargement (simulé) des fichiers. Les sous-dossiers radarr/sonarr seront ajoutés automatiquement lors de la configuration de Decypharr (tags)
Il faut installer et lancer Decypharr avant le reste vu que tout dépend ensuite du montage du débrideur et des symlinks. Idem s’il faut relancer le Docker Decypharr, il faut relancer les autres ensuite.
/mnt/decypharr/qbit devant être commun aux *arrs et Plex, on y montera /mnt:/mnt dans chaque ainsi que /mnt/decypharr/qbit:/mnt/decypharr/qbit dans les *arrs qui sauront directement où aller chercher les fichiers à traiter.
La configuration n’est pas vraiment expliquée dans la doc, la mienne n’est peut-être pas optimale mais fonctionne.
Je n’ai rien modifié dans l’onglet général. J’ai testé les notifications Discord (attention on voit la passkey des trackers utilisés) mais y’a vraiment pas d’intérêt si on ne fait qu’utilise le cache du débrideur (pas de téléchargement).
Pour la partie débrideur, on fait notre choix, on colle une clé API (ou plusieurs) et j’ai configuré le montage dans
/mnt/decypharr/alldebrid/__all__
On peut ajouter plusieurs débrideurs. On pourra les attribuer à un *arr lié à Decypharr et même les sélectionner lors de l’ajout manuel d’un .torrent
J’utilise le WebDav et je NE COCHE PAS la case Download Uncached pour qu’il ne télécharge aucun fichier (sur AD) mais n’utilise que son cache. Je fais ça parce que je voulais tester le cache d’AD et ne voulais pas télécharger des fichiers sans les partager. On peut tout à fait faire les 2 mais attention, il n’y aura pas de seed (donc ratio 0). A ne pas faire chez les Tier 1 sous peine de voir son compte banni ! Certains ont créé des scripts qui captent les .torrent utilisés pour les mettre en seed depuis un client local ou sur un serveur. Dans ce cas, Decypharr est utilisable sans crainte sur les trackers privés.
Configuration du client qBittorrent émulé. Je met le chemin qui correspond au volume local dont je parlais au début
/mnt/decypharr/qbit
On peut ajouter les *arrs soit depuis Decypharr soit depuis les *arrs eux-mêmes. Je n’ai qu’AD en débrideur j’ai donc laissé la sélection auto mais on peut choisir. Par exemple Radarr sur AD et Sonarr sur RD ou Sonarr4K sur TB etc. Selon les goût de chacun. Ce qui est certain, c’est que le cache de contenu MULTi/FRENCH est évidemment plus important sur AD et RD que sur TB, principalement utilisé par les anglophones pour Stremio.
Le Repair est le contrôle et la réparation des symlinks. Qui peuvent être cassés si le contenu lié est effacé du débrideur. Dans ce cas, selon la config, ça peut soit rechercher sur le débrideur (si le fichier a été renommé, vu que ça fonctionne avec le hash et non le nom) soit ça ira chercher un autre .torrent via les *arrs. Pour l’instant je laisse l’option par défaut à savoir « per torrent » mais il est peut-être préférable d’utiliser « per file ». Dans le cas d’un .torrent de saison complètement, que ça ne recherche que l’épisode manquant (du cache) plutôt que de tout relancer. Je l’ai mis en autotmatique, toutes les 24h.
Et enfin la partie rClone. Le monte globalement dans /mnt/decypharr et souhaite utiliser un cache (100Go) dans un dossier (et disque) qui me sert déjà à ça : /mnt/Data/rCloneCache On peut sans doute améliorer cette configuration mais Plex lit un fichier de 94Go sans broncher…
Avec le mode de téléchargement activé, voici le rendu. PausedUP signifie que le .torrent est complété (et de fait plus en seed).
Je ne montre que l’exemple de configuration de Radarr. Pour Sonarr c’est la même logique. Chez moi c’est derrière un VPN pour des interrogations de sources hors Prowlarr et NZBHydra, il n’y a donc pas de port de publié. Je retire tous les volumes par défaut pour ne monter que /mnt/decypharr/qbit:/mnt/decypharr/qbit et /mnt:/mnt
Configuration du dossier racine : /mnt/Bibliothèques/Films
Configuration du client de téléchargement si on n’a pas ajouté Radarr depuis Decypharr. Il faut sélectionner qBittorrent
Et dans l’adresse il faut mettre l’URL (ou l’IP) de Decypharr et le port (et SSL si vous utilisez une URL et un reverse proxy). Le nom d’utilisateur et le mot de passe sont l’URL de Radarr et sa clé API. La catégorie : radarr (et donc sonarr pour Sonarr ofc!)
Ne surtout pas cocher la case Sequential Order (sinon ça DL localement)
Et comme le même chemin/volume est monté dans chaque Docker, il n’y a aucun Remote Path Mapping à mettre
Lors de l’ajout d’un film, la complétion est quasi instantanée pour peu que le fichier cherché soit déjà dans le cache d’AllDebrid. Si vous activez le téléchargement des fichiers non encore en cache, ça peut prendre quelques minutes.
En regardant de plus près, on voit bien que c’est un symlink vers le cache d’AllDebrid
aerya@StreamBox:/mnt/Bibliothèques/Films$ ls -l Alien\ -\ Romulus\ \(2024\)/
total 4
lrwxrwxrwx 1 root root 208 Aug 25 18:55 Alien.Romulus.2024.MULTi.VFF.2160p.UHD.BluRay.REMUX.DV.HDR.HEVC.TrueHD.7.1.Atmos-ONLY.mkv -> /mnt/decypharr/alldebrid/__all__/Alien.Romulus.2024.MULTi.VFF.2160p.UHD.BluRay.REMUX.DV.HDR.HEVC.TrueHD.7.1.Atmos-ONLY/Alien.Romulus.2024.MULTi.VFF.2160p.UHD.BluRay.REMUX.DV.HDR.HEVC.TrueHD.7.1.Atmos-ONLY.mkv
ncdu 1.19 ~ Use the arrow keys to navigate, press ? for help
--- /mnt/Bibliothèques/Films/Alien - Romulus (2024)- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@ 4.0 KiB [###################################################] Alien.Romulus.2024.MULTi.VFF.2160p.UHD.BluRay.REMUX.DV.HDR.HEVC.TrueHD.7.1.Atmos-ONLY.mkv
Plus globalement, tous les fichiers sont bien chez AllDebrid, monté via WebDav/rClone et je n’ai localement que des symlinks qui ne prennent aucune place. En théorie, on pourrait se faire cette installation sur une Carte MicroSD de quelques Go
ncdu 1.19 ~ Use the arrow keys to navigate, press ? for help
--- /mnt ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
15.9 TiB [###################################################] /decypharr
4.0 MiB [ ] /Bibliothèques
Pour terminer, la configuration de Plex. Toujours avec /mnt:/mnt de monté pour garantir l’accès aux symlinks.