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.

Seedbox Linux

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.

NZBget

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.

Vous devriez également aimer…