Le Cerveau en action : transformer le chaos du P2P en un Media Server organisé.
Accueil / Guide Media Server Docker 2026 (Partie 2) : Automatisation avec Sonarr, Radarr & Prowlarr

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.

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, surtout, garantir que nous ne téléchargeons que de la qualité (fini les CAMs russes et les fakes 4K).

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.

⚠️ Notez bien le mapping des volumes ${DATA_DIR}:/data (ou /data:/data). Il doit être identique à celui de qBittorrent pour que les Hardlinks fonctionnent. Si Sonarr voit /media/tv et qBittorrent voit /data/torrents, le hardlink échouera, provoquant une copie lente et doublant l’espace disque utilisé.

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: recyclarr/recyclarr
    container_name: recyclarr
    user: ${PUID}:${PGID}
    volumes:
      - ${CONFIG_DIR}/recyclarr:/config

  qbit_manage:
    image: ghcr.io/stuffbymax/qbit_manage:latest
    container_name: qbit_manage
    environment:
      - PUID=${PUID}
      - PGID=${PGID}
      - TZ=${TZ}
    volumes:
      - ${CONFIG_DIR}/qbit_manage:/config
      - ${DATA_PATH}:/data
    restart: always

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 »).
    • Pour commencer simple : Cherchez des trackers publics fiables comme 1337x, TorrentGalaxy ou des trackers FR si disponibles.
  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.

Habituellement, on connecte Sonarr à qBittorrent en entrant le login/mdp administrateur de qBittorrent dans la config de Sonarr. C’est une mauvaise pratique de sécurité (couplage fort, credentials root qui traînent).

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 » à la main dans Sonarr (pour préférer le x265, éviter le HDR si on n’a pas d’écran compatible, bannir les CAMs) est un enfer de clics. Les TRaSH Guides sont la référence mondiale, mais ils sont fastidieux à appliquer manuellement.

Recyclarr automatise ça. On définit ce qu’on veut dans un fichier YAML, et il configure Sonarr/Radarr pour nous via leurs APIs.

Le secret pour bien démarrer : Les Templates.

Ne réinventez pas la roue. Recyclarr fournit des fichiers de configuration « prêts à l’emploi » (Starter Configs) maintenus par la communauté. C’est le moyen le plus simple et le plus sûr de commencer : Voir les templates officiels sur GitHub

Créez le fichier ${CONFIG_DIR}/recyclarr/recyclarr.yml. Voici un exemple basique utilisant les templates pour une configuration 4K optimisée, à adapter avec vos clés API :

YAML
sonarr:
  fr-bluray-web-2160p-v4:
    base_url: http://sonarr:8989
    api_key: VOTRE_API_KEY_SONARR
    
    # On importe les templates officiels pour ne pas tout écrire à la main
    include:
      - template: sonarr-quality-definition-series
      - template: sonarr-v4-quality-profile-bluray-web-2160p-french-multi-vo
      - template: sonarr-v4-custom-formats-bluray-web-2160p-french-multi-vo
      
    # On peut surcharger ou ajouter des Custom Formats spécifiques ici
    custom_formats:
      # Exemple : Bannir les releases "bad audio" (ID TRaSH fictif pour l'exemple)
      - trash_ids:
          - 9b27ab6498ec0f31a3353992e19434ca
        assign_scores_to:
          - name: FR-MULTi-VO-WEB-2160p # Nom du profil défini dans le template
      
      # Exemple : Donner un gros score au x265
      - trash_ids:
          - 47435ece6b99a0b477caf360e79ba0bb
        assign_scores_to:
          - name: FR-MULTi-VO-WEB-2160p
            score: 100

Lancez la synchro manuelle pour appliquer la config :

Bash
docker compose run --rm recyclarr sync

Allez voir dans Sonarr (Settings > Custom Formats) : vos règles sont importées. Dans vos profils de qualité, les versions « CAM » auront un score négatif ou seront rejetées. Votre stack est devenue intelligente. Maintenant que Sonarr est configuré, n’oubliez pas de faire la même chose avec Radarr.

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 une configuration de base robuste pour commencer :

YAML
commands:
  dry_run: false
  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
  # On garde en seed les fichiers utilisés par Plex
  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
  # Si un fichier n'est pas utilisé par Plex => On supprime après X temps/ratio
  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

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.

Comme ces dossiers sont sur le même point de montage (/data) que /data/torrents/downloads, le déplacement du fichier sera instantané (Atomic Move / Hardlink).

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 contiennent toutes les métadonnées techniques (HDR, Codec, Audio) directement dans le nom du fichier. En plus d’aider Plex, c’est votre assurance vie en cas de crash ou de migration : Sonarr ou Radarr pourra reconstruire sa base de données parfaitement juste en lisant les noms de fichiers, sans rien deviner.

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 garantit que nous ne téléchargeons pas de CAMs pourries.
  • 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.

1 réflexion sur “Guide Media Server Docker 2026 (Partie 2) : Automatisation avec Sonarr, Radarr & Prowlarr”

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

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Retour en haut