Création d’une seedbox avec Deluge sur un Raspberry

J'ai récemment installé une seedbox sur Raspberry Pi qui tourne vraiment bien. Elle est basée sur le logiciel Deluge qui ne consomme pas énormément de ressources. Je me suis dit qu'il pourrait être intéressant de vous décrire le process d'installation.

Cette seedbox tourne sur la version 3B+ du Raspberry qui bénéficie d'un port Ethernet gigabit et permet de faire tourner le système d'exploitation sur un ssd. Mais ça devrait fonctionner sans souci sur les versions précédentes, j'ai d'ailleurs refait toute l'installation sur un Raspberry 3 pour réaliser ce tutoriel. En toute logique la procédure est aussi valable sur n'importe quelle Linux ayant une base Debian.

Concernant le système d'exploitation j'ai utilisé la version lite de Raspbian pour optimiser les ressources du pi. Il n'y a pas d'interface graphique pour faire la configuration mais plus de ressources allouées pour les torrents ;). Je considère que vous savez lancer une session ssh sur votre pi et que vous avez quelques notions de commandes Linux.

Pour information mon Raspberry boot directement sur un ssd externe pour le faire durer dans le temps vu qu'il tourne 24/24. Dans tous les cas je vous déconseille de stocker les fichiers de votre seedbox sur la carte SD, utilisez plutôt un disque dur externe qui sera plus fiable.

Installation de la Seedbox

Prêt à se lancer ?

Commençons sur de bonnes bases avec une mise à jour complète du système

sudo apt update && sudo apt upgrade -y && sudo apt dist-upgrade -y

L'installation de Deluge se lance avec cette commande

sudo apt install deluged deluge-console -y

Puis on génère nos fichiers de configuration en lançant Deluge ainsi

deluged

Et on le referme aussi sec de cette manière (Ignorez l'erreur avec entrée)

pkill deluged

Nous avons maintenant un fichier de configuration auth dans le dossier ~/.config/deluge/. Éditez-le de cette manière (j'utilise vim comme éditeur de texte, vous pouvez le remplacer par nano, emac ou autre selon vos préférences)

vim ~/.config/deluge/auth

Et ajoutez cette ligne au fichier

gbd:passgbd:10
Voici ce que ça donne chez moi

gbd correspond à l'utilisateur que l'on va renseigner pour se connecter à la console graphique du logiciel deluge et passgbd le mot de passe. Le chiffre à la fin détermine les autorisations qu'aura l'utilisateur, ici 10 correspond à tous les droits. Libre à vous de personnaliser tout ça.

Ensuite on édite ce fichier pour configurer le paramètre indiquant à deluge qu'on autorise la gestion du logiciel à distance

vim ~/.config/deluge/core.conf

Et on passe le paramètre allow_remote à true

"allow_remote": true,
Comme ceci

Une fois que tout ceci est configuré on peut lancer Deluge ainsi

deluged

À présent l'installation est terminée du côté du Raspberry, Deluge est fonctionnel et prêt à accepter les connexions distantes.

Installation du client Deluge

Pour résumer, nous avons installé sur le Raspberry un serveur Deluge. Maintenant nous allons installer le client Deluge qui lui sera sur votre ordinateur personnel. Vous pouvez installer ce client sur n'importe quel PC du moment qu'il est sur le même réseau que votre Raspberry, il vous servira juste à gérer les torrents en partage sur votre Raspberry.

Téléchargez et installez le client disponible ici. Au 1er démarrage l'application fonctionne en mode autonome comme si vous vouliez l'utiliser depuis votre Pc. Il faut désactiver le mode classique dans le menu interface des préférences pour permettre au client de connecter au serveur.

Relancez le client et normalement lors du second démarrage vous devriez maintenant avoir ceci

Personnellement je n'utilise pas Deluge sur mon Pc donc je choisis Enlever sur la ligne 127.0.0.1. Ensuite on fait Ajouter et on complète la connexion avec l'ip du Raspberry, l'utilisateur (gbd) et le mot de passe (passgbd) qui ont été défini dans le fichier auth. On obtient ceci

Si c'est green comme ci-dessus il n'y a plus qu'à se connecter.

Dans le cas contraire vous pouvez vérifier que le serveur Deluge est bien lancé à l'aide de cette commande

ps -ef | grep deluged

Normalement vous aurez la ligne contenant /usr/bin/python /usr/bin/deluged comme ci-dessous. Sinon relancez deluged sur le Raspberry.

root 16372 1 53 11:53 ? 00:00:01 /usr/bin/python /usr/bin/deluged
root 16382 16337 0 11:53 pts/0 00:00:00 grep --color=auto deluged

Si c'est toujours rouge assurez-vous que votre pc est bien sur le même réseau que le Raspberry et qu'ils soient visibles entre eux. Vous pouvez faire des tests à l'aide de ping ou en désactivant votre pare-feu . Et enfin si ça bloque toujours il faudra revérifier l'installation que vous avez fait. Mais il n'y a pas de raison vu que c'est super bien expliqué 😉

Une fois que c'est bon il n'y a plus qu'à l'utiliser comme n'importe quel logiciel de torrent classique avec l'avantage de pouvoir fermer le logiciel une fois que les torrents sont ajoutés. Lorsque vous le fermerez les torrents continueront de se télécharger sur le Raspberry.

Installation d'un serveur web

Dans l'idée de consommer le moins de ressources possible j'ai simplement réalisé l'installation précédente. Si vous voulez allez plus loin, vous avez la possibilité d'ajouter une interface web pour gérer deluge directement depuis un navigateur internet comme Firefox.

Pour ceci installez le paquet suivant

sudo apt install deluge-web -y

Et lancez-le comme ceci

deluge-web --fork

Le paramètre --fork permet de lancer le processus en tâche de fond. Une fois que c'est fait vous devriez pouvoir accéder à votre serveur Deluge depuis un navigateur internet à l'adresse http://ip_du_raspberry:8112. Le mot de passe par défaut est deluge.

Si vous désirez le configurer sur le port 80 pour ne renseigner que http://ip_du_raspberry vous pouvez le faire dans les préférences

Puis relancez deluge-web avec ces commandes

pkill deluge-web
deluge-web --fork

Pour information si vous préférez changer le port via le terminal c'est aussi possible ici

vim ~/.config/deluge/web.conf

Ce mode de fonctionnement est sympa pour ceux qui voudrait accéder à leur seedbox depuis n'importe où au travers un navigateur web.

Récupération des fichiers téléchargés

Pour information Je vous conseille de faire tourner le système d'exploitation de votre PI sur un disque externe. En effet, si vous faites cette installation sur une carte sd, votre Pi risque de flancher un beau matin. Vous trouverez toutes les informations pour faire ceci ici.

L'autre solution est de mettre uniquement fichiers téléchargés sur un disque externe et faire un backup de votre carte SD. Vous devriez trouvez comment monter le dossier Download sur votre disque ici. De plus, vous avez même la possibilité de formater ce disque en exFat ou Ntfs pour pouvoir le démonter à la demande et le brancher sur un PC ou une Tv. Dans ce cas il faudra éteindre la seedbox à chaque fois, c'est pourquoi je n'aime pas trop cette solution...

Par défaut les téléchargements que vous lancez iront dans le dossier /home/User_qui_lance_deluged/Download. Cet emplacement va se créer lorsque vous lancerez votre 1er téléchargement. Pour rapatrier les fichiers qui s'y trouve sur votre Pc le plus simple c'est d'utiliser Filezilla. C'est un client FTP open source qui gère aussi les transferts au travers du protocole ssh. Il faut le configurer ainsi

En 5 Indiquez l'utilisateur qui vous a servi à lancer deluged sur le Raspberry si vous voulez pouvoir supprimer des fichiers directement depuis Filezilla. En effet les fichiers qui seront ajoutés au dossier Download seront configurés avec certains droits d'accès, et l'utilisateur qui en aura le plus sera celui qui a exécuté la commande deluged

Vous n'avez plus qu'à lancer la connexion au serveur pour obtenir ceci

Et zou il n'y a plus qu'a transférer du 3 vers le 4

Après, libre à vous de creuser. Il existe plein d'autres possibilités si vous êtes à l'aise avec Linux, par exemple

  • Mise en place d'une tâche Rsync vers un nas, une box ou un pc
  • Un partage NFS ou SSHFS sur un mediacenter
  • Voir même un Mediacenter qui ferait seedbox
  • Un disque externe ExFat ou Ntfs à débrancher au besoin
  • Et sûrement bien d'autres...

Démarrage automatique de Deluged

Si on laisse cette configuration tel quel il faudra relancer deluged à chaque démarrage du Raspberry. Si vous préférez que cela soit fait automatiquement on peut le faire de cette manière.

Commencez par créer un fichier deluged.service ici

sudo vim /etc/systemd/system/deluged.service

Et ajouter y ceci

[Unit]
Description=Deluge Bittorrent Client Daemon
Documentation=man:deluged
After=network-online.target

[Service]
Type=simple
UMask=007

ExecStart=/usr/bin/deluged -d

Restart=on-failure

# Time to wait before forcefully stopped.
TimeoutStopSec=300

[Install]
WantedBy=multi-user.target

Il faut ensuite créer un dossier deluged.service.d

sudo mkdir /etc/systemd/system/deluged.service.d/

Dans lequel nous allons ajouter un fichier user.conf

sudo vim /etc/systemd/system/deluged.service.d/user.conf

Qui contiendra l'utilisateur défini pour lancer le processus deluged

#Override service user
[Service]
User=pi
Group=pi

Il ne reste plus qu'à passer cette commande pour activer le service deluged en démarrage automatique

sudo systemctl enable /etc/systemd/system/deluged.service

Après redémarrage on peut vérifier son statut avec la commande suivante

sudo systemctl status deluged
Si vous avez active (running) en vert c'est tout bon

Démarrage Automatique de Deluge-web

Dans le cas ou vous voudriez faire de même avec deluge-web, on reproduit les étapes précédentes. On commence par la création du service

sudo vim /etc/systemd/system/deluge-web.service

Qu'on complète ainsi. Libre à vous de changer le port 8112

[Unit]
Description=Deluge Bittorrent Client Web Interface
After=network-online.target

[Service]
Type=simple

UMask=027

ExecStart=/usr/bin/deluge-web -d

Restart=on-failure

[Install]
WantedBy=multi-user.target

On crée ce dossier

sudo mkdir /etc/systemd/system/deluge-web.service.d/

Dans lequel on ajoute le fichier user.conf

sudo vim /etc/systemd/system/deluge-web.service.d/user.conf

Qui contiendra l'utilisateur défini pour lancer le processus deluge-web

#Override service user
[Service]
User=pi
Group=pi

Et enfin on passe cette commande pour appliquer le lancement de l'appli au démarrage.

sudo systemctl enable /etc/systemd/system/deluge-web.service

On peut vérifier après redémarrage que c'est ok avec cette commande

sudo systemctl status deluge-web.service
Pareil que pour deluged on vérifie le active (running) en vert

Conclusion

Voilà, je pense avoir bien balayé le sujet. Vous avez tout ce qu'il faut pour vous monter une petite seedbox maison plutôt cool et pas chère. De mon côté j'en suis très content, ça tourne très bien et j'espère qu'il en sera de même pour vous.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *