Initiation à Docker sur Synology et automatisation du téléchargement de vos séries et films

Attention ! cet article n'est qu'une présentation et une aide à la mise en place de logiciels permettant le téléchargement automatique des épisodes de vos séries préférées ainsi que de vos films. Il ne vous encourage pas à pirater et ne donne aucune source de téléchargement !

Ce tutoriel a été écrit pour une mise en place sur un NAS Synology à l'aide de Docker. Il peut également être mis en place sur d'autres matériels, avec ou sans Docker.

Commençons par lister les logiciels qui vont être utilisés pour arriver à nos fins : Docker comme solution de virtualisation, Radarr pour la gestion de votre médiathèque de films, Sonarr pour la gestion de vos séries et épisodes, Jackett comme moteur de recherche unifié, capable de se connecter à vos sites préférés de téléchargement de fichiers torrent, et un logiciel de téléchargement de torrents de votre choix (qBittorrent, ruTorrent, Transmission, ...).

Tout d'abord, qu'est-ce que Docker ? Voici comment Synology le présente :

Docker est un environnement léger de virtualisation qui vous permet de développer et d'exécuter des applications à l'intérieur d'un conteneur logiciel isolé.
Synology a développé une IUG (Interface Utilisateur Graphique) optimisée de gestion de Docker pour permettre aux utilisateurs de créer et de gérer des conteneurs dans DSM.
Docker Hub, le très populaire référentiel d'images intégré, vous permet de trouver des applications partagées provenant d'autres développeurs de talent.

Et qu'est-ce qu'un conteneur ? Pour faire simple et synthétique, un conteneur est une solution de virtualisation logicielle, qui regroupe dans un environnement complet (comprenant le système d’exploitation, le code de l’application, les outils système et les librairies) tout ce dont a besoin une application pour s'exécuter.

Pour installer Docker, rien de plus simple, sur DSM, rendez vous dans le Centre de paquets, recherchez le paquet Docker, et installez-le. Et c'est tout !

Maintenant, lancez Docker, cochez la case pour ne pas voir à chaque lancement la pop-up d'aide, et vous arriverez sur une vue d'ensemble de vos conteneurs (vide pour le moment).

Les onglets disponibles dans l'interface Docker sont les suivants :

  • Vue d'ensemble : On retrouve ici l'utilisation du processeur et de la RAM de votre Synology, ainsi que les conteneurs actuellement lancés.
  • Conteneur : Dans cet onglet se retrouveront tous les conteneurs que vous avez configurés, avec leur statut, le détail sur l'utilisation des processeurs et de la RAM, la possibilité de gérer les paramètres ou consulter les détails de chaque conteneur.
  • Registre : C'est le moteur de recherche des images, qui s'appuie sur Docker Hub, un référentiel communautaire qui contient des images chargées par d'autres développeurs.
  • Image : Les images sont les références des conteneurs, à partir desquelles vous pourrez créer un ou plusieurs conteneurs. Il est également possible d'ajouter des images à partir de fichiers ou d'URL.
  • Réseau : Ici se trouve la configuration des réseaux pour vos conteneurs : bridge pour la création d'un réseau dédié ou host pour partager le même réseau que le Nas lui-même.
  • Journal : Cet onglet permet de suivre les actions des utilisateurs sur une période définie. Vous pouvez afficher le journal en intégralité ou utiliser le filtre pour ne consulter que certains événements.

Après cette rapide introduction à Docker, rentrons dans le vif du sujet, avec le téléchargement des images nécessaires pour mener à bien ce tutoriel. Pour cela, rendez vous dans l'onglet Registre, et cherchez "linuxserver". Sélectionnez la première image, linuxserver/sonarr, et cliquez sur le bouton "Télécharger". Quand il vous sera proposé de choisir l'identification à télécharger, laisser la valeur par défaut, latest, et validez.

Répétez la même opération pour les images suivantes : linuxserver/radarr, linuxserver/jackett, linuxserver/transmission (ce dernier est optionnel si vous avez déjà un client torrent).

Rendez vous dans l'onglet Image et attendez que les images soient téléchargées. Vous aurez une notification une fois que cela sera le cas. Les étapes pour créer un conteneur sont les suivantes :

  1. Sélectionnez l'image linuxserver/transmission et cliquez sur "Lancer".
  2. Vous arriverez sur l'interface de création d'un conteneur. Donnez-lui le nom que vous souhaitez et cliquez sur le bouton des "Paramètres avancés".
  3. Dans l'onglet Paramètres avancés, activez le redémarrage automatique.
  4. Dans l'onglet Volumes, cliques sur "Ajouter un dossier", créez un dossier (dans le dossier partagé docker par exemple) pour stocker les fichiers de configuration et affectez lui le chemin d'accès /config . Répétez la même opération pour le chemin d'accès /downloads .
  5. Dans l'onglet Réseau, laissez sur bridge.
  6. Dans l'onglet Paramètres des ports, définissez le port local sur 9091 pour le port 9091 du conteneur.
  7. Dans l'onglet Environnement, ajoutez les variables PUID, PGID, USER et PASS (ces 2 derniers sont optionnels)
    - PUID correspond à l'identifiant de l'utilisateur Synology ayant les droits sur les dossiers définis dans l'onglet Volumes (Connectez-vous en SSH à votre Nas et tapez la commande id -a User, qui vous donnera uid=1026(User) gid=100(users), où vous retrouverez l'uid et le gid à renseigner)
    - PGID correspond à l'identifiant du groupe de l'utilisateur précédent
    - USER correspond à l'identifiant pour accéder à l'interface de Transmission
    - PASS correspond au mot de passe de l'identifiant précédent
  8. Une fois tous les onglets passés en revue, vous pouvez Appliquer les changements effectués dans les paramètres avancés afin d'obtenir un Résumé de la création du conteneur, et choisir si vous voulez lancer le conteneur.

Une fois le conteneur créé, vous le retrouverez dans l'onglet Conteneur. Vous pouvez afficher les détails du conteneur en double-cliquant dessus ou en utilisant le bouton dédié.

Rendez vous avec votre navigateur sur l'adresse http://<IP-DU-NAS>:9091 et vous devriez obtenir l'interface de Transmission :

Maintenant que le client pour télécharger des fichiers torrent est fonctionnel, nous allons nous intéresser à Radarr. Ce dernier a été créé en s'inspirant très fortement de Sonarr (que nous verrons juste après), et permet, en lui donnant des titres de films qui nous intéressent, de les télécharger automatiquement quand ceux-ci sont disponibles dans la qualité désirée.

Tous les conteneurs se créent de la même manière, je ne vais donc pas reprendre tous les détails, mais seulement mettre en évidence les paramètres à modifier. Rendez vous dans l'onglet Image, et suivez les mêmes étapes que pour le conteneur Transmission, en faisant attention à modifier les paramètres suivants :

  1. Sélectionnez l'image linuxserver/radarr et cliquez sur "Lancer".
  2. Donnez-lui le nom que vous souhaitez et allez dans les "Paramètres avancés".
  3. Activez le redémarrage automatique.
  4. Dans l'onglet Volumes, cliques sur "Ajouter un dossier", créez un dossier (dans le dossier partagé docker par exemple) pour stocker les fichiers de configuration et affectez lui le chemin d'accès /config . Répétez la même opération pour le chemin d'accès /movies correspondant au répertoire contenant vos films, et pour le chemin d'accès /downloads correspondant au répertoire de téléchargement du conteneur Transmission configuré juste avant.
  5. Dans l'onglet Paramètres des ports, définissez le port local sur 7878 pour le port 7878 du conteneur.
  6. Dans l'onglet Environnement, ajoutez les variables PUID et PGID
    - PUID correspond à l'identifiant de l'utilisateur Synology ayant les droits sur les dossiers définis dans l'onglet Volumes (Connectez-vous en SSH à votre Nas et tapez la commande id -a User, qui vous donnera uid=1026(User) gid=100(users), où vous retrouverez l'uid et le gid à renseigner)
    - PGID correspond à l'identifiant du groupe de l'utilisateur précédent
  7. Une fois tous les onglets passés en revue, vous pouvez Appliquer les changements effectués dans les paramètres avancés afin d'obtenir un Résumé de la création du conteneur, et choisir si vous voulez lancer le conteneur.

Rendez vous avec votre navigateur sur l'adresse http://<IP-DU-NAS>:7878 et vous devriez obtenir l'interface de Radarr :

Nous allons d'abord continuer de configurer nos conteneurs avant de passer à la configuration des logiciels. Passons donc au tour de Sonarr.

Sonarr permet, en lui indiquant des séries à suivre, de télécharger automatiquement les épisodes suivant leur calendrier de sortie et leur disponibilité, tout en respectant les règles de qualité que vous auriez établis.
Rendez vous dans l'onglet Image, et suivez les mêmes étapes que pour le conteneur Transmission, en faisant attention à modifier les paramètres suivants :

  1. Sélectionnez l'image linuxserver/sonarr et cliquez sur "Lancer".
  2. Donnez-lui le nom que vous souhaitez et allez dans les "Paramètres avancés".
  3. Activez le redémarrage automatique.
  4. Dans l'onglet Volumes, cliques sur "Ajouter un dossier", créez un dossier (dans le dossier partagé docker par exemple) pour stocker les fichiers de configuration et affectez lui le chemin d'accès /config . Répétez la même opération pour le chemin d'accès /tv correspondant au répertoire contenant vos séries, et pour le chemin d'accès /downloads correspondant au répertoire de téléchargement du conteneur Transmission configuré plus tôt.
  5. Dans l'onglet Paramètres des ports, définissez le port local sur 8989 pour le port 8989 du conteneur.
  6. Dans l'onglet Environnement, ajoutez les variables PUID et PGID
    - PUID correspond à l'identifiant de l'utilisateur Synology ayant les droits sur les dossiers définis dans l'onglet Volumes (Connectez-vous en SSH à votre Nas et tapez la commande id -a User, qui vous donnera uid=1026(User) gid=100(users), où vous retrouverez l'uid et le gid à renseigner)
    - PGID correspond à l'identifiant du groupe de l'utilisateur précédent
  7. Une fois tous les onglets passés en revue, vous pouvez Appliquer les changements effectués dans les paramètres avancés afin d'obtenir un Résumé de la création du conteneur, et choisir si vous voulez lancer le conteneur.

Rendez vous avec votre navigateur sur l'adresse http://<IP-DU-NAS>:8989 et vous obtiendrez l'interface de Sonarr :

Passons enfin au dernier conteneur à créer, Jackett ! Jackett permet de centraliser la recherche de tous vos sites habituels de téléchargement dans une interface unique, et qui plus est, qui sera disponible à travers une API, que nous configurerons dans Radarr et Sonarr. Rendez vous dans l'onglet Image, et suivez les mêmes étapes que pour le conteneur Transmission, en faisant attention à modifier les paramètres suivants :

  1. Sélectionnez l'image linuxserver/jackett et cliquez sur "Lancer".
  2. Donnez-lui le nom que vous souhaitez et cliquez sur le bouton des "Paramètres avancés".
  3. Dans l'onglet Paramètres avancés, activez le redémarrage automatique.
  4. Dans l'onglet Volumes, cliques sur "Ajouter un dossier", créez un dossier (dans le dossier partagé docker par exemple) pour stocker les fichiers de configuration et affectez lui le chemin d'accès /config ainsi que le chemin d'accès /downloads correspondant au répertoire de téléchargement du conteneur Transmission.
  5. Dans l'onglet Paramètres des ports, définissez le port local sur 9117 pour le port 9117 du conteneur.
  6. Dans l'onglet Environnement, ajoutez les variables PUID et PGID
    - PUID correspond à l'identifiant de l'utilisateur Synology ayant les droits sur les dossiers définis dans l'onglet Volumes (Connectez-vous en SSH à votre Nas et tapez la commande id -a User, qui vous donnera uid=1026(User) gid=100(users), où vous retrouverez l'uid et le gid à renseigner)
    - PGID correspond à l'identifiant du groupe de l'utilisateur précédent
  7. Une fois tous les onglets passés en revue, vous pouvez Appliquer les changements effectués dans les paramètres avancés afin d'obtenir un Résumé de la création du conteneur, et choisir si vous voulez lancer le conteneur.

Voici la page que vous aurez en vous rendant sur l'adresse http://<IP-DU-NAS>:9117 depuis votre navigateur :

Voilà, tous les conteneurs nécessaires sont maintenant créés et les différentes interfaces sont accessibles pour la prochaine étape, la configuration.

Commençons par Jacket, qui sera utilisé par Radarr et Sonarr pour chercher les films et séries sur vos sites de téléchargement.

  1. Sur l'interface de Jackett, cliquez sur "Add indexer".
  2. Cherchez votre site de torrent préféré et cliquez sur la roue crantée.
  3. Selon le site vous aurez vos identifiant et mot de passe ou bien une passkey à saisir. Référez-vous à la faq sur votre site pour ça. Cliquez sur "Okay" une fois terminé.

Faites un test de connexion au tracker, qui doit aboutir avec succès.

Pour la prochaine étape, l'ajout de l'indexer créé dans Radarr et Sonarr, vous aurez besoin de la clé API, disponible en haut de la page d'accueil, et du lien Torznab Feed, disponible sur la ligne de l'indexer précédemment ajouté.

Rendez-vous maintenant sur Radarr, et allez dans le menu "Settings", puis dans l'onglet "Indexers".
Cliquez sur le "+" et choisissez d'ajouter un indexer de type "Torznab".
Donnez un nom à l'indexer, utilisez le lien Torznab Feed copié depuis Jackett en tant qu'URL, et copiez l'API dans le champ adéquat. Testez que la connexion soit OK et sauvegardez.

Ces étapes sont les mêmes dans Sonarr.

Procédons maintenant à la configuration de Transmission dans Radarr, pour que les films soient automatiquement téléchargés, ce qui est quand même le but de ce tutoriel.

Sur Radarr, allez dans le menu "Settings", puis dans l'onglet "Download client" et cliquez sur le "+" et sélectionnez le client "Transmission", vu que c'est lui que nous avons mis en place. Donnez un nom au client, remplacez l'IP par celle de votre NAS, renseignez le username et password si vous en aviez mis lors de l'installation du conteneur Transmission, cliquez sur "Test" et enfin "Save" si c'est bon.

Encore une fois, on répète les mêmes étapes pour Sonarr.

Dernière configuration à effectuer, aussi bien dans Sonarr quand dans Radarr, les profils de qualité, qui détermineront en quelle qualité les films et épisodes de séries seront cherchés sur les sites que vous avez définis.
Dans le menu "Settings", puis dans l'onget "Profiles", vous retrouverez les profils existant par défaut. En cliquant sur un profil, vous aurez la possibilité de configurer la langue de recherche du profil ainsi que les qualités associés, notamment leur ordre et le profil cutoff, c'est-à-dire le profil à partir duquel Radarr/Sonnar arrêteront de vérifier qu'une version de meilleure qualité existe.

La configuration des différents logiciels est maintenant terminée, nous allons pouvoir nous occuper de la configuration des médiathèques et vérifier que les films ou séries que nous souhaitons regarder sont bien téléchargées automatiquement.

Nous allons commencer avec Radarr en nous rendant sur l'adresse http://<IP-DU-NAS>:7878. Dans l'onglet "Add Movies", plusieurs choix s'offrent à nous :

  • "Bulk Import Movies" pour importer des films depuis le répertoire de votre NAS et que nous avons configuré en tant que /movies lors de la création du conteneur.
  • "Discover New Movies" pour avoir des recommandations de films en fonction de ceux présents dans la médiathèque.
  • "Add New Movie" pour demander à surveiller un film, qu'il soit sorti ou pas encore.
  • "Add Movies From Lists" pour ajouter une liste de films à surveiller.

Ce tutoriel est arrivé à sa fin, j'espère que vous aurez appris quelque chose, notamment l'utilisation de Docker et des conteneurs sur un Nas Synology, et surtout que vous pourrez passez de bonnes soirées tranquillement en regardant vos séries préférées ou films, sans devoir vous préoccuper de les télécharger. La seule chose que vous avez à faire est maintenant de remplir vos médiathèques de films et séries que vous voulez voir !