Tuto : installer NZBget, Sonarr, Radarr et Deluge sur Debian 9 Stretch
Pour mettre à jour le gros dossier concocté par Coldfire il y a trois ans, on va s’intéresser aujourd’hui à l’installation d’une « seedbox » sur un OS Linux. Qu’il s’agisse d’un petit serveur à domicile, ou d’une machine distante (comme une Kimsufi ou une Dedibox), petite synthèse des procédures à suivre pour installer les softs nécessaires (NZBget, Sonarr, Radarr et Deluge) sans se prendre la tête.
Préambule : pour ce petit tuto, j’utiliserai la dernière release Debian (nom de code « Stretch »), mais pour ceux qui préfèrent, vous devriez pouvoir transposer la manœuvre sans souci sur Raspbian ou Ubuntu. Notez que la marche à suivre proposée ici n’est pas la seule et unique manière de procéder. Mais après avoir réalisé plusieurs installations du même genre, c’est la procédure qui me semble, avec le recul, la plus simple à mettre en œuvre. Si vous avez des remarques ou alternatives à proposer, n’hésitez pas à le faire dans les commentaires.
Dernière chose : je pars du principe que vous avez un accès direct ou SSH à votre machine, vu qu’on passera par là pour tout installer.
Création d’un utilisateur et installation de SUDO
Par défaut, j’utilise toujours mon compte d’utilisateur pour gérer les différents softs. On va donc le créer et en profiter pour configurer SUDO qui n’est pas installé par défaut sur Debian. Dans votre cas, remplacez bien entendu « faskil » par le nom de votre choix.
Installation de SUDO
$ apt update $ apt install sudo
Création d’un utilisateur et ajout au groupe SUDO
$ adduser faskil $ usermod -aG sudo faskil
Ceci étant fait, on peut désormais se connecter avec ce nouveau compte et commencer à installer les logiciels requis.
Installation de NZBget (téléchargement depuis les newsgroups)
Debian propose une version de NZBget dans ses packages intégrés, mais comme celle-ci date un peu, on va directement aller récupérer la plus récente à la source.
$ wget https://nzbget.net/download/nzbget-latest-bin-linux.run
Ensuite, on lance le script d’installation.
$ sh nzbget-latest-bin-linux.run
Une fois l’installation terminée, on vérifie que tout s’est bien passé en lançant le soft.
$ nzbget/nzbget -s
Si tout s’est bien passé, NZBget devrait se lancer en mode serveur et vous devriez avoir ceci sur l’écran de votre serveur.
Vérifiez que le soft est bien accessible depuis votre navigateur via l’adresse http://ip.du.serveur:6789. Le login par défaut est « nzbget » et le mot de passe « tegbzn6789 ». N’hésitez pas à la modifier dès que possible pour éviter les visites d’indésirables.
Une fois que vous avez pu vérifier que l’interface web était bien accessible, quittez le soft en appuyant sur « Q ». On va ensuite créer un script Systemd pour automatiser son lancement à chaque démarrage de la machine.
Tapez la commande suivante :
$ sudo nano /etc/systemd/system/nzbget.service
Et copiez le contenu ci-dessous dans le fichier nouvellement créé.
Description=NZBGet Daemon Documentation=http://nzbget.net/Documentation After=network.target [Service] User=faskil Group=faskil Type=forking ExecStart=/home/faskil/nzbget/nzbget -D ExecStop=/home/faskil/nzbget/nzbget -Q ExecReload=/home/faskil/nzbget/nzbget -O KillMode=process Restart=on-failure [Install] WantedBy=multi-user.target
N’oubliez pas de remplacer l’utilisateur « faskil » par celui que vous avez choisi, sauvegardez et quittez (via CTRL-X, puis « Y » pour valider la sauvegarde), et activez le script via la commande suivante :
$ sudo systemctl enable nzbget.service
Testez ensuite que le script fonctionne, en tapant :
$ sudo systemctl start nzbget.service $ sudo systemctl status nzbget.service
Normalement, si tout baigne, vous devriez avoir quelque chose du genre à l’écran :
● nzbget.service Loaded: loaded (/etc/systemd/system/nzbget.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2018-09-19 15:33:58 CEST; 32s ago Process: 510 ExecStart=/home/faskil/nzbget/nzbget -D (code=exited, status=0/SUCCESS) Main PID: 511 (nzbget) Tasks: 9 (limit: 4915) CGroup: /system.slice/nzbget.service └─511 /home/faskil/nzbget/nzbget -D Sep 19 15:33:58 victor systemd[1]: Starting nzbget.service... Sep 19 15:33:58 victor systemd[1]: Started nzbget.service.
Installation de Sonarr (téléchargement automatique de séries)
Avant de pouvoir installer Sonarr, il va être nécessaire d’installer Mono (qui permet de faire tourner les softs .Net sous Linux). Pour ce faire, il va d’abord falloir ajouter le dépôt qui va bien.
$ sudo apt install apt-transport-https dirmngr $ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF $ echo "deb https://download.mono-project.com/repo/debian stable-stretch main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list $ sudo apt update
Ensuite, il suffit de lancer la commande suivante :
sudo apt install mono-devel
L’installation risque de prendre quelques minutes, vous avez le temps de vous faire un café. Une fois terminée, vérifiez qu’elle s’est déroulée sans encombre en tapant simplement :
mono --version
Si tout va bien, vous devriez normalement avoir une réponse du genre :
Mono JIT compiler version 5.14.0.177 (tarball Mon Aug 6 09:13:21 UTC 2018) Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com TLS: __thread SIGSEGV: altstack Notifications: epoll Architecture: amd64 Disabled: none Misc: softdebug Interpreter: yes LLVM: yes(3.6.0svn-mono-/) GC: sgen (concurrent by default)
On peut désormais s’attaquer à l’installation de Sonarr à proprement parler. On va d’abord ajouter le dépôt dédié :
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0xFDA5DFFC $ sudo echo "deb http://apt.sonarr.tv/ master main" | sudo tee /etc/apt/sources.list.d/sonarr.list
Puis on passe à l’installation :
$ sudo apt update $ sudo apt install nzbdrone
On s’approprie les droits sur le dossier et ses fichiers, pour être sûr que l’utilisateur choisi puisse lancer le soft.
$ sudo chown -R faskil:faskil /opt/NzbDrone
On peut ensuite tester que Sonarr s’est installé correctement en tapant :
$ mono --debug /opt/NzbDrone/NzbDrone.exe
Si tout est OK, vous devriez pouvoir accéder à l’interface d’administration de Sonarr à l’adresse http://ip.du.serveur:8989.
Enfin, comme pour NZBget, on va créer un petit script qui va permettre au soft de démarrer automatiquement à chaque reboot de la machine.
$ sudo nano /etc/systemd/system/sonarr.service
Copiez ensuite le contenu ci-dessous dans le fichier nouvellement créé :
[Unit] Description=Sonarr Daemon After=syslog.target network-online.target [Service] User=faskil Group=faskil Type=simple ExecStart=/usr/bin/mono --debug /opt/NzbDrone/NzbDrone.exe TimeoutStopSec=20 KillMode=process Restart=on-failure [Install] WantedBy=multi-user.target
Une fois encore, n’oubliez pas de remplacer l’utilisateur faskil par celui de votre choix. Activez ensuite le script avec la commande suivante :
sudo systemctl enable sonarr.service
Et testez-le, comme pour NZBget, en tapant :
sudo systemctl start sonarr.service sudo systemctl status sonarr.service
Si tout s’est bien déroulé, le message affiché devrait ressembler à ceci :
● sonarr.service - Sonarr Daemon Loaded: loaded (/etc/systemd/system/sonarr.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2018-09-19 16:00:02 CEST; 5s ago Main PID: 12463 (mono) Tasks: 11 (limit: 4915) CGroup: /system.slice/sonarr.service └─12463 /usr/bin/mono --debug /opt/NzbDrone/NzbDrone.exe Sep 19 16:00:06 victor mono[12463]: [Info] MigrationLogger: *** 118: add_history_eventType_index migrating *** Sep 19 16:00:06 victor mono[12463]: [Info] add_history_eventType_index: Starting migration to 118 Sep 19 16:00:06 victor mono[12463]: [Info] MigrationLogger: *** 120: update_series_episodes_history_indexes migrating *** Sep 19 16:00:06 victor mono[12463]: [Info] update_series_episodes_history_indexes: Starting migration to 120 Sep 19 16:00:06 victor mono[12463]: [Info] MigrationLogger: *** 121: update_animetosho_url migrating *** Sep 19 16:00:06 victor mono[12463]: [Info] update_animetosho_url: Starting migration to 121 Sep 19 16:00:06 victor mono[12463]: [Info] OwinHostController: Listening on the following URLs: Sep 19 16:00:06 victor mono[12463]: [Info] OwinHostController: http://*:8989/ Sep 19 16:00:07 victor mono[12463]: [Info] NancyBootstrapper: Starting Web Server Sep 19 16:00:07 victor mono[12463]: [Info] ProfileService: Setting up default quality profiles
Installation de Radarr (téléchargement automatique de films)
Vu qu’on a déjà installé Mono à l’étape précédente, l’installation de Radarr devrait aller assez vite. Pour ce faire, on ne va pas passer par un dépôt, mais aller récupérer directement la version plus récente et l’installer dans le dossier opt/ à côté de Sonarr.
$ cd /opt/ $ sudo apt install curl $ sudo curl -L -O $( curl -s https://api.github.com/repos/Radarr/Radarr/releases | grep linux.tar.gz | grep browser_download_url | head -1 | cut -d \" -f 4 ) $ sudo tar -xvzf Radarr.develop.*.linux.tar.gz
On s’approprie les droits sur le dossier et ses fichiers, pour être sûr que l’utilisateur choisi puisse lancer le soft.
$ sudo chown -R faskil:faskil /opt/Radarr
Accessoirement, on supprime le fichier téléchargé.
$ sudo rm Radarr.develop.*.linux.tar.gz
On teste ensuite que l’installation s’est bien passée, en tapant tout simplement :
mono --debug /opt/Radarr/Radarr.exe
L’interface d’administration de Radarr devrait être visible à l’adresse http://ip.du.serveur:7878.
On termine ensuite la procédure en créant une fois de plus un script dédié, pour lancer le service au démarrage de la machine. Vous connaissez désormais la rengaine :
$ sudo nano /etc/systemd/system/radarr.service
Et copiez le contenu ci-dessous dans le fichier nouvellement créé :
[Unit] Description=Radarr Daemon After=syslog.target network.target [Service] User=faskil Group=faskil Type=simple ExecStart=/usr/bin/mono --debug /opt/Radarr/Radarr.exe -nobrowser TimeoutStopSec=20 KillMode=process Restart=on-failure [Install] WantedBy=multi-user.target
En oubliant pas, comme chaque fois, de remplacer faskil par le bon utilisateur. Activez ensuite le script avec la commande suivante :
sudo systemctl enable radarr.service
Et testez-le en tapant :
sudo systemctl start radarr.service sudo systemctl status radarr.service
Si tout s’est bien déroulé, le message affiché devrait ressembler à ceci :
● radarr.service - Radarr Daemon Loaded: loaded (/etc/systemd/system/radarr.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2018-09-19 16:15:30 CEST; 4s ago Main PID: 12756 (mono) Tasks: 11 (limit: 4915) CGroup: /system.slice/radarr.service └─12756 /usr/bin/mono --debug /opt/Radarr/Radarr.exe -nobrowser Sep 19 16:15:30 victor systemd[1]: Started Radarr Daemon. Sep 19 16:15:30 victor mono[12756]: [Info] Bootstrap: Starting Radarr - /opt/Radarr/Radarr.exe - Version 0.2.0.1120 Sep 19 16:15:32 victor mono[12756]: [Info] Router: Application mode: Interactive Sep 19 16:15:32 victor mono[12756]: [Info] MigrationLogger: *** Migrating data source=/home/faskil/.config/Radarr/nzbdrone.db;cache size=-1048 Sep 19 16:15:32 victor mono[12756]: [Info] MigrationLogger: *** Migrating data source=/home/faskil/.config/Radarr/logs.db;cache size=-10485760 Sep 19 16:15:32 victor mono[12756]: [Info] OwinHostController: Listening on the following URLs: Sep 19 16:15:32 victor mono[12756]: [Info] OwinHostController: http://*:7878/ Sep 19 16:15:32 victor mono[12756]: [Info] NancyBootstrapper: Starting NzbDrone API
Installer Deluge (téléchargement de torrents)
L’installation du client Deluge se fait en deux étapes : la première pour le démon, la seconde pour l’interface web.
$ sudo apt install deluged deluge-webui
Et c’est tout ! Reste juste à créer le script de démarrage automatique, comme on l’a déjà fait pour les autres services. Ici, en revanche, on va devoir en créer deux distincts : un pour le démon, l’autre pour l’interface web.
D’abord le démon :
$ sudo nano /etc/systemd/system/deluged.service
Dans lequel on copiera le contenu suivant (en oubliant pas de remplacer faskil par l’utilisateur qui va bien) :
[Unit] Description=Deluge Bittorrent Client Daemon After=network-online.target [Service] Type=simple User=faskil Group=faskil UMask=007 ExecStart=/usr/bin/deluged -d Restart=on-failure # Configures the time to wait before service is stopped forcefully. TimeoutStopSec=300 [Install] WantedBy=multi-user.target
Ensuite, pour l’interface web :
$ sudo nano /etc/systemd/system/deluge-webui.service
Dans lequel on copiera le contenu suivant (en oubliant pas de remplacer faskil par l’utilisateur qui va bien) :
[Unit] Description=Deluge Bittorrent Client Web Interface After=network-online.target [Service] Type=simple User=faskil Group=faskil UMask=027 ExecStart=/usr/bin/deluge-web Restart=on-failure [Install] WantedBy=multi-user.target
On active ensuite ces deux nouveaux services :
sudo systemctl enable deluged.service sudo systemctl enable deluge-webui.service
Et on teste qu’ils fonctionnent :
sudo systemctl start deluged.service sudo systemctl start deluge-webui.service
Si tout baigne, vous devriez pouvoir vérifier leur statut et obtenir les réponses qui vont bien :
sudo systemctl status deluged.service
● deluged.service - Deluge Bittorrent Client Daemon Loaded: loaded (/etc/systemd/system/deluged.service; enabled; vendor preset: enabled) Active: active (exited) since Wed 2018-09-19 16:28:58 CEST; 8min ago Tasks: 0 (limit: 4915) CGroup: /system.slice/deluged.service Sep 19 16:28:58 victor systemd[1]: Starting LSB: Start or stop the Deluge BitTorrent daemon.... Sep 19 16:28:58 victor deluged[13580]: Starting Deluge BitTorrent Daemon: deluged Not starting Deluge BitTorrent Daemon deluged, disabled in / Sep 19 16:28:58 victor systemd[1]: Started LSB: Start or stop the Deluge BitTorrent daemon..
sudo systemctl status deluge-webui.service
● deluge-webui.service - Deluge Bittorrent Client Web Interface Loaded: loaded (/etc/systemd/system/deluge-webui.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2018-09-19 16:37:07 CEST; 1min 32s ago Main PID: 13713 (deluge-web) Tasks: 1 (limit: 4915) CGroup: /system.slice/deluge-webui.service └─13713 /usr/bin/python /usr/bin/deluge-web Sep 19 16:37:07 victor systemd[1]: Started Deluge Bittorrent Client Web Interface.
L’accès à l’interface d’administration de Deluge se fait via l’adresse http://ip.du.serveur:8112.
Et ensuite ?
Voilà, votre seedbox est prête ! Il ne vous reste plus qu’à configurer les différents services en suivant le tuto avisé de Coldfire disponible ici (il ne couvre que NZBGet et Sonarr, mais Radarr se configure de la même manière que ce dernier, et Deluge est relativement intuitif). Si vous avez néanmoins des questions, n’hésitez pas à les poster dans le forum, on tâchera d’y répondre au mieux.