Streaming à la carte sans stockage : Jellyfin, Radarr, Sonarr, Vortex, rClone et AllDebrid et yggapi

Streaming à la carte sans stockage : Jellyfin, Radarr, Sonarr, Vortex, rClone et AllDebrid et yggapi

Je continue dans mon aventure du moment avec le streaming sans stockage dédié, dans mon cas via AllDebrid. Si Stremio permet d’accéder à quasi tout ce qu’on souhaite, il peut être plus pratique d’utiliser ses propres indexeurs, trackers BitTorrent privés, et de choisir finement la qualité des contenus.


L’intérêt de passer par AllDebrid (ou RealDebrid mais avec d’autres outils, comme Decypharr) est de limiter le stockage inutile. Tout .torrent ajouté/téléchargé via ce débrideur sera stocké dans son cache. Ce qui fait que si 1000 personnes veulent voir le fichierABC.mkv via AllDebrid, ce fichier ne sera stocké qu’une seule fois et non 1000 comme c’est le cas quand chacun stocke dans son coin : disque dur, NAS, Google, Dropbox, Telegram, Usenet, QuotaLess…

Pour ça, l’installation de base est tout à fait classique : Radarr, Sonarr et Jellyfin (ou Plex, mais j’avais envie de changer). Prowlarr pour ajouter ses sources de trackers privés et yggapi par exemple. J’ai ajouté Jellyseerr qui permet de gérer des demandes et son client pour AndroidTV : SeerrTV (qui fonctionne aussi pour OverSeerr).
Particularité, pour que toutes les applications puissent bien accéder aux fichiers (merci Tealc !), tous les volumes montés doivent être /data côté Docker, donc à droite dans -v /machine/locale:/data. Je le détaille plus tard.

L’astuce, pour utiliser AllDebrid (et qu’AD avec cet outil), est de passer par Vortex de Raven qui simule un client qBitTorrent. Vortex va aller chercher les fichiers dans le montage rClone d’AllDebrid et le présenter aux *arr qui vont le traiter comme d’habitude. Le tout en symlink/hardlink, donc SANS prendre de place sur le stockage local.

ncdu 1.19 ~ Use the arrow keys to navigate, press ? for help
--- /dir ---------------------------------------------------------------------------------------------------------------------------------------------------------------
  824.0 KiB [########################] /Series
   40.0 KiB [#                       ] /Films

dsdsds


rClone pour AllDebrid
Vortex
Radarr
Sonarr
Jellyfin
Jellyseerr
Prowlarr + indexeurs YGGapi (VF) & Torrentio (VO)
Aperçu
Mise en garde ratios
SeerrBridge : pour ne passer que par le cache d’un débrideur



Tutoriel réalisé sous UNRAiD. Les chemins seront donc à adapter pour une machine Linux lambda.Voici mes dossiers :
– /mnt/user/AllDebrid1 : montage AllDdebrid
– /mnt/user/VortexDL : dossier où Vortex viendra symlinker les fichiers depuis AllDebrid et où viendront les chercher Radarr & Sonarr
– /mnt/user/Files/Films : dossier racine de stockage des films pour Radarr, que viendra indexer Jellyfin
– /mnt/user/Files/Series : dossier racine de stockage des séries pour Sonarr, que viendra indexer Jellyfin

Une fois créée une clé API pour rClone côté AllDebrid, installer rClone sur Linux ou UNRAID. Pour ce dernier, je dirais que n’importe quelle source fera l’affaire depuis le market, mais j’avais l’habitude de passer par le plugin qui permet d’y accéder via l’onglet Réglages.
Il faut ensuite créer la configuration pour le WebDav AllDebrid en suivant leur Wiki (sous UNRAiD faire comme sous Linux, en CLI : rclone config). Les numéros de choix ont changé, mais le procédé reste le même. On optimisera juste la commande de montage.

root@HomeBox:/mnt/user/appdata# rclone config
Current remotes:

Name                 Type
====                 ====
AllDebrid            webdav
Usenet               webdav
UsenetCrypt          crypt

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q>


On retrouvera la config rClone dans le plugin éponyme.

Du coup, on peut monter le WebDav. Je passe ça en script via le plugin User Scripts. Attention à bien monter AllDebrid:magnets

#!/bin/bash
rclone mount AllDebrid:magnets /mnt/user/AllDebrid1 \
  --dir-cache-time 10s \
  --multi-thread-streams=0 \
  --cutoff-mode=cautious \
  --vfs-cache-mode full \
  --vfs-cache-max-size 5G \
  --vfs-cache-max-age 4h \
  --vfs-read-chunk-size 32M \
  --vfs-read-chunk-size-limit 256M \
  --buffer-size 256M \
  --allow-other \
  --file-perms 0666 \
  --dir-perms 0777 \
  --allow-non-empty

On peut ensuite installer Vortex. Attention, c’est bon ici par défaut, mais le chemin dans le container doit bien être /data pour les fichiers :
volumes:
– /mnt/:/data
Sous UNRAiD, utiliser le plugin Compose ou l’excellent Dockge pour installer un docker-compose.

services:
  vortex:
    container_name: vortex
    image: reddravenn/vortex:latest
    environment:
      - PORT=8080
      - LOG_LEVEL=info
    ports:
      - 6489:8080
    volumes:
      - /mnt/:/data
      - /mnt/user/appdata/vortex:/app/db
    user: 1000:1000
    restart: always
    labels:
      - com.centurylinklabs.watchtower.enable=true

Bien indiquer le chemin sous lequel Vortex devra symlinker les fichiers depuis AllDebrid : /data/user/VortexDL

Et du coup lui indiquer où se trouve le montage AllDebrid et y mettre sa clé API. J’en ai créé une dédiée comme je le fais pour chaque application.

J’ai laissé la configuration de base SAUF pour les workers, vu que ça tourne sur le petit NAS LinkStation N1

Et quand ils seront installés, venir ajouter les *arr. Moi je ne fais que Radarr et Sonarr mais vous pouvez doubler les instances pour en dédier aux contenus 4K comme c’est la mode.

Pour Radarr, c’est un grand classique. Je prends toujours LinuxServer. Attention là encore à retirer tous les points de montage (/movies et /downloads) et ne mettre que /data. Exemple avec UNRAiD

Lui ajouter le client de téléchargement qBitTorrent

Et y mettre nos informations Vortex

Pas besoin de mapper de chemin vu que tous les containers Docker ont le même volume de monté, à savoir /mnt:/data

Même combat pour Sonarr, toujours avec LinuxServer pour ma part.

Et là aussi on ajoute Vortex comme client de téléchargement en lieu et place de qBitTorrent. Évidemment, on fait correspondre les catégories de DL. Bah oui, sous qBitTorrent normalement les *arr tags leurs téléchargements. Donc ils s’attendent à des catégories ici aussi.
Donc la configuration de Vortex, la catégorie est sonarr

Donc on met la même sous Sonarr/Vortex

Je continue avec Jellyfin mais vous pouvez installer Emby ou Plex ou autre chose. Attention, on ne met toujours qu’un seul volume pour les contenus : /data

Il faut juste lui faire indexer les Films dans /mnt/user/Files/Films et les séries dans /mnt/user/Files/Series. Le reste de la configuration dépendant de chacun.

Concernant Jellyseerr, ça peut sembler bonus, mais c’est quand même bien pratique pour demander et/ou découvrir des contenus. Je l’avais déjà présenté sur la version perdue du blog…

Surtout quand on y ajoute le client pour Android TV (Nvidia Shield powaaa !!) SeerrTV qui permet de faire des requêtes et découvrir des contenus depuis la TV 🙂
L’interface de ce dernier peut se mettre en français.

Si on va chercher les contenus sur AllDebrid (en cache ou téléchargement), il faut tout de même des sources de .torrents. Pour ça, je ne saurais que trop recommander le joli Prowlarr, digne successeur de Jackett depuis des années maintenant. Son réel intérêt est qu’il permet d’injecter ses sources directement dans les *arrs liés.

Comme d’habitude, j’utilise la version LinuxServer mais je le fais passer par un VPN puisqu’il va aller se connecter/interroger des trackers BitTorrent. Voici un exemple de compose avec AirVPN :

services:
  gluetun-airvpn:
    image: qmcgaw/gluetun:latest
    container_name: gluetun-airvpn
    restart: always
    cap_add:
      - NET_ADMIN
    devices:
      - /dev/net/tun
    ports:
      - 9696:9696 # prowlarr
    environment:
      VPN_SERVICE_PROVIDER: airvpn
      VPN_TYPE: wireguard
      WIREGUARD_PRIVATE_KEY: aaa
      WIREGUARD_PRESHARED_KEY: bbb
      WIREGUARD_ADDRESSES: 10.139.228.247/32
      SERVER_COUNTRIES: Canada
      DNS_ADDRESS: 192.168.0.64
      HTTPPROXY: off
      FIREWALL_VPN_INPUT_PORTS: 
      FIREWALL_OUTBOUND_SUBNETS: 192.168.0.0/24
      PUID: "0"
      PGID: "0"
    labels:
      - com.centurylinklabs.watchtower.enable=true
  prowlarr:
    image: lscr.io/linuxserver/prowlarr:latest
    container_name: prowlarr
    network_mode: container:gluetun-airvpn
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Paris
    volumes:
      - /mnt/user/appdata/prowlarr:/config
    restart: always
    labels:
      - com.centurylinklabs.watchtower.enable=true

Lui ajouter les trackers qu’on souhaite, enfin du moins auquel on a accès. Et voici de quoi utiliser yggapi, une API non officielle pour « YGG », dont le code n’est pas publié pour ne pas être patché ; et qui permet d’indexer de manière fiable les contenus vidéos. L’utilité de cet outil est de s’affranchir des soucis liés à CloudFlare pour les classiques Ygg-Cookie et YggTorrent.

LimeDrive a gentiment mis à disposition un fichier de définition pour Jackett/Prowlarr sur GitHub. Pour l’installer il suffit de créer un dossier Customs dans /mnt/user/appdata/prowlarr/Definitions/Customs (sous UNRAiD, sinon votre montage local) et d’y créer ygg-api.yml avec le contenu du fichier. On y a ensuite accès via l’interface de Prowlarr dans la liste des indexeurs « fr-FR ».

Voilà, ça fait le café 🙂

Sauf à ajouter 20 séries ou films d’un coup, via une liste, c’est quasi instantané. Et si on configure les *arr pour qu’ils notifient Jellyfin, il est à son tour mis à jour très rapidement. Exemple avec la recherche de la S02 de la série House of the Dragons

Sitôt sélectionnée elle est recherchée par Vortex et elle existe déjà en cache, il n’y a donc pas de temps de téléchargement

On la retrouve complétée dans Sonarr

Et sous Jellyfin

Ce qui prend le plus de temps en fin de compte est l’ajout des métadonnées sous Jellyfin (ou Plex)…

Pour les amateurs de VO, dreulavelle propose sur GitHub un indexeur Prowlarr pour torrentio qui permet d’accéder aux contenus de bon nombre de trackers publics, majoritairement EN mais pas que : mais aussi au cache des principaux débrideurs selon ses abonnements : AllDebrid, RealDebrid, Putio, Premiumize, TorBox…



Mise en garde par rapport aux ratios de vos comptes de trackers BitTorrent utilisés dans ce contexte.

Si AllDebrid peut télécharger un .torrent il ne va en revanche PAS le seeder, principe de base du P2P et, surtout, garant de la validité de vos comptes sur des sites (semi-)privés.
Donc sur des comptes poubelles pour YGG ou assimilés ça passe, mais c’est pas recommandé faire sur un site privé. Leurs outils de détection le voient, dans tous les cas. Enfin même sur YGG c’est pas terrible si un jour 99% des utilisateurs fait ça.
Dans tous les cas je vous recommande de télécharger/seeder normalement à côté (les mêmes fichiers ou d’autres) pour participer à la pérennité des fichiers et maintenant un ratio adéquat.

Certains ont poussé (Maurice !) plus loin et mis en place un téléchargement des .torrent dans un vrai client avec un temps de seed/ratio minimal. Encore une fois, je vous renvoie vers la communauté francophone ultra geek et sympathique S.S.D. sur Discord ou GitHub.


Si, justement, vous n’avez pas vraiment de compte sur un bon indexeur, vous pouvez toujours opter pour la solution de ne piocher que dans le contenu en cache d’un débrideur. Pour se faire, il faudra alors utiliser SeerrBridge, proposé par Woahai321.
Je ne l’ai pas testé.

Loading

S’abonner
Notification pour
guest
0 Commentaires
Le plus ancien
Le plus récent Le plus populaire
Commentaires en ligne
Afficher tous les commentaires