Skip to content

superbionicle/NSH

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

Netflix Self-Hosted (NSH), Docker version

Sommaire

Pré-requis

  • connaissance de Docker
  • connaissance en bash
  • docker et docker compose installés
  • terminal de commandes accessible
  • accès aux paramètres réseaux

Remarque pour docker compose : dans la suite du README.md, la commande docker compose up sera appelée maintes fois. Une fois lancée, le terminal n'est plus accessible à moins d'utiliser Ctrl+C afin de tuer le processus. Au lieu de cela, vous pouvez utiliser à la place docker compose up -d afin de lancer les conteneurs en détaché afin de garder la main sur le terminal.

Remarque pour le fichier docker-compose.yml : dans les explications, vous trouverez <plex-dir> dans les volumes du fichier docker-compose.yml. Il s'agit du chemin où est situé votre répertoire de travail. Dans mon cas à moi, il s'agit de /Users/arthur/Downloads/plex.

Configuration réseau

Afin de faciliter la configuration du NSH, il est recommandé de ne pas utiliser l'adresse IP donnée via le DHCP de la box mais d'en utiliser une fixe. Pour ma part, et pour le reste des explications, mon adresse IP sera 192.168.1.200.

Il sera intéressant aussi de changer le DNS de la machine hébergeant le NSH, afin de contourner certains sécurités Cloudflare, en mettant le DNS 1.1.1.1, c'est-à-dire celui de Cloudflare lui-même.

Remarque : attention, en changeant le DNS par défaut par celui de Cloudflare, certains sites peuvent ne plus être accessible. C'est notamment le cas pour accéder à l'interface de votre routeur Livebox par exemple.

Création du répertoire projet

Lancez la commande mkdir plex et placez-vous dedans avec cd plex.

Fichier docker-compose initial

Lancez touch docker-compose.ymlet remplissez le fichier créé avec le contenu ci-desssus :

services:
  plex:
    image: plexinc/pms-docker:latest
    container_name: plex
    environment:
        - PUID=1000
        - PGID=1000
        - TZ=Etc/UTC
        - VERSION=docker
        #- PLEX_CLAIM=
    volumes:
        - <plex-dir>:/config
        - <plex-dir>/movies:/movies
        - <plex-dir>/tv:/tv
    ports:
        - 32400:32400
        - 32469:32469
    restart: unless-stopped

Une fois fait, lancez docker compose up et rendez-vous sur http://localhost:32400 Connectez vous à Plex avec votre compte, ou créez vous un compte Plex. capture écran accueil Plex Une fois fait, vous devriez arriver sur une page similaire à celle ci-dessous. capture écran accueil Plex Une fois fait, accédez à account.plex.tv/fr/claim afin de récupérer votre code Plex. Collez-le à la suite du champ #- PLEX_CLAIM= dans le docker-compose.yml et décommentez la ligne. Exécutez docker compose down puis docker compose up. Choisissez le nom de votre NSH et créer une bibliothèque de films, et une de séries. plex name biblio plex

Compte Trakt

Créez un compte Trakt. Ce compte vous permettra d'ajouter des films et séries à votre Watchlist, afin qu'ils soient téléchargés automatiquement plus tard.

Remarque : pourquoi créer un compte sur Trakt et non pas un autre site tel que TMDb, IMDb ou Sens Critique ? Sens Critique n'est pas compatible avec Radarr et Sonarr afin de surveiller des listes. TMDb n'est comptatible uniquement avec Radarr, tandis que IMDb l'est avec les deux. Cependant, ils ne sont exploitables qu'avec des listes. Trakt est comptatible avec Radarr et Sonarr et permet de connecter un utilisateur plutôt qu'une liste. Ainsi, il suffira de renseigner plus tard un utilisateur et cela sera reconnu automatiquement par les deux outils. Une fois le compte créé, ajoutez un film et une série, déjà sortis de préférence, à votre Watchlist.  watchlist

Transmission

Ajoutez au docker-compose.yml le bloc suivant :

transmission:
    image: lscr.io/linuxserver/transmission:latest
    container_name: transmission
    environment:
        - PUID=1000
        - PGID=1000
        - TZ=Etc/UTC
    volumes:
        - <plex-dir>/transmission:/config
        - <plex-dir>/transmission/downloads/complete:/downloads/complete
        - <plex-dir>/transmission/downloads/incomplete:/downloads/incomplete
    ports:
        - 9091:9091
        - 51413:51413
        - 51413:51413/udp
    restart: unless-stopped

Lancez ensuite docker compose down et docker compose up. Rendez-vous sur localhost:9091 pour vérifier le bon fonctionnement du conteneur.

Prowlarr

Bloc du docker-compose

Ajoutez au docker-compose.yml le bloc suivant :

prowlarr:
    image: lscr.io/linuxserver/prowlarr:latest
    container_name: prowlarr
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
    volumes:
      - <plex-dir>/prowlarr:/config
    ports:
      - 9696:9696
    restart: unless-stopped

Lancez ensuite docker compose down et docker compose up. Rendez-vous ensuite sur localhost:9696. Un pop-up apparait pour vous demander de renseigner la méthode de connexion à Prowlarr par la suite. pop up prowlarr Une fois connecté à Radarr, allez dans Settings puis UI afin de modifier l'interface, et notamment le format des dates et heures ou la langue. Remarque : pour la suite des explications, je basculerai l'interface en "Français" afin de faciliter les explications.

Lien avec Transmission

Allez dans Paramètres et Clients de téléchargement. Cliquez sur le bouton + et sur Transmission. + tranmission Remplissez uniquement le champ "Hôte" avec l'adresse IP de la machine et validez. settings transmission transmission add

Indexeurs

Remarque : par soucis de légalité, je ne montrerai ni recommanderai aucun indexeur.

Allez dans Indexeurs et cliquez sur le bouton Ajouter un nouvel indexeur. indexeurs Choisissez votre indexeur, notamment son URL de base et validez votre choix. N'oubliez pas de tester si l'URL fonctionne correctement et n'est pas bloquée par Cloudflare ou tout autre système de sécurité.

Radarr

Bloc du docker-compose

Ajoutez au docker-compose.yml le bloc suivant :

radarr:
    image: lscr.io/linuxserver/radarr:latest
    container_name: radarr
    environment:
        - PUID=1000
        - PGID=1000
        - TZ=Etc/UTC
    volumes:
        - <plex-dir>/radarr:/config
        - <plex-dir>/movies:/movies
        - <plex-dir>/transmission/downloads:/downloads
    ports:
        - 7878:7878
    restart: unless-stopped

Lancez ensuite docker compose down et docker compose up. Rendez-vous ensuite sur localhost:7878. De la même manière que pour Prowlarr, un pop-up apparait pour vous demander de renseigner la méthode de connexion à Radarr par la suite. Une fois connecté à Radarr, allez dans Settings puis UI afin de modifier l'interface, et notamment le format des dates et heures ou la langue. Remarque : pour la suite des explications, je basculerai l'interface en "Français" afin de faciliter les explications.

Dossier racine

Allez dans Paramètres et Gestion des médias. Cliquez sur le bouton Ajouter un dossier racine. + Dans notre cas, il s'agit de /movies. movies ok Le dossier racine permet à Radarr de déplacer les films téléchargés dans ce dossier, afin qu'ils soient détectés par Plex.

Lien avec le serveur Plex

Allez dans Paramètres et Connexions. Cliquez sur le bouton + et sur Plex Media Server. + PMS Remplissez les informations nécessaires, utilisez Start OAuth pour établir le lien avec votre serveur Plex et laissez cocher Mettre à jour la bibliothèque (cela permet à Radarr de mettre à jour automatiquement votre bibliothèque Plex une fois le téléchargement d'un nouveau film). settings

Remarque : attention, si vous suivez ce guide afin de tout utiliser via des conteneurs, il ne faudra pas mettre localhost dans le champ Hôte mais bien l'adresse IP de votre machine. Si au contraire tout est installé en dur sur la machine, vous pouvez mettre localhost. add plex

Lien avec Trakt

Allez dans Paramètres et Listes. Cliquez sur le bouton + et sur Trakt User. + trakt user Cochez Activer, choisissez le dossier racine, remplissez l'utilisateur et utilisez Start OAuth pour établir le lien avec votre compte Trakt. settings Une fois cela fait, votre liste devrait apparait. trakt user

Remarque : depuis une certaine version, Radarr (et par conséquent Sonarr) ne font un refresh des listes que toutes les 12h. Il est donc recommander d'anticiper l'ajout de films dans la liste la veille pour le lendemain.

Pour vérifier le bon fonctionnement de notre manipulation, allez dans Films. Vous devriez voir normalement apparaitre les films que vous aviez au préalable ajoutés dans votre Watchlist sur Trakt. films

Lien avec Prowlarr

Allez dans Paramètres et Général. Copiez la clef API. clef API Allez sur Prowlarr. Dans Paramètres puis Applications, cliquez sur le bouton + et sélectionnez Radarr. + settings Remplacez les localhost dans les champs par l'adresse IP de la machine et renseignez la clef API, puis validez. ok Retournez sur Radarr. Allez dans Paramètres puis Indexeurs. Vous devriez retrouver le ou les indexeurs que vous aviez ajoutés sur Prowlarr précédement. Si vous ne les voyez pas, vérifiez que les indexeurs choisis comportent le tag Movies.

Lien avec Transmission

Allez dans Paramètres et Clients de téléchargement. Cliquez sur le bouton +et sélectionnez Transmission. + Renseignez l'adresse IP de la machine et laissez cochées les deux dernières cases, puis validez. settings settings

Remarque : si le message Vous utilisez docker ; Transmission enregistre les téléchargements dans /downloads/complete/radarr mais ce dossier n'est pas présent dans ce conteneur. Vérifiez vos paramètres de dossier distant et les paramètres de votre conteneur docker. apparait dans l'onglet Système, il est probable qu'il manque un dossier. Il suffit juste de créer le dossier <plex-dir>/transmission/complete/radarr et de redémarrer vos conteneurs.

Téléchargements

Une fois que tout est configuré, l'ajout de films devrait déclencher automatiquement leur téléchargement. Cependant, on remarque que ce n'est pas le cas pour le film qui est déjà surveillé. C'est normal car nous avons fait la configuration de l'ensemble des composants. Il suffit juste d'appuyer sur le bouton Tout rechercher pour commencer la recherche des films sur les différents indexeurs. film film surveillé Allez dans l'onglet Activité pour voir que le téléchargement a bien débuté. activité dl Vous pouvez également retourner sur Transmission pour observer que le téléchargement s'effectue correctement de ce côté là. dl transmission Une fois le téléchargement fini, Radarr commence l'état d'import pour déplacer le film dans le dossier racine. import ok Une fois l'import fini, Radarr devrait avoir mis à jour Plex et ce dernier devrait reconnaitre le film dans son répertoire. plex Si ce n'est pas le cas, il suffit de faire un scan de la bibliothèque de fichiers. scan plex

Remarque : malgré la sélection des cases pour supprimer les films téléchargés dans le répertoire <plex-dir>/transmission/downloads/complete, ceux si persistent. Attention donc si vous utilisez ce système sur votre ordinateur personnel, le stockage pourrait vite saturer. remarque TODO: trouver un moyen de supprimer les torrents une fois ceux-là terminés, et supprimer les films en doublon dans le répertoire <plex-dir>/transmission/downloads/complete.

Sonarr

Ajoutez au docker-compose.yml le bloc suivant :

sonarr:
    image: lscr.io/linuxserver/sonarr:latest
    container_name: sonarr
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
    volumes:
      - <plex-dir>/sonarr/data:/config
      - <plex-dir>/tv:/tv
      - <plex-dir>/transmission/downloads:/downloads
    ports:
      - 8989:8989
    restart: unless-stopped

Lancez ensuite docker compose down et docker compose up. Rendez-vous ensuite sur localhost:8989. La configuration de Sonarr est similaire à Radarr. Vous pouvez reprendre les points précédents pour configurer le téléchargement de séries avec Sonarr.

Remarque : le dossier racine n'est pas /movies mais /tv ici.

Remarque : pour déclencher manuellement la recherche sur les indexeurs, il faut aller dans Recherché et appuyer sur Tout rechercher.

recherché activité

Fichier docker-compose.yml final

Contenu du fichier docker-compose.yml :

services:
  plex:
    image: plexinc/pms-docker:latest
    container_name: plex
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
      - VERSION=docker
      #- PLEX_CLAIM=claim-
    volumes:
      - <plex-dir>:/config
      - <plex-dir>/movies:/movies
    ports:
      - 32400:32400
      - 32469:32469
    restart: unless-stopped

  transmission:
    image: lscr.io/linuxserver/transmission:latest
    container_name: transmission
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
    volumes:
      - <plex-dir>/transmission:/config
      - <plex-dir>/transmission/downloads/complete:/downloads/complete
      - <plex-dir>/transmission/downloads/incomplete:/downloads/incomplete
    ports:
      - 9091:9091
      - 51413:51413
      - 51413:51413/udp
    restart: unless-stopped

  prowlarr:
    image: lscr.io/linuxserver/prowlarr:latest
    container_name: prowlarr
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
    volumes:
      - <plex-dir>/prowlarr:/config
    ports:
      - 9696:9696
    restart: unless-stopped

  radarr:
    image: lscr.io/linuxserver/radarr:latest
    container_name: radarr
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
    volumes:
      - <plex-dir>/radarr:/config
      - <plex-dir>/movies:/movies
      - <plex-dir>/transmission/downloads:/downloads
    ports:
      - 7878:7878
    restart: unless-stopped

  sonarr:
    image: lscr.io/linuxserver/sonarr:latest
    container_name: sonarr
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
    volumes:
      - <plex-dir>/sonarr:/config
      - <plex-dir>/tv:/tv
      - <plex-dir>/transmission/downloads:/downloads
    ports:
      - 8989:8989
    restart: unless-stopped

About

Netflix Self Hosted (NSH)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors