Outils du site

Outils pour utilisateurs


Panneau latéral

P2PFR:Wiki

p2p:deluge:seedbox-deluged-deluge-web-debian (lu 3616 fois)

Ceci est une ancienne révision du document !


Seedbox avec deluge (deluged et deluge-web)

Historique de cet article

  • Article initialement écrit en 2013 sous Debian Wheezy, avec la version 1.3.3-2+nmu1 de Deluge. L'interface web était alors pas mal buggée et pas vraiment utilisable, ça a sûrement évolué depuis.
  • Article repris en août 2017, sous Debian Stretch, avec la version de Deluge (en cours!)

Préambule

Deluge a été conçu de façon flexible et modulaire. Il est possible de le lancer en tant que daemon, c'est à dire sans interface graphique. Il est alors possible de lui greffer l'interface graphique souhaitée, qui peut être une console, une interface graphique classique (GTK), ou bien une interface web. Dans le cas d'une seedbox, on sera plutôt tentés par l'interface web.

Le guide du site officiel (en anglais) décrivant cet usage, appellé “Thin Client”, est consultable ici : http://dev.deluge-torrent.org/wiki/UserGuide/ThinClient#ClientSetup1

Nous ne suivrons pas strictement ce guide, car Debian dispose déjà de rails qui nous invitent à procéder d'une certaine façon, donc suivons ces rails…

Installation sous Debian Stretch

Cela se fait assez simplement, il suffit d'installer les paquets deluged et deluge-web. Il n'est pas nécessaire d'installer le meta-paquet deluge.

apt install deluged deluge-web

Rappel: le “d” du bout deluged signifie daemon, autrement dit il est conçu pour tourner en tant que service système, sans interface graphique liée.

Info: deluged intègre son propre serveur web, il n'est donc pas utile d'installer apache ou un autre serveur web.

Un peu de repérage

Debian créé un compte utilisateur système nommé debian-deluged, qui ne dispose pas de répertoire /home.

# systemctl status deluged
● deluged.service - LSB: Start or stop the Deluge BitTorrent daemon.
   Loaded: loaded (/etc/init.d/deluged; generated; vendor preset: enabled)
   Active: active (exited) since Sat 2017-08-05 22:30:38 CEST; 17min ago
     Docs: man:systemd-sysv-generator(8)
    Tasks: 0 (limit: 4915)
   CGroup: /system.slice/deluged.service

On voit ici que même sous Stretch, qui utilise SystemD, le script de lancement est du type init.d.1).

Le chemin du script est /etc/init.d/deluged, on évitera de le modifier (car il est réécrit à chaque mise à jour du paquet) mais on peut regarder son contenu.

Il nous indique l'emplacement du fichier de config : /var/lib/deluged/config. Après vérification, il s'agit d'un répertoire, qui est normalement vide.

Il indique aussi le chemin d'un journal d'activité (écrasé/réécrit à chaque lancement de Deluge) : /var/log/deluged/daemon.log.

… Y'a quand même un truc qui m'intrigue, Debian est gentil d'avoir fourni le script pour démarrer le démon, mais l'interface web se lance indépendemment, et nécessite elle-ausi un script. Nous y remédierons un peu plus tard.

Comment démarrer Deluge

Manuellement

SystemD gère les scripts init.d, on peut donc gérer le démarrage de Deluge via SystemD.

# Vérifier si Deluge tourne
systemctl status deluged

# Fermer Deluge à la main
systemctl stop deluged

# Démarrer Deluge manuellement
systemctl start deluged

Au démarrage du système

Par la suite, on souhaitera que Deluge soit automatiqement démarré par SystemD, à chaque redémarrage du système.

Il faut pour cela éditer le fichier /etc/default/deluged, et changer la valeur sur “1” pour indiquer que oui, on désire charger le démon au démarrage du système.

Vous pouvez modifier cette valeur maintenant, mais il est plus sage de d'abord éditer la configuration de Deluge, et de vérifier si elle fonctionne.

Générer un squelette de configuration

On a dit que le répertoire /var/lib/deluged/config était vide. Deluge va pouvoir générer un squelette de config qui nous servira de base, il suffit pour cela de démarrer deluged, puis de l'arrêter.

# On redémarre Deluged, et on l'éteint.
systemctl stop deluged
systemctl start deluged
systemctl stop deluged

Vérifiez que le répertoire de config a bien été rempli :

ls /var/lib/deluged/config

Redémarrez Deluge à la main, puis jettez un oeil au log pour vérifier si celui-ci trouve bien ses fichiers de conf :

systemctl start deluged
less /var/log/deluged/daemon.log

Gérer le démarrage de la WebUI façon SystemD

On va reprendre le script proposé sur le site de Deluge, en l'adaptant à Debian : http://dev.deluge-torrent.org/wiki/UserGuide/Service/systemd

/etc/systemd/system/deluge-web.service
[Unit]
Description=Deluge Bittorrent Client Web Interface
Documentation=man:deluge-web
After=network-online.target deluged.service
Wants=deluged.service
[Service]
Type=simple
User=debian-deluged
Group=debian-deluged
UMask=027
ExecStart=/usr/bin/deluge-web
Restart=on-failure
[Install]
WantedBy=multi-user.target

Puis on l'active, on la démarre, et on vérifie que ça tourne :

systemctl enable /etc/systemd/system/deluge-web.service
systemctl start deluge-web
systemctl status deluge-web

Accéder à l'interface web

Maintenant, tout dépend de “où” vous avez installé Deluge. Sur une machine distante, sur votre ordi ou un autre ordi de votre réseau local. Mais l'histoire est la même, il vous faut son adresse IP (ou un nom de domaine qui redirige vers cette adresse IP). Mais a priori, pas un soucis, vous savez déjà accéder à votre machine.

On peut s'amuser à ajouter un nom d'hôte pour faciliter l'accès depuis notre ordi :

En étant root, sur sa propre machine (et non pas sur la seedbox) :

echo "192.168.1.201 delugeweb" >> /etc/hosts

On accèdera ensuite à l'interface de Deluge via : http://delugeweb:8112 (chez moi, la version https ne passe pas…).

Le mot de passe par défaut est deluge, il vous recommende de le changer juste après votre 1ère connexion.

Problème de communication entre deluged et deluge-web

Et là je tombe sur un truc chiant, visible par un systemctl deluge-web status :

août 06 15:44:48 mplserv deluge-web[31983]: [ERROR   ] 15:44:48 client:391 RPCError Message Received!
août 06 15:44:48 mplserv deluge-web[31983]: --------------------------------------------------------------------------------
août 06 15:44:48 mplserv deluge-web[31983]: RPCRequest: daemon.login(, )
août 06 15:44:48 mplserv deluge-web[31983]: --------------------------------------------------------------------------------
août 06 15:44:48 mplserv deluge-web[31983]:   File "/usr/lib/python2.7/dist-packages/deluge/core/rpcserver.py", line 262, in dispatch
août 06 15:44:48 mplserv deluge-web[31983]:     ret = component.get("AuthManager").authorize(*args, **kwargs)
août 06 15:44:48 mplserv deluge-web[31983]:   File "/usr/lib/python2.7/dist-packages/deluge/core/authmanager.py", line 89, in authorize
août 06 15:44:48 mplserv deluge-web[31983]:     raise BadLoginError("Username does not exist")
août 06 15:44:48 mplserv deluge-web[31983]: BadLoginError: Username does not exist
août 06 15:44:48 mplserv deluge-web[31983]: --------------------------------------------------------------------------------

Bon, il y a une solution… Ajoutons un utilisateur comme indiqué ici : http://dev.deluge-torrent.org/wiki/UserGuide/ThinClient#AddUsertotheauthenticationfile

Fermer le démon, éditer le fichier auth, ajouter un utilisateur, enregistrer le fichier.

Puis redémarrer deluged.

Dans l'interface web, dans la petite fenêtre «Gestionnaire de connexion» où l'on constate que la WebUI ne parvient pas à communiquer avec le démon, recréez une entrée, et indiquez le login+mdp que vous avez écrit dans le fichier auth. Cette fois-ci, Deluge-Web devrait retrouver son copain Deluged.

Configuration Basique

Maintenant que vous pouvez accéder à l'interface web de Deluge, et que deluged et deluge-web communiquent bien ensemble, vous pouvez aller dans les préférences via l'interface web.

On vous conseille de changer l'emplacement des téléchargements (actuellement dans /var/lib…). Rangez ça comme vous l'aimez.

Le répertoire de destination de vos téléchargements devra aussi avoir ses permissions revues (avec chown et chmod).

Le propriétaire devra être l'utilisateur “debian-deluged”.

chown -R debian-deluged /mnt/local/1/downloads/deluge/

Configuration

1ère tentative

Je constate plusieurs problèmes avec l'interface web:

  • Les boutons “close” “appliquer” et “ok” sont confus, car “ok” ne ferme pas la fenêtre, est-ce la même chose que “apply” ?
  • On peut activer les Modules (plugins), mais on ne peut pas les configurer depuis l'interface web.
  • Il n'y a, de base, pas de moyen d'indiquer simplement des répertoires d'arrivée distincts pour les téléchargements.
  • L'interface web est un peu buggée, je ne peux pas créer de “Label” car clicker sur “OK” n'a aucun effet.

Je termine là mon expérience pour le moment, hélas peu concluante donc.

La webgui est buggée, donc incomfortable. Il serait possible d'utiliser un autre biais pour configurer deluge. Il est aussi possible que ce problème soit corrigé dans la version upstream (1.3.4) de Deluge.

Documentation externe

1)
Deluge fournit ici un fichier Unit pour systemD si cela vous intéresse.
p2p/deluge/seedbox-deluged-deluge-web-debian.1502029643.txt.gz · Dernière modification: le 06/08/2017 à 16h27 de 111110101011