2025-06-04 14:19:33 +00:00

17 KiB

navigation, title, main
navigation title main
true Automatisation
fluid
false

:ellipsis{left=0px width=40rem top=10rem blur=140px}

Servarr

::alert{type="info"} 🎯 Objectifs :

  • Automatiser les tĂ©lĂ©chargements de films et de sĂ©ries avec Radarr, Sonarr, Bazarr, Prowlarr et Overseerr. ::

Servarr est une collection d'applications développées dans le but d'automatiser le téléchargement, la mise à jour et la gestions des media. Ici nous allons porter notre attention sur les films et séries avec comme objectif :

  • Pouvoir choisir un film dans un catalogue via une interface web
  • N'avoir plus rien Ă  faire Ă  part en profiter quelques minutes plus tard sur Plex

Simple.

arr

Je vous propose de déployer la stack puis nous verrons par la suite la configuration de chacune des apps et leur fonctionnement.

Installer les apps


Docker compose

Structure des dossiers :

root
├── docker
│   ├── plex      
│   │   ├── compose.yml
│   │   ├── config
│   │   └── transcode
│   ├── tautulli
│   │   └── config
│   ├── sonarr
│   │   └── config
│   ├── radarr
│   │   └── config
│   ├── bazarr
│   │   └── config
│   ├── prowlarr
│   │   └── config
│   └── overseerr
│       └── config
└── media
    ├── tvseries
    ├── movies
    └── library

Ouvrez dockge et votre stack plex. Modifiez le compose comme ceci :

---
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:
      - /docker/plex/config:/config
      - /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:
      - /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:
      - /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:
      - /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:
      - /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:
      - /docker/overseerr/config:/config
    ports:
      - 5055:5055
    restart: unless-stopped

  bazarr:
    image: lscr.io/linuxserver/bazarr:latest
    container_name: bazarr
    environment: null
    restart: unless-stopped - PUID=1000 - PGID=1000 - TZ=Europe/Paris
    volumes:
      - /docker/bazarr/config:/config
      - ${MEDIA_PATH}:/media
    ports:
      - 6767:6767

::alert{type="success"} ✹ Ajoutez le label de watchtower dans chaque conteneur afin d'automatiser les mises à jour

```yaml
services:
  plex:
    #...
    labels:
      - com.centurylinklabs.watchtower.enable=true
      
  tautulli:
    #...
    labels:
      - com.centurylinklabs.watchtower.enable=true

::

Renseignez le .env avec les variables ci-dessous

PUID=
GUID=
MEDIA_PATH=
Variable Valeur Exemples
PUID{lang=properties} A renseigner avec les infos de votre user (trouvables via la commande id nomdutilisateur{lang=shell}) 1000
GUID{lang=properties} A renseigner avec les infos de votre user (trouvables via la commande id nomdutilisateur{lang=shell}) 1000
MEDIA_PATH{lang=properties} le chemin vers votre dossier media, ici : /media. Attention, il doit correspondre aussi Ă  celui qu'utilise Qbittorrent. /media

Déployez la stack.

Paramétrer Radarr


Radarr est une app qui permet de requĂȘter Ă  votre place vos sources de torrent et de dĂ©finir quel type de release vous souhaitez tĂ©lĂ©charger en prioritĂ©. Radarr permet aussi de mettre Ă  jour vos films si une meilleure version est disponible.

Maintenant que vous avez déployé la stack, vous pouvez vous rendre sur http://ipduserveur:7878.

::alert{type="danger"} :::list{type="danger"}

  • En cas d'Ă©chec : vĂ©rifiez les rĂšgles de votre pare-feu. ::: ::

Créez vous un compte, choisissez bien forms login.

Ajouter un root folder
  • Dans le menu Ă  gauche, cliquez sur Settings > Media Management.
  • Ajoutez un root folder, choisisez /media/movies

::alert{type="warning"} :::list{type="warning"}

  • Attention : Si vous avez dĂ©jĂ  des films dans movies issus de Qbittorrent, ne les ajoutez pas dans Sonarr si ce dernier vous le propose. Radarr risque de les modifier ce qui entrainerait l'arrĂȘt du seed par Qbittorrent. ::: ::
Configurer les profils

Dans le menu Settings > Profiles, vous trouverez les profils par dĂ©faut de Radarr. Comprendre que lorsque vous faites une requete, vous demandez un de ces profils. Ainsi, radarr va chercher en prioritĂ© le parametre le plus Ă©levĂ©, puis s'il ne trouve pas, il va passer Ă  celui d'en dessous etc. Vous pouvez par exemple rĂ©gler comme ceci pour le profile "any", en dĂ©cochant tout sauf ce qui est sur l'image, et en les mettant dans le mĂȘme ordre. Avec ce profil "any", Radarr va chercher en prioritĂ© du 4K REMUX (meilleure qualitĂ©), puis s'il ne trouve pas, il va passer au critĂšre du dessous.

profiles_radarr

Ajouter Qbittorrent

Dans Settings > Downloads Clients vous allez ajouter Qbittorrent.

  • Renseignez le Host avec l'IP de votre serveur et prĂ©cisez le port de la webui, si vous avez suivi mon tuto c'est le 5695.
  • Renseignez le Username et le Password de votre interface Qbittorrent.
  • Cliquez sur test.
  • Si tout est ok, cliquez sur save.
Connecter Ă  Plex

Dans Settings > Connect, ajoutez une nouvelle connexion, choisissez Plex Media Server.

  • Dans Host mettez plex ou l'adresse IP de votre serveur.
  • Dans port mettez 32400.
  • Cliquez sur le bouton bleu "authenticate with Plex.tv" et authentifiez vous avec votre compte Plex.
  • Appuyez sur le bouton test.
  • Si tout est ok, appuyez sur le bouton save.
Récupérer la clé API pour Prowlarr et Overserr
  • Dans Settings > General, copiez la API Key et notez la prĂ©cieusement.

Paramétrer Sonarr


Sonarr est une app qui permet de requĂȘter Ă  votre place vos sources de torrent et de dĂ©finir quel type de release vous souhaitez tĂ©lĂ©charger en prioritĂ©. Radarr permet aussi de mettre Ă  jour vos sĂ©ries si une meilleure version est disponible.

  • Rendez-vous sur http://ipduserveur:8989.
  • Suivez exactement les mĂȘmes Ă©tapes que pour Radarr, et en root folder mettez /media/tvseries.

::alert{type="danger"} :::list{type="danger"}

  • En cas d'Ă©chec : vĂ©rifiez les rĂšgles de votre pare-feu. ::: ::

Paramétrer Prowlarr


Prowlarr est un proxy qui permet de gérer vos sources de torrents et de les passer à Radarr et Sonarr.

Rendez-vous sur http://ipduserveur:9696 et créez vous un compte en choisissant bien forms login.

::alert{type="danger"} :::list{type="danger"}

  • En cas d'Ă©chec : vĂ©rifiez les rĂšgles de votre pare-feu. ::: ::
Ajouter une source
  • Dans la section Indexers, ajoutez l'indexer de votre source de torrent.
Ajouter Radarr et Sonarr

Dans la section Settings > Apps, ajoutez Radarr et Sonarr avec les informations ci-dessous :

  • Prowlarr Server : http://prowlarr:9696 (ou remplacez prowlarr par l'IP de votre serveur)
  • Sonarr / Radarr Server : http://sonarr:8989 ou http://radarr:7878(ou remplacez sonarr/radarr par l'IP de votre serveur)
  • API Key, la clĂ© que vous avez notĂ©e pour Radarr et celle de Sonarr.
  • Appuyez sur Test.
  • Si tout va bien, appuyez sur Save.

Paramétrer Bazarr


Bazarr est une app qui permet de chercher automatiquement les bons sous-titre dans les langues souhaitez pour tout les films et séries que Radarr et Sonarr ajoutent pour vous.

Rendez-vous sur http://ipduserveur:9696.

::alert{type="danger"} :::list{type="danger"}

  • En cas d'Ă©chec : vĂ©rifiez les rĂšgles de votre pare-feu. ::: ::

Rendez-vous dans Settings > General et créez un identifiant et un mot de passe en utilisant le forms login.

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 les langues que vous souhaitez, par exemple French et English.
  • Sauvegardez et quittez.
  • En bas de l'ecran dans Default Language For Newly Added Show, cochez les deux cases et renseignez le profil que vous venez de crĂ©er. Bazarr
  • Enregistrez avec le bouton tout en haut de l'Ă©cran.

Ajouter des fournisseurs de sous-titre

  • Dans Settings > Providers, ajoutez vos fournisseurs favoris, comme par exemple :

Bazarr

  • Enregistrez avec le bouton tout en haut de l'Ă©cran.

Ajouter Radarr et Sonarr

  • Rendez-vous dans Settings > Sonarr
  • Dans Adress, mettez sonarr ou l'adresse IP du serveur.
  • Dans Port mettez 8989.
  • Dans API Key mettez la clĂ© API de Sonarr.
  • Cliquez sur Test.
  • Enregistrez avec le bouton tout en haut de l'Ă©cran.

Faites de mĂȘme avec Radarr.

Paramétrer Overseerr


Overseerr est une application qui permet de naviguer dans un catalogue de film et de faire des requetes à Sonarr et à Radarr. Il suffit de naviguer dans les films ou séries, puis de cliquer sur Demander, et le film ou la série sera automatiquement téléchargée selon les paramÚtres de Radarr ou de Sonarr. Si le film ou la série n'est pas sortie, cela sera automatiquement téléchargé lorsque cela sera disponible. Ainsi, les épisodes d'une séerie arrivent automatiquement au fur et à mesure dans Plex sans aucune intervention manuelle.

Overseerr

Rendez-vous sur http://ipduserveur:5055 et authentifiez vous avec votre compte Plex.

::alert{type="danger"} :::list{type="danger"}

  • En cas d'Ă©chec : vĂ©rifiez les rĂšgles de votre pare-feu. ::: ::

Ajouter Radarr et Sonarr

Lorsque cela vous est demandé, ajoutez un serveur radarr :

  • Cochez serveur par dĂ©faut.
  • Nom du serveur : Radarr
  • Nom d'hĂŽte ou adresse IP : radarr ou l'adresse IP de votre serveur
  • Port : 7878.
  • ClĂ© d'API : la clĂ© API de Radarr.
  • Cliquez sur Tester en bas.

Si tout va bien, continuez Ă  renseigner les champs.

  • Profil de qualitĂ© : celui que vous avez configurĂ© (par exemple, any).
  • Dossier racine : le dossier de plex. Dans nos exemples : /media/movies.
  • DisponibilitĂ© minimale : AnnoncĂ©. Ainsi, si un film n'est pas sorti, vous pouvez le demander et il sera automatiquement rĂ©cupĂ©rĂ© Ă  sa sortie.
  • Cochez les 3 cases du bas.
  • Sauvegardez et continuez.

Puis faites de mĂȘme avec Sonarr :

  • Cochez serveur par dĂ©faut.
  • Nom du serveur : Radarr
  • Nom d'hĂŽte ou adresse IP : sonarr ou l'adresse IP de votre serveur
  • Port : 8989.
  • ClĂ© d'API : la clĂ© API de Sonarr.
  • Cliquez sur Tester en bas.

Si tout va bien, continuez Ă  renseigner les champs.

  • Profil de qualitĂ© : celui que vous avez configurĂ© (par exemple, any).
  • Dossier racine : le dossier de plex. Dans nos exemples : /media/tvseries.
  • Profil de langue : Deprecated.
  • Cochez les 4 cases du bas.
  • Sauvegardez et continuez.

Et voilà ! Vous n'avez plus qu'à faire une demande d'un film et d'une serie, puis de vérifier dans qbittorrent ou dans radarr/sonarr que tout va bien. Dans quelques minutes, votre media sera sur Plex !

Exposer Overseerr avec Swag


Il peut etre intĂ©ressant d'exposer Overseerr, si vous souhaitez pouvoir faire des requĂȘtes depuis l'exterieur sans VPN, ou si vous avez partagĂ© votre BibliothĂšque Plex Ă  des utilisateurs et que vous souhaitez qu'ils aient accĂšs Ă  Overseerr.

::alert{type="info"} :::list{type="info"}

Rendez-vous dans dockge, et éditez le compose de SWAG en ajoutant le réseau d'overseer, qui est celui de Plex car dans la stack Plex :

services:
  swag:
     container_name: # ...
      # ... 
     networks:              # Relie le conteneur au réseau custom 
      # ...           
      - plex            # Nom du réseau déclaré dans la stack
    
networks:                   # Définit le réseau custom
  # ...
  plex:                 # Nom du réseau déclaré dans la stack
    name: plex_default  # Nom véritable du réseau externe
    external: true          # Précise que c'est un réseau à rechercher en externe

Relancez la stack en cliquant sur "déployer" et patientez le temps que SWAG soit complÚtement opérationnel.

::alert{type="info"} :::list{type="info"}

  • Ici nous partons du principe que le nom du rĂ©seau de Tautulli est plex_default. Vous pouvez vĂ©rifier que la connexion est opĂ©rationnelle en visitant le dashboard de SWAG en tapant http://ipduserveur:81. ::: ::

Créez le fichier films.subdomain.conf et éditez le :

::alert{type="success"} ✹ Astuce : vous pouvez utiliser File Browser pour naviguer dans vos fichier et Ă©diter vos documents au lieu d'utiliser les commandes du terminal. ::

sudo vi /docker/swag/config/nginx/proxy-confs/films.subdomain.conf

Rentrez en édition en appuyant sur i:

## 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 Echap puis sauvegardez et quittez en tappant :x

Patientez quelques minutes puis tapez dans votre navigateur http://films.mondomaine.fr.

::alert{type="danger"} :::list{type="danger"}

  • En cas d'Ă©chec : vĂ©rifiez les rĂšgles de votre pare-feu. ::: ::

Et voilà, vous avez exposé Overseerr !