badraxas.

Guide Media Server Docker 2026 (Partie 2) : Automatisation avec Sonarr, Radarr & Prowlarr

Vous suivez notre guide sur la création du Media Server Docker ultime ? Bienvenue dans la phase d’intelligence.

Le Cerveau en action : transformer le chaos du P2P en un Media Server organisé.

Dans la Partie 1, nous avons construit un bunker : un client de téléchargement (qBittorrent) isolé du monde par un VPN (Gluetun) et piloté par une interface moderne (Qui). C’est robuste, mais c’est bête. Pour l’instant, vous devez ajouter vos torrents manuellement.

Aujourd’hui, nous installons le « Cerveau » de votre Media Server. Nous allons automatiser la recherche, standardiser le nommage des fichiers et appliquer nos préférences de qualité : langues, résolution et formats à privilégier ou à éviter.

Au programme :

  1. Prowlarr : La tour de contrôle des indexers (la résilience).
  2. Sonarr & Radarr : Les chefs d’orchestre, connectés via le proxy sécurisé de Qui.
  3. Recyclarr : La gestion des qualités des releases à télécharger.
  4. qbit_manage : Le majordome de qBittorrent (Gestion des tags, catégories et nettoyage).

1. L’extension du docker-compose.yml

On reprend notre fichier de la Partie 1 et on y ajoute nos gestionnaires.

⚠️ Conservez les chemins définis en partie 1 : qBittorrent télécharge dans /data/torrents/downloads, et Sonarr/Radarr accèdent aux téléchargements et à la bibliothèque via ${DATA_DIR}:/data. On garde ainsi l’arborescence prévue pour les hardlinks.

Ajoutez ces services à votre docker-compose.yml :

YAML
services:
  # ... (gluetun, qbittorrent, qui sont déjà là) ...

  prowlarr:
    image: lscr.io/linuxserver/prowlarr:latest
    container_name: prowlarr
    environment:
      - PUID=${PUID}
      - PGID=${PGID}
      - TZ=${TZ}
    volumes:
      - ${CONFIG_DIR}/prowlarr:/config
    ports:
      - 9696:9696
    restart: always

  sonarr:
    image: lscr.io/linuxserver/sonarr:latest
    container_name: sonarr
    environment:
      - PUID=${PUID}
      - PGID=${PGID}
      - TZ=${TZ}
    volumes:
      - ${CONFIG_DIR}/sonarr:/config
      - ${DATA_DIR}:/data
    ports:
      - 8989:8989
    restart: always

  radarr:
    image: lscr.io/linuxserver/radarr:latest
    container_name: radarr
    environment:
      - PUID=${PUID}
      - PGID=${PGID}
      - TZ=${TZ}
    volumes:
      - ${CONFIG_DIR}/radarr:/config
      - ${DATA_DIR}:/data
    ports:
      - 7878:7878
    restart: always

  recyclarr:
    image: ghcr.io/recyclarr/recyclarr:8
    container_name: recyclarr
    user: ${PUID}:${PGID}
    volumes:
      - ${CONFIG_DIR}/recyclarr:/config

  qbit_manage:
    image: ghcr.io/stuffanthings/qbit_manage:latest
    container_name: qbit_manage
    environment:
      - PUID=${PUID}
      - PGID=${PGID}
      - TZ=${TZ}
      - QBT_SCHEDULE=30
    volumes:
      - ${CONFIG_DIR}/qbit_manage:/config
      - ${DATA_DIR}:/data
    restart: unless-stopped

Lancez la mise à jour de la stack :

Bash
docker compose up -d

2. Prowlarr : L’Abstraction nécessaire

Oubliez Jackett. Prowlarr s’intègre nativement avec Sonarr et Radarr. Son rôle est simple : vous configurez vos sites de torrents (Indexers) ici, et il les synchronise automatiquement vers les autres applications.

  1. Accédez à http://VOTRE_IP:9696.
  2. Créez un compte ou configurez l’auth (recommandé).
  3. Ajoutez vos indexers (bouton « Add Indexer »).
    • Ajoutez les indexeurs adaptés à vos usages, en choisissant des contenus distribués légalement dans votre juridiction.
  4. Allez dans Settings > Apps.
  5. Connectez Sonarr et Radarr :
    • Prowlarr Server : http://prowlarr:9696 (C’est l’URL que Sonarr utilisera pour interroger Prowlarr. Attention à bien mettre le nom du conteneur !)
    • Sonarr/Radarr Server : http://sonarr:8989 ou http://radarr:7878 (L’URL que Prowlarr utilise pour pousser les infos).
    • API Key : Récupérez-les via votre navigateur dans Settings > General (sur http://VOTRE_IP:8989 et http://VOTRE_IP:7878).
  6. Cliquez sur « Sync App Indexers ».
Dashboard Prowlarr : Tous vos trackers gérés au même endroit.

Si un site change d’URL ou ferme, vous le modifiez uniquement dans Prowlarr. Sonarr et Radarr n’ont même pas besoin de savoir que la source a changé. C’est du découplage propre.

3. La Connexion Sécurisée via « Qui » (Le Reverse Proxy)

C’est ici que notre architecture se distingue des tutos de 2020.

On peut connecter Sonarr directement avec les identifiants administrateur de qBittorrent. Ici, je préfère passer par Qui : chaque application dispose de sa propre clé de proxy, révocable séparément, sans partager le mot de passe qBittorrent.

Nous allons utiliser le Reverse Proxy intégré à Qui.

  1. Accédez à Qui (http://VOTRE_IP:7476).
  2. Allez dans Settings > Client Proxy Keys.
  3. Cliquez sur Create Client API Key.
  4. Nommez-la « Sonarr » et sélectionnez votre instance qBittorrent.
  5. Copiez l’URL générée. Elle ressemble à : http://localhost:7476/proxy/abc123...

Configuration dans Sonarr (et Radarr) :

  1. Allez dans Settings > Download Clients.
  2. Cliquez sur le bouton + pour ajouter un client qBittorrent.
  3. Activez « Show Advanced » (en bas à gauche, à côté du bouton Test) pour voir le champ URL Base.
  4. Name : qBit-Qui
  5. Host : gluetun (Qui tourne dans le réseau de Gluetun, c’est son hostname Docker).
  6. Port : 7476 (Le port de Qui, pas celui de qBit !).
  7. URL Base : /proxy/VOTRE_CLE_API_GENEREE (Collez la partie après le port, ex: /proxy/abc...).
  8. Username/Password : Laissez vide ! C’est Qui qui gère l’auth via la clé dans l’URL.
  9. Category : Changez tv-sonarr (par défaut) en sonarr (et radarr pour les films). Qui ne gère pas encore bien les tirets - dans les noms de catégories et risque de bloquer la sauvegarde.

Testez. Ça passe au vert. Vous avez maintenant une connexion découplée et sécurisée. Répétez l’opération pour Radarr.

4. Recyclarr : La gestion des qualités

Configurer les Custom Formats et leurs scores à la main dans Sonarr et Radarr peut vite devenir un enfer de clics. Les TRaSH Guides proposent des profils pour organiser ces préférences : résolution, langues, sources et formats à privilégier ou à éviter.

Recyclarr automatise leur synchronisation via les API de Sonarr et Radarr. On décrit la configuration voulue dans des fichiers YAML, puis il applique les réglages correspondants.

Choisir et générer les templates

L’outil fournit des configurations prêtes à adapter aux profils des TRaSH Guides. C’est une meilleure base que de recopier quelques identifiants et d’attribuer des scores au hasard — même avec beaucoup de conviction.

Depuis Recyclarr v8, les templates officiels ne s’utilisent plus avec les anciens include: template. Les configurations actuelles référencent directement les profils des guides. Le Compose de cet article utilise donc l’image ghcr.io/recyclarr/recyclarr:8. Les changements de fonctionnement sont décrits dans la documentation des inclusions.

Dans cet exemple, je conserve le choix French MULTi.VO en 2160p, pour Sonarr et Radarr. Ce n’est pas un réglage universel : choisissez le profil qui correspond à vos langues, à votre résolution cible et à votre matériel. Les différentes possibilités sont présentées dans les templates officiels.

Si Recyclarr tourne déjà en arrière-plan, arrêtez-le pendant cette première configuration :

Bash
docker compose stop recyclarr

Vous pouvez consulter les templates disponibles :

Bash
docker compose run --rm recyclarr config list templates

Puis générer les deux configurations :

Bash
docker compose run --rm recyclarr config create \
  --template french-multi-vo-bluray-web-2160p \
  --template french-multi-vo-uhd-bluray-web

Ces identifiants correspondent respectivement aux templates actuels Sonarr et Radarr. La commande crée un fichier par template dans le répertoire /config/configs du conteneur. Si un fichier du même nom existe déjà, elle refuse de l’écraser : adaptez le fichier existant. Voir la documentation de la génération.

Avec le volume de notre Compose, les fichiers seront accessibles sur l’hôte dans :

Bash
${CONFIG_DIR}/recyclarr/configs/french-multi-vo-bluray-web-2160p.yml
${CONFIG_DIR}/recyclarr/configs/french-multi-vo-uhd-bluray-web.yml

Configurer les connexions et vérifier les changements

Dans chaque fichier, remplacez les valeurs provisoires de connexion. Pour Sonarr, utilisez base_url: http://sonarr:8989 ; pour Radarr, base_url: http://radarr:7878. Remplacez aussi la valeur de api_key par la clé API de l’application correspondante.

Si vous aviez déjà copié l’ancien exemple dans recyclarr.yml, conservez-en une sauvegarde hors du répertoire de configuration et retirez-le des fichiers synchronisés. Les deux fichiers générés le remplacent : ne gardez pas deux configurations concurrentes pour les mêmes profils.

Avant d’appliquer les changements, lancez une prévisualisation :

Bash
docker compose run --rm recyclarr sync --preview

Recyclarr interrogera Sonarr et Radarr et affichera les modifications prévues, sans modifier leur configuration. Voir la documentation de sync --preview.

⚠️ Les templates officiels activent reset_unmatched_scores. Concrètement, les scores des Custom Formats non gérés par cette configuration peuvent être remis à zéro dans le profil concerné. C’est une bonne raison de regarder attentivement le résultat de sync --preview avant la première synchronisation. Son fonctionnement est expliqué dans la documentation des profils de qualité.

Appliquer la configuration et automatiser la synchronisation

Si le résultat correspond à vos attentes, appliquez la configuration :

Bash
docker compose run --rm recyclarr sync

Dans Sonarr et Radarr, contrôlez ensuite les Custom Formats et les profils de qualité : qualités autorisées, scores et seuil minimum. Pensez également à sélectionner le profil synchronisé pour vos séries et vos films. La présence d’un Custom Format ne suffit pas, à elle seule, à déterminer ce qui sera accepté ou rejeté.

Vous pouvez enfin démarrer Recyclarr en arrière-plan :

Bash
docker compose up -d recyclarr

Sans commande particulière, le conteneur fonctionne en mode planifié, avec une synchronisation quotidienne par défaut. Voir la documentation du mode planifié.

Voici un exemple avec ma configuration. Ça différera forcément d’un Media Server à l’autre, chacun ayant des besoins différents.

Les Custom Formats importés dans Sonarr : une gestion fine et automatisée.

5. qbit_manage : Le Majordome

Sonarr et Radarr savent lancer des téléchargements, mais ils ne savent pas nettoyer derrière eux. Si vous mettez à jour un film, l’ancien fichier reste souvent en seed indéfiniment. C’est là qu’intervient qbit_manage. Il peut :

  • Tagguer automatiquement vos torrents en fonction du tracker (utile pour le filtrage).
  • Gérer les catégories.
  • Supprimer les torrents orphelins (fichiers qui ne sont plus dans qBit).
  • Identifier les torrents sans seeders.

Configuration : Au premier lancement, qbit_manage va créer un fichier config.yml vierge dans votre dossier de config. Vous devez l’éditer pour le connecter à votre qBittorrent.

Vous pouvez utiliser le proxy Qui ici aussi pour la connexion ! (url: http://gluetun:7476/proxy/...).

Voici un exemple de configuration à adapter à votre installation. Pour le premier lancement, on commence en simulation afin de vérifier les torrents concernés avant d’activer le nettoyage.

YAML
commands:
  dry_run: true
  tag_nohardlinks: true
  share_limits: true
  cat_update: false
  tag_update: false
  rem_unregistered: false
  recheck: false
  tag_tracker_error: false
  rem_orphaned: false
  skip_cleanup: false
  skip_qb_version_check: false

qbt:
  host: http://gluetun:7476/proxy/VOTRE_CLE_API_GENEREE
  user:
  pass:

directory:
  root_dir: /data/torrents

settings:
  force_auto_tmm: false
  tracker_error_tag: issue
  nohardlinks_tag: noHL
  stalled_tag: stalledDL
  share_limits_tag: ~share_limit
  share_limits_min_seeding_time_tag: MinSeedTimeNotReached
  share_limits_min_num_seeds_tag: MinSeedsNotMet
  share_limits_last_active_tag: LastActiveLimitNotReached
  cat_filter_completed: true
  share_limits_filter_completed: true
  tag_nohardlinks_filter_completed: true
  rem_unregistered_filter_completed: false
  cat_update_all: true
  force_auto_tmm_ignore_tags: []
  disable_qbt_default_share_limits: true
  tag_stalled_torrents: true
  rem_unregistered_ignore_list: []
  rem_unregistered_grace_minutes: 10
  rem_unregistered_max_torrents: 10
  private_tag:

cat:
  radarr: /data/torrents/downloads
  sonarr: /data/torrents/downloads
  cross-seed-link: /data/torrents/cross-seed
  radarr.cross-seed: /data/torrents/cross-seed
  sonarr.cross-seed: /data/torrents/cross-seed

# Vous pouvez tagguer vos trackers ici
tracker:
  other:
    tag: other


# On liste uniquement les catégories qu'on veut scanner pour les hardlinks.
nohardlinks:
  radarr:
    exclude_tags: []
  sonarr:
    exclude_tags: []
  cross-seed-link:
    exclude_tags: []
  radarr.cross-seed:
    exclude_tags: []
  sonarr.cross-seed:
    exclude_tags: []

share_limits:
  # RÈGLE 1 : PROTECTION
  # Torrents sans le tag noHL : aucun nettoyage par cette règle
  protected_media:
    priority: 1
    exclude_all_tags: [noHL]
    categories:
      - radarr
      - sonarr
      - cross-seed-link
      - radarr.cross-seed
      - sonarr.cross-seed
    max_ratio: -1
    max_seeding_time: -1
    cleanup: false

  # RÈGLE 2 : NETTOYAGE
  # Torrents marqués noHL : nettoyage selon les limites ci-dessous
  recycle_bin:
    priority: 2
    include_all_tags: [noHL]
    categories:
      - radarr
      - sonarr
      - cross-seed-link
      - radarr.cross-seed
      - sonarr.cross-seed
    max_ratio: 1.0
    max_seeding_time: 21600 # 15 jours
    min_seeding_time: 10080 # 7 jours min
    cleanup: true

Le tag noHL décrit l’absence de hardlink détecté, pas l’absence du média dans votre bibliothèque. Pour un torrent contenant plusieurs fichiers, qbit_manage examine le plus gros fichier. Cette stratégie repose donc sur les imports par hardlinks configurés en partie 1 : un média importé par copie peut encore être présent dans votre bibliothèque tout en recevant ce tag.

Avec dry_run: true, les actions sont simulées. Vérifiez les logs et les torrents ciblés ; passez ensuite à dry_run: false lorsque les règles correspondent au comportement souhaité.

6. Configuration Média (Root Folders & Renaming)

Avant de lancer le premier téléchargement, il faut expliquer à Sonarr/Radarr où ranger les fichiers et comment les nommer. C’est ici que l’architecture /data prend tout son sens.

A. Les Root Folders (Où ranger ?)

Dans Sonarr et Radarr, allez dans Settings > Media Management. Tout en bas, cherchez la section Root Folders.

⚠️ Attention : Ne choisissez surtout pas /data tout court ! Cela mélangerait vos séries avec vos torrents en vrac. Respectez la structure de la Partie 1 :

  • Pour Sonarr : Ajoutez /data/media/tv.
  • Pour Radarr : Ajoutez /data/media/movies.

Avec l’arborescence et les permissions mises en place en partie 1, Sonarr et Radarr pourront importer les fichiers par hardlink. Le fichier original reste disponible pour le seeding, tandis que la bibliothèque possède son propre nom et son propre classement, sans dupliquer les données.

B. Le Standard de Renaming (Comment nommer ?)

Toujours dans Media Management, activez « Rename » et « Replace Illegal Characters ».

Le nommage est vital pour que Plex et votre futur « moi » s’y retrouvent. Le format recommandé par les TRaSH Guides (optimisé pour le nouvel agent Plex avec ID TMDb) permet une reconnaissance instantanée.

Standard Movie Format (Radarr) : {Movie CleanTitle} {(Release Year)} {tmdb-{TmdbId}} - {edition-{Edition Tags}} {[MediaInfo 3D]}{[Custom Formats]}{[Quality Full]}{[Mediainfo AudioCodec}{ Mediainfo AudioChannels]}{[MediaInfo VideoDynamicRangeType]}{[MediaInfo VideoCodec]}{-Release Group}

Standard Series Format (Sonarr) : {Series CleanTitle} {tvdb-{TvdbId}} - S{season:00}E{episode:00} - {Episode CleanTitle} {[Custom Formats]}{[Quality Full]}{[MediaInfo VideoDynamicRangeType]}{[Mediainfo AudioCodec}{ Mediainfo AudioChannels]}{[Mediainfo VideoCodec]}{-Release Group}

Note : Ces formats sont longs, mais ils conservent des informations utiles dans les noms de fichiers : source, qualité, codecs et groupe de release. Cela facilite une réimportation après une migration ou un incident. Gardez néanmoins une sauvegarde de Sonarr et Radarr : les noms de fichiers ne remplacent pas leur base de données et leur configuration.

Conclusion Partie 2

Nous avons maintenant un Media Server intelligent et autonome.

  • Prowlarr trouve les sources et nous permet de switcher de tracker en 2 minutes.
  • Recyclarr synchronise avec Sonarr et Radarr les Custom Formats, leurs scores et les paramètres de nos profils de qualité.
  • qbit_manage maintient l’ordre dans les téléchargements.
  • Qui sécurise la connexion au bunker de téléchargement.
  • Sonarr/Radarr orchestrent le tout et rangent proprement les fichiers.

Mais il manque le principal : pouvoir regarder ce qu’on télécharge ! Pas question d’aller fouiller dans les dossiers.

Dans la Partie 3, nous installerons la « Vitrine » de votre Media Server : Plex pour diffuser vos contenus (avec transcodage matériel) et Seerr pour centraliser les demandes de votre famille.

Pour suivre les prochains articles et mes projets :

Flux RSS Les nouveaux articles, directement dans ton lecteur.

La discussion.

21 commentaires

  1. Guide Media Server Docker 2026 (Partie 3) : Plex, Seerr et Transcodage - LabDuGeek.fr

    […] Server avance bien. Nous avons le Bunker (Partie 1) pour télécharger en sécurité. Nous avons le Cerveau (Partie 2) pour gérer la qualité et le […]

  2. Salut, merci pour le tuto.
    J’ai rencontré un soucis avec le service qbit_manage, l’adresse de l’image semble avoir changé et une petite coquille s’est glissée dans le nom de la variable /data :
    # image: ghcr.io/stuffbymax/qbit_manage:latest > image: ghcr.io/stuffanthings/qbit_manage:latest
    – ${DATA_PATH}:/data > ${DATA_DIR}:/data

      1. Non… il est encore dans le premier YAMl sous qbitmanage. J’ai perdu 1h a chercher l’erreur.

        1. badraxasAuteur

          Bien vu ! J’avais fait la correction à moitié la dernière fois en zappant la variable d’environnement… Le classique volume vide monté à cause d’une mauvaise variable, je comprends ton heure de debug ! C’est corrigé sur l’article, merci d’avoir relancé le sujet, ça sauvera d’autres lecteurs.

  3. Tu utilise qbi_manage mais tout ce que tu fais avec QUI peut deja le faire nan ? autotag les torrent et tout

    1. badraxasAuteur

      Salut ! C’est vrai que Qui gère très bien les tags à l’ajout.

      Mais j’utilise qbit_manage surtout pour faire le grand ménage. Il va :
      – Supprimer les fichiers « orphelins » (les restes oubliés sur le disque).
      – Virer automatiquement les torrents morts (quand un tracker est en erreur).
      – Gérer la suppression automatique basée sur ton ratio ou temps de seed.

  4. carambarr

    Bonjour, merci pour le tuto
    Je galère à cause d’une permission de qbit_manage dans cette 2e partie :

    qbit_manage | Traceback (most recent call last):
    qbit_manage | File « /app/qbit_manage.py », line 318, in
    qbit_manage | default_dir = ensure_config_dir_initialized(get_default_config_dir(config_files, config_dir))
    qbit_manage | File « /app/modules/util.py », line 316, in ensure_config_dir_initialized
    qbit_manage | (p / « logs »).mkdir(parents=True, exist_ok=True)
    qbit_manage | File « /usr/local/lib/python3.13/pathlib/_local.py », line 722, in mkdir
    qbit_manage | os.mkdir(self, mode)
    qqbit_manage | PermissionError: [Errno 13] Permission denied: ‘/config/logs’

    Saurais tu pourquoi ça échoue ?

    1. badraxasAuteur

      Hello, il y avait une coquille dans l’article.
      Dans les volumes de qbit_manage, il faut mettre :
      – ${DATA_DIR}:/data à la place de – ${DATA_PATH}:/data.

      Encore désolé, j’espère que ça t’aidera !

    2. Thonysama

      Bonjour ! merci pour ces tutos incroyable.
      Question, je voudrais garder les fichiers récupérer en Seed, notamment pour une question de ratio.

      ton système malgré le renommage le permet ?

      1. badraxasAuteur

        Hello, oui, c’est tout l’intérêt des hardlinks ! Le fichier est physiquement stocké à un seul endroit mais disponible dans plusieurs dossiers à la fois.

  5. Petite coquille a la fin.

    – ${DATA_PATH}:/data

    Cela ne devrait pas être ?

    – ${DATA_DIR}:/data

      1. carambarr

        Malheureusement, j’avais déjà corrigé cette variable.
        Le problème est plutôt en rapport avec des autorisations puisque j’ai 2 erreurs :
        – la première signalée au dessus : qbit_manage ne peut pas écrire ses logs
        – la 2e lors de la création du fichier recyclarr.yml : nano ${CONFIG_DIR}/recyclarr/recyclarr.yml me retourne un message d’erreur [ Directory ‘/recyclarr’ does not exist ]

        1. badraxasAuteur

          Salut ! Comme je le précisais dans les prérequis du guide, cette stack demande d’être un minimum familier avec les commandes de base d’un terminal Linux.

          Ici, ce sont deux erreurs très classiques de droits et d’arborescence :

          • Pour qbit_manage : Si le dossier de configuration n’existait pas avant le premier lancement, Docker l’a créé automatiquement avec les droits root. Du coup, quand le conteneur démarre et bascule sur ton utilisateur et ton groupe media (définis via le PUID/PGID dans la Partie 1), il n’a plus le droit d’écrire ses propres logs dedans.
            Pour corriger ça, réattribue simplement la propriété du dossier à ton utilisateur avec la commande :
            sudo chown -R ton_user:media /chemin/vers/ton/config/qbit_manage (remplace avec tes vraies infos).
          • Pour le fichier recyclarr.yml : nano ne sait pas créer les dossiers parents. Il faut d’abord créer le dossier avec mkdir -p ${CONFIG_DIR}/recyclarr avant de lancer la commande nano.

          Bon courage pour la suite du setup !

          1. carambarr

            Merci, ça marche. J’apprends petit à petit, désolé si mes questions sont un peu basiques.
            Ton tuto était complètement « plug & play » jusqu’à ce point et ça m’a dérouté.

          2. Moi j’ai une erreur plus ou moins au même endroit :

            user@serveur:/opt/media-stack $ docker compose run –rm recyclarr config list templates
            Container media-stack-recyclarr-run-cae4be9eb031 Creating
            Container media-stack-recyclarr-run-cae4be9eb031 Created
            Failed: official – Access to the path ‘/config/resources/trash-guides/git/official/.git/refs/heads/master’ is denied.
            Failed: official – Access to the path ‘/config/resources/trash-guides/git/official/.git/refs/heads/master’ is denied.

            Infos :
            Le volume défini dans le compose est bien ${CONFIG_DIR}/recyclarr:/config
            (Avec CONFIG_DIR=./ dans le .env)

            Pour moi, dans l’adresse /opt/media-stack/config/resources/trash-guides/git/official/.git/refs/heads/master , le « config » est en trop, le reste du chemin existe.

          3. carambarr

            Salut, finalement, après quelques semaines d’apprentissage, j’ai résolu tous les accueils. Je crois que tout tourne sans problème. je vais me trouver un gros hdd et tout remonter au propre. Merci pour ce super tuto.

  6. Bonjour, et un grand merci pour le partage !
    J’ai appliqué ta méthode et je suis très content du résultat, sauf, pour un cas d’usage avec « Sonarr » : chaque fois que je tente de récupérer une « série française », il enregistre le nom en anglais et lorsqu’il fait ses recherches sur les les « indexeurs », il tente de trouver le titre en anglais et bien sûr il n’y arrive pas !
    Comment as-tu fait pour résoudre ce souci ?
    Par avance, merci.

  7. cracrayol

    Merci pour ton guide. Il m’a permis de mettre en place la stack sur mon NAS. Juste pour signaler 2 suggestions a faire sur cette partie :

    * Recyclarr est sortie en v8, avec un changement assez important au niveau des fichiers de conf qui font que ceux de la v7 (et moins) ne fonctionne plus. Il faudrait penser à mettre a jour cette partie.

    * J’ai remplacé qbit_manage par l’automatisation de Qui (Automations). Son système est suffisamment complet pour retrouver le même fonctionnement de nettoyage de qbit_manage en créant 3 règles (qu’on peut aussi tester via un dry run):

    – Si « Hardlink Scope » « not equals » « outside_qbittorrent » et « Category » « not equals » « Uncategorized » –> Ajouter tag « noHL » (cela tag les fichiers qui n’ont pas de hardlink hors de qbittorrent)

    – Si « Tags » « contains » « noHL » et « Seeding Time » « > » « 15d » –> Ajouter tag « share-limit » et ajouter une limite ratio = 4, Seet time = 43200 m (Permet un temps de seed minimum de 15j et un seed max de 30j ou ratio max de 4 pour les fichiers noHL)

    – Si « Tags » « contains » « share-limit » et « State » « not equals » « Seeding » –> Suppression du fichier (Nettoyage des fichiers). A remplacer par un tag « recycle-bin » (par ex.) si on veut vérifier/supprimer à la main.

    Pour les torrents « Unregistered », suffit de rajouter une règle qui supprime les torrents si leur statut est « unregistered ». Enfin, Qui propose un scan (et nettoyage) des fichiers orphelins (Orphan Scan).

    1. badraxasAuteur

      Merci pour le retour et pour le détail des règles !

      Pour Recyclarr, tu as raison : la v8 a changé pas mal de choses côté configuration, donc cette partie du guide a été mise à jour.
      Pour qbit_manage, je vais probablement le garder de mon côté. Qui permet de reproduire une grosse partie du nettoyage avec les Automations, et ta config montre bien que c’est viable.
      D’un point de vue personnel, j’essaie d’éviter de concentrer trop de logique dans un seul outil : plus je mets d’automatisations dans Qui, plus je couple le fonctionnement de la stack à Qui.
      C’est mon côté développeur. Je préfère garder des responsabilités séparées, avec Qui pour l’interface et la gestion autour de qBittorrent, et qbit_manage pour le nettoyage et les règles dédiées. Ça me laisse aussi plus de liberté si je remplace un jour l’un des deux.
      Au passage, Qui peut aussi remplacer cross-seed, donc ça peut devenir un vrai choix pour tout centraliser dans un seul outil ou garder plusieurs briques spécialisées.

      En tout cas, merci d’avoir documenté la méthode, ça donne une vraie alternative à ceux qui préfèrent réduire le nombre de services.

Commentaire

L’adresse email ne sera pas publiée. Nom, email et commentaire obligatoires.