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
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,
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
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
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
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.