17 KiB
title, description
| title | description |
|---|---|
| Servarr pour Plex | Automatiser les téléchargements de médias avec la suite Servarr, Radarr, Sonarr, Bazarr, Prowlarr et Overseerr pour les films et les séries. |
:ellipsis{left=0px width=40rem top=10rem blur=140px zIndex=60}
::note{to="/serveex/media/servarr"}
C'est la stack Servarr câblée pour Plex plutôt que pour Jellyfin, conservée ici pour référence. Voir Automatisation pour la même stack associée à Jellyfin, l'alternative recommandée puisque Plex n'est pas entièrement auto-hébergé (son propre relais, un compte obligatoire) et enferme des fonctions derrière le paywall du Plex Pass. ::
Servarr est une suite d'applications conçues pour automatiser le téléchargement, la mise à jour et la gestion des médias. Ici, nous nous concentrerons sur les films et les séries avec pour objectif :
- Choisir un film dans un catalogue via une interface web.
- Se poser dans son canapé et le regarder sur Plex quelques minutes plus tard.
Simple.
Nous commencerons par déployer la stack, puis nous configurerons chaque application et verrons comment elles fonctionnent.
Installer les apps
::file-tree
tree: /: - srv: - docker: - plex: - compose.yml - config/ - transcode/ - tautulli: - config/ - sonarr: - config/ - radarr: - config/ - bazarr: - config/ - prowlarr: - config/ - overseerr: - config/ - media: - downloads/ - tvseries/ - movies/ - library/
::
::warning
Attention : respectez bien cette structure de fichiers, en particulier le dossier media. Ce dossier doit être monté exactement de la même façon dans le fichier compose de Qbittorrent (/votre/chemin/media:/media) et dans les applications arr.
Sinon, les applications arr risquent de ne pas reconnaître le chemin fourni par Qbittorrent et ne créeront pas de hardlinks.
Sans hardlinks, les applications arr copieront les fichiers, ce qui doublera l'espace utilisé sur votre stockage.
::
::steps{level="3"}
Déployer la stack
Ouvrez Docker et votre stack plex. Modifiez le fichier compose comme suit :
---
services:
linuxserver_plex:
image: ghcr.io/linuxserver/plex:latest
container_name: plex
network_mode: host
environment:
- PUID=${PUID}
- PGID=${PGID}
- TZ=Europe/Paris
- VERSION=docker
- PLEX_CLAIM= #optional
volumes:
- /srv/docker/plex/config:/config
- /srv/docker/plex/transcode:/transcode #optional
- ${MEDIA_PATH}:/media
labels:
- com.centurylinklabs.watchtower.enable=true
restart: unless-stopped
mem_limit: 4096m
mem_reservation: 2048m
devices:
- /dev/dri:/dev/dri
tautulli:
image: lscr.io/linuxserver/tautulli:latest
container_name: tautulli
environment:
- TZ=Europe/Paris
volumes:
- /srv/docker/tautulli/config:/config
ports:
- 8181:8181
restart: unless-stopped
sonarr:
image: lscr.io/linuxserver/sonarr:latest
container_name: sonarr
environment:
- PUID=${PUID}
- PGID=${PGID}
- TZ=Europe/Paris
volumes:
- /srv/docker/sonarr/config:/config
- ${MEDIA_PATH}:/media
ports:
- 8989:8989
restart: unless-stopped
radarr:
image: lscr.io/linuxserver/radarr:latest
container_name: radarr
environment:
- PUID=${PUID}
- PGID=${PGID}
- TZ=Europe/Paris
volumes:
- /srv/docker/radarr/config:/config
- ${MEDIA_PATH}:/media
ports:
- 7878:7878
restart: unless-stopped
prowlarr:
image: lscr.io/linuxserver/prowlarr:latest
container_name: prowlarr
environment:
- PUID=${PUID}
- PGID=${PGID}
- TZ=Europe/Paris
volumes:
- /srv/docker/prowlarr/data:/config
ports:
- 9696:9696
restart: unless-stopped
overseerr:
image: lscr.io/linuxserver/overseerr:latest
container_name: overseerr
dns:
- 1.1.1.1
- 8.8.8.8
environment:
- PUID=${PUID}
- PGID=${PGID}
- TZ=Europe/Paris
volumes:
- /srv/docker/overseerr/config:/config
ports:
- 5055:5055
restart: unless-stopped
bazarr:
image: lscr.io/linuxserver/bazarr:latest
container_name: bazarr
restart: unless-stopped
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Paris
volumes:
- /srv/docker/bazarr/config:/config
- ${MEDIA_PATH}:/media
ports:
- 6767:6767
::tip{icon=""} ✨ Ajoutez le label Watchtower à chaque conteneur pour automatiser les mises à jour
---
services:
plex:
#...
labels:
- com.centurylinklabs.watchtower.enable=true
tautulli:
#...
labels:
- com.centurylinklabs.watchtower.enable=true
::
Renseigner vos variables d'environnement
Renseignez votre fichier .env avec les variables ci-dessous :
PUID=
GUID=
MEDIA_PATH=
| Variable | Description | Exemple |
|---|---|---|
PUID |
À renseigner avec vos informations utilisateur (à vérifier avec id votreutilisateur) |
1000 |
GUID |
Idem | 1000 |
MEDIA_PATH |
Chemin de votre dossier média, ici /media. Il doit correspondre à celui utilisé par Qbittorrent. |
/media |
Déployez la stack.
Terminé !
::
Paramétrer Radarr
Radarr interroge vos sources torrent et permet de définir le type de releases à privilégier. Il peut aussi mettre à niveau vos films si une meilleure version est disponible.
Une fois déployé, allez sur http://ipdevotreserveur:7878.
::caution
Si ça ne marche pas : vérifiez les règles de votre pare-feu. ::
Créez un compte et choisissez forms login.
::steps{level="4"}
Ajouter un root folder
- Allez dans Settings > Media Management.
- Ajoutez un root folder et sélectionnez
/media/movies.
::warning
Attention : si vous avez déjà des films dans movies provenant de Qbittorrent, ne laissez pas Radarr les ajouter. Radarr pourrait les modifier, ce qui interromprait le seed dans Qbittorrent.
::
Configurer les profils
Allez dans Settings > Profiles. Ce sont vos profils de qualité par défaut. Quand vous faites une demande, vous en choisissez un. Par exemple, configurez le profil « any » en décochant tout sauf ce qui apparaît sur l'image, et en les ordonnant en conséquence. Radarr cherchera ainsi d'abord du 4K REMUX, puis descendra dans la liste si ce n'est pas disponible.
Ajouter Qbittorrent
Dans Settings > Download Clients, ajoutez Qbittorrent.
- Utilisez l'IP de votre serveur comme Host et le port
5695si vous suivez ce guide. - Renseignez vos Username et Password Qbittorrent.
- Cliquez sur Test.
- Si le test réussit, cliquez sur Save.
Connecter à Plex
Allez dans Settings > Connect, ajoutez une nouvelle connexion et choisissez Plex Media Server.
- Utilisez
plexou l'IP de votre serveur comme Host. - Port :
32400 - Cliquez sur le bouton bleu « authenticate with Plex.tv » et connectez-vous à Plex.
- Cliquez sur Test, puis sur Save si le test réussit.
Récupérer la clé API pour Prowlarr et Overseerr
- Allez dans Settings > General et copiez votre API Key pour plus tard.
Terminé !
::
Paramétrer Sonarr
Sonarr interroge les sources torrent et définit le type de releases de séries à privilégier. Il met aussi à niveau les séries quand de meilleures versions sont disponibles.
- Allez sur
http://ipdevotreserveur:8989. - Suivez les mêmes étapes que pour Radarr, mais avec
/media/tvseriescomme root folder.
::caution
Si ça ne marche pas : vérifiez les règles de votre pare-feu. ::
Paramétrer Prowlarr
Prowlarr sert de proxy pour gérer vos indexeurs torrent et les relier à Radarr et Sonarr.
Allez sur http://ipdevotreserveur:9696 et créez un compte, en utilisant forms login.
::caution
Si ça ne marche pas : vérifiez les règles de votre pare-feu. ::
::steps{level="4"}
Ajouter une source
- Allez dans la section Indexers et ajoutez votre indexeur torrent.
Ajouter Radarr et Sonarr
Dans Settings > Apps, ajoutez Radarr et Sonarr avec les informations suivantes :
- Serveur Prowlarr :
http://prowlarr:9696(ou l'IP du serveur) - Serveur Sonarr / Radarr :
http://sonarr:8989ouhttp://radarr:7878 - API Key : celle copiée depuis Radarr et Sonarr.
- Cliquez sur Test, puis sur Save si tout se passe bien.
Terminé !
::
Paramétrer Bazarr
Bazarr est une application qui recherche automatiquement les bons sous-titres, dans les langues de votre choix, pour tous les films et séries ajoutés par Radarr et Sonarr.
Allez sur http://ipdevotreserveur:6767.
::caution
Si ça ne marche pas : vérifiez les règles de votre pare-feu. ::
Allez dans Settings > General et créez un identifiant et un mot de passe en utilisant forms login.
::steps{level="4"}
Ajouter un profil de langage
-
Dans Settings > Languages, cliquez sur le bouton rose Add new profile et nommez-le.
-
Cliquez sur le bouton rose Add Languages et ajoutez vos langues préférées, par exemple French et English.
-
Enregistrez et quittez.
-
En bas de l'écran, sous Default Language For Newly Added Show, cochez les deux cases et sélectionnez le profil que vous venez de créer.

-
Enregistrez avec le bouton en haut de l'écran.
Ajouter des fournisseurs de sous-titres
- Dans Settings > Providers, ajoutez vos fournisseurs préférés, par exemple :
- Enregistrez avec le bouton en haut de l'écran.
Ajouter Radarr et Sonarr
- Allez dans Settings > Sonarr
- Dans Address, saisissez
sonarrou l'adresse IP de votre serveur. - Dans Port, saisissez
8989. - Dans API Key, saisissez la clé API de Sonarr.
- Cliquez sur Test.
- Enregistrez avec le bouton en haut de l'écran.
Répétez les mêmes étapes pour Radarr.
Terminé !
::
Paramétrer Overseerr
Overseerr est une application qui permet de parcourir un catalogue de films et d'envoyer des demandes à Sonarr et Radarr. Parcourez les films ou séries, cliquez sur Request, et le média sera automatiquement téléchargé selon vos réglages Radarr ou Sonarr. Si le titre n'est pas encore sorti, il sera téléchargé automatiquement dès sa disponibilité. Ainsi, les épisodes d'une série apparaissent dans Plex sans aucune intervention manuelle.
Allez sur http://ipdevotreserveur:5055 et connectez-vous avec votre compte Plex.
::caution
Si ça ne marche pas : vérifiez les règles de votre pare-feu. ::
::steps{level="4"}
Ajouter Radarr
Quand la question est posée, ajoutez un serveur Radarr :
- Cochez Default server.
- Server name : Radarr
- Hostname or IP address :
radarrou l'IP de votre serveur - Port :
7878 - API Key : la clé API de Radarr
- Cliquez sur Test en bas.
Si le test réussit, continuez de remplir les champs :
- Quality Profile : celui que vous avez configuré (par exemple
any) - Root Folder : le dossier Plex. Dans nos exemples :
/media/movies - Minimum Availability :
Announced. Cela permet de demander des contenus non sortis et de les télécharger dès leur sortie. - Cochez les 3 cases en bas.
- Enregistrez et continuez.
Ajouter Sonarr
Faites maintenant de même pour Sonarr :
- Cochez Default server.
- Server name : Sonarr
- Hostname or IP address :
sonarrou l'IP de votre serveur - Port :
8989 - API Key : la clé API de Sonarr
- Cliquez sur Test en bas.
Si le test réussit, continuez de remplir les champs :
- Quality Profile : celui que vous avez configuré (par exemple
any) - Root Folder : le dossier Plex. Dans nos exemples :
/media/tvseries - Language Profile :
Deprecated - Cochez les 4 cases en bas.
- Enregistrez et continuez.
Terminé !
::
Et voilà ! Demandez un film ou une série, puis regardez dans qBittorrent ou Radarr/Sonarr. En quelques minutes, votre média sera disponible sur Plex !
Exposer Overseerr avec SWAG
Il peut être utile d'exposer Overseerr si vous voulez envoyer des demandes depuis l'extérieur sans VPN, ou si vous avez partagé votre bibliothèque Plex et voulez que vos proches aient accès à Overseerr.
::note
Nous partons du principe que vous avez le sous-domaine films.mondomaine.fr avec un CNAME pointant vers films.fr dans votre zone DNS. Et que, à moins d'utiliser Cloudflare Zero Trust, le port 443 de votre box est redirigé vers le port 443 de votre serveur via les règles NAT.
::
::steps{level="3"}
Ajouter le réseau d'Overseerr à SWAG
Allez dans Dockge, modifiez le fichier compose de SWAG, et ajoutez le réseau d'Overseerr, qui est le même que celui de Plex (puisqu'il est dans la stack Plex) :
---
services:
swag:
container_name: # ...
# ...
networks: # Connects the container to a custom network
# ...
- plex # Name of the network declared in the stack
networks: # Defines the custom network
# ...
plex: # Name of the declared network
name: plex_default # Actual name of the external network
external: true # Indicates it’s an external network
Redémarrez la stack en cliquant sur « Deploy » et attendez que SWAG soit pleinement opérationnel.
::note
Nous partons ici du principe que le réseau de Tautulli s'appelle plex_default. Vous pouvez vérifier que la connexion fonctionne en visitant le tableau de bord de SWAG sur http://ipdevotreserveur:81.
::
Créer le fichier subdomain.conf
Créez et modifiez le fichier films.subdomain.conf :
::tip{icon="" to="/serveex/files/file-browser-quantum"} ✨ Astuce : vous pouvez utiliser File Browser pour naviguer et modifier vos fichiers plutôt que des commandes dans le terminal. ::
sudo nano /srv/docker/swag/config/nginx/proxy-confs/films.subdomain.conf
Collez ce qui suit :
## Version 2024/07/16
# make sure that your overseerr container is named overseerr
# make sure that your dns has a cname set for overseerr
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name films.*;
include /config/nginx/ssl.conf;
client_max_body_size 0;
# enable for ldap auth (requires ldap-location.conf in the location block)
#include /config/nginx/ldap-server.conf;
# enable for Authelia (requires authelia-location.conf in the location block)
#include /config/nginx/authelia-server.conf;
# enable for Authentik (requires authentik-location.conf in the location block)
#include /config/nginx/authentik-server.conf;
location / {
# enable the next two lines for http auth
#auth_basic "Restricted";
#auth_basic_user_file /config/nginx/.htpasswd;
# enable for ldap auth (requires ldap-server.conf in the server block)
#include /config/nginx/ldap-location.conf;
# enable for Authelia (requires authelia-server.conf in the server block)
#include /config/nginx/authelia-location.conf;
# enable for Authentik (requires authentik-server.conf in the server block)
#include /config/nginx/authentik-location.conf;
include /config/nginx/proxy.conf;
include /config/nginx/resolver.conf;
set $upstream_app overseerr;
set $upstream_port 5055;
set $upstream_proto http;
proxy_pass $upstream_proto://$upstream_app:$upstream_port;
}
location ~ (/overseerr)?/api {
include /config/nginx/proxy.conf;
include /config/nginx/resolver.conf;
set $upstream_app overseerr;
set $upstream_port 5055;
set $upstream_proto http;
proxy_pass $upstream_proto://$upstream_app:$upstream_port;
}
}
Appuyez sur :kbd{value="Ctrl+O"}, puis :kbd{value="Enter"} pour enregistrer, et :kbd{value="Ctrl+X"} pour quitter.
Terminé !
::
Attendez quelques minutes, puis visitez http://films.mondomaine.fr dans votre navigateur.
::caution
Si ça ne marche pas : vérifiez les règles de votre pare-feu. ::
Et voilà, Overseerr est maintenant accessible publiquement !


