Stack *arr + Plex + Kometa sur Unraid : le guide complet
La stack média sur Unraid, c’est un écosystème complet : des séries et films qui se téléchargent automatiquement, une médiathèque Plex toujours à jour, des collections Kometa qui s’actualisent toutes seules.
Mais entre les permissions qui coincent, les hard links qui ne marchent pas, et le VPN qui fuit, il y a de quoi se prendre la tête. Voici comment j’ai configuré la mienne, service par service.
Vue d’ensemble de la stack
| Service | Rôle | Statut |
|---|---|---|
| Sonarr | Séries TV (qualité, saisons, épisodes) | running |
| Radarr | Films (qualité, versions 4K/HD) | running |
| Prowlarr | Indexeur unique synchronisé | running |
| qBittorrentVPN | Client torrent avec killswitch | running |
| Plex | Serveur média / streaming | running |
| Tautulli | Monitoring Plex | running |
| Kometa | Collections et overlays Plex | scheduled |
| qbit-exporter | Métriques qBittorrent → Prometheus | running |
Tous les containers utilisent les mêmes identifiants : PUID=99 (nobody), PGID=100 (users), UMASK=002. C’est la règle numéro un pour éviter les bugs de permissions.
L’organisation du stockage
Tout part du même share Unraid :
/mnt/user/Downloads/
├── Movies/ ← films : import Radarr
├── TV Shows/ ← séries : import Sonarr
├── Anime/ ← animations
├── torrent/ ← downloads bruts qBittorrent
└── ...
Chaque container monte ce share avec le même chemin :
- Sonarr :
/tv→/mnt/user/Downloads/TV Shows/,/downloads→/mnt/user/Downloads/ - Radarr :
/movies→/mnt/user/Downloads/Movies/,/downloads→/mnt/user/Downloads/ - qBittorrentVPN :
/downloads→/mnt/user/Downloads/ - Plex :
/data→/mnt/user/Downloads/
Pourquoi c’est important : comme tous les containers partagent le même filesystem, Sonarr et Radarr peuvent utiliser des hard links. Le fichier téléchargé reste au même endroit sur le disque, mais il est accessible depuis le dossier de seed ET depuis le dossier média, sans double occupation.
Si vos downloads sont sur un cache SSD et vos médias sur l’array, les hard links sont impossibles : les *arr copient, vous consommez deux fois l’espace.
qBittorrentVPN : la base téléchargement
Le container binhex/qbittorrentvpn embarque OpenVPN avec killswitch iptables. Si le tunnel VPN tombe, plus rien ne passe.
Points de configuration :
LAN_NETWORK: votre réseau local (ex:192.168.1.0/24) pour accéder au WebUIVPN_ENABLED: toujoursyes- Mode réseau : bridge ou br0 (pas host, sinon le killswitch ne s’applique pas)
Test d’étanchéité :
docker exec qbittorrentvpn curl -s ifconfig.me
Si la réponse est votre IP publique réelle, le VPN ne fonctionne pas. À corriger avant d’aller plus loin.
Avec qbit-exporter, les métriques du client (nombre de torrents, ratio, vitesse) remontent dans Prometheus pour être affichées dans Grafana.
Prowlarr : l’indexeur qui synchronise tout
Prowlarr centralise tous vos indexeurs et les synchronise automatiquement vers Sonarr et Radarr. Plus besoin de configurer chaque indexeur dans chaque app.
Il suffit de :
- Ajouter vos indexeurs dans Prowlarr (publics via leurs URLs, privés via invites Torznab ou Jackett)
- Connecter Sonarr et Radarr dans Prowlarr (l’UI propose un bouton “Sync Apps”)
- La synchronisation est instantanée
Un indexeur ajouté dans Prowlarr apparaît immédiatement dans Sonarr et Radarr, avec le même nom, la même priorité, les mêmes réglages.
Sonarr et Radarr : l’automatisation des import
La configuration est quasi identique pour les deux :
- Client de téléchargement : qBittorrentVPN
- Catégorie :
tvpour Sonarr,moviespour Radarr - Dossier :
/downloads/torrent/ - Gestion des fichiers : hard links activés (automatique si les chemins sont cohérents)
- Qualité : profils personnalisés avec custom formats
Les custom formats permettent de prioriser les releases : Remux > Bluray 2160p > Bluray 1080p > WEB 1080p, avec un bonus pour HDR/DV/HDR10+. Chaque format a un score, Radarr choisit la release qui maximise le score total.
Les catégories dans qBittorrent évitent de mélanger : tv pour Sonarr, movies pour Radarr. Chaque *arr pousse ses téléchargements dans sa catégorie respective.
Plex : le serveur média
Plex monte /mnt/user/Downloads/ en /data. Les bibliothèques pointent vers :
/data/Movies/pour les films/data/TV Shows/pour les séries/data/Anime/pour les animations
Mêmes PUID/PGID que le reste de la stack. Le transcodage se fait sur /tmp/plex-transcode pour éviter d’user les SSD.
Tautulli surveille l’activité Plex : qui regarde quoi, sur quel appareil, quelle qualité. Il envoie des notifications si un transcodage ralentit ou si un utilisateur rencontre un problème.
plex-exporter remonte le nombre de sessions actives, la bande passante consommée, et le statut du serveur dans Prometheus.
Kometa : le métier à métadonnées
Kometa (anciennement Plex Meta Manager) tourne en tâche planifiée (pas en continu). Il s’exécute, applique ses règles, puis s’arrête.
Ce qu’il fait :
- Collections dynamiques : “Films Marvel par ordre chronologique”, “Meilleurs films 2024”, “Séries en cours”
- Overlays : indicateur 4K, HDR, Dolby Atmos, audio français/VOST
- Métadonnées : mises à jour automatiques des affiches, descriptions, notes
- Règles basées sur les tags Plex, les genres, les réalisateurs, les notes IMDb
Kometa se configure via un fichier YAML. Exemple de collection :
collections:
En cours:
plex_search:
all:
progress: 1
season_count:
modifier: greater_than
value: 1
sort_title: "!1_En cours"
Pas besoin de le laisser tourner en permanence : Unraid le lance périodiquement (toutes les 6h ou tous les jours selon vos réglages), et il s’arrête une fois le travail fini.
Surveiller l’ensemble
Un dashboard Grafana regroupe :
- Stockage : espace restant sur
/mnt/user/Downloads/ - qBittorrent : nombre de torrents actifs, ratio global (via qbit-exporter)
- Plex : sessions en cours, bande passante (via plex-exporter)
- Taux d’échec : recherches Sonarr/Radarr qui n’ont rien trouvé
Tautulli complète avec des alertes : lecture interrompue, transcode en dessous de la résolution source, utilisateur banni.
Plan d’installation progressif
Si vous montez la stack de zéro :
- qBittorrentVPN → configurez le VPN, testez le killswitch, faites un download manuel
- Prowlarr → ajoutez 2-3 indexeurs, synchronisez
- Sonarr + Radarr → une série, un film, vérifiez l’import en dur
- Plex → bibliothèques, vérifiez que les médias apparaissent
- Tautulli → notifications
- Kometa → collections de base, puis overlay
Chaque étape validée avant la suivante. Ça paraît lent, mais ça évite de debugger 6 services en même temps.
En résumé
Une stack média stable sur Unraid repose sur trois piliers :
- Permissions unifiées : PUID/PGID/UMASK identiques pour tous les containers
- Stockage cohérent : un seul share, des chemins identiques, des hard links partout
- VPN étanche : killswitch actif, testé, vérifié régulièrement
Le reste — Plex, Kometa, Tautulli, Prometheus — vient en surcouche. Mais sans les bases, rien ne tient.