Installer Deluge avec Docker

Au sommaire :

  • 1-Qu'est-ce qu'une Seedbox ?
  • 2-Qu'est-ce que Deluge ?
  • 3-Prérequis
  • 4-Déploiement
  • 5-Configuration

1-Qu'est-ce qu'une Seedbox ?

Une seedbox est un serveur qui va vous servir à émettre (télécharger ou download) et émettre (upload ou téléversement) 24h/24 et 7j/7.

Pour la petite anecdote, j'avais pris un abonnement mensuel pour avoir ma propre seedbox (situé sur des serveurs distants) au début des années 2010.

Le but était :

  • De télécharger beaucoup plus vite les contenus que je désiré (films, séries, jeux)
  • D'augmenter plus rapidement mon ratio sur les trackers torrent pour pouvoir davantage télécharger
  • De pouvoir rapatrier le tout en FTP sur mon PC

À l'époque, j'étais limité à 0,6 mo/s au domicile de mes parents (pas encore la fibre) tandis que ma Seedbox téléchargé à 10 ou 20 mo/s.

Mais désormais avec l'arrivée de la fibre à grande échelle, il est tout à fait possible de mettre en place sa propre seedbox et c'est un usage devenu de plus en plus populaire car entre temps, des applications sont apparues pour simplifier la tâche des utilisateurs.

Bon bien évidemment, vous imaginez bien que ce guide est un peu "borderline", surtout si votre objectif est tout sauf partager des ISO Linux donc je vous invite à consulter ce lien avant de vous lancer.

Téléchargement illégal (Arcom) : quelles sont les règles ?
Vous souhaitez connaître la procédure mise en place par l’Arcom (ex-CSA et Hadopi) si vous téléchargez, sans autorisation, des œuvres sans payer les droits d’auteurs ? Vous voulez savoir si vous pouvez être sanctionné ? Nous vous donnons une définition du téléchargement illégal et vous présentons les informations à connaître.

Dans ce guide en plusieurs parties, nous allons voir comment déployer et configurer les applications suivantes :

  • Deluge (client torrent)
  • Prowlarr (proxy torrent)
  • Radarr (films)
  • Sonarr (séries TV)
  • Lidarr (musiques)
  • Readarr (livres)
  • Bazarr (sous-titres)

Et deux autres surprises que je garde pour la fin.

2-Qu'est-ce que Deluge ?

Deluge est un client-serveur BitTorrent multiplateforme sous Linux, Windows, macOS, BSD Unix et Docker.

C'est un logiciel libre sous licence GNU GPLv3+ qui fonctionne comme client bureautique/web et en ligne de commande.

Enfin, il supporte des fonctionnalités communes aux clients BitTorrent telles que :

  • Le cryptage de protocole.
  • La DHT.
  • La découverte de pairs locaux (LSD).
  • L'échange de pairs (PEX).
  • Les protocoles UPnP et NAT-PMP.
  • La prise en charge de proxy.
  • Les web seeds.
  • les limites de vitesse globales et par torrent.
Deluge (logiciel) — Wikipédia

J'aurai pu choisir également Transmission, RuTorrent ou QBittorent mais c'est celui que j'utilise et je documente uniquement ce que j'utilise au quotidien mais l'usage et les fonctionnalités reste les mêmes.

3-Prérequis

Il vous faudra une machine virtuelle sous Ubuntu Server 22.04 LTS.

Voici le guide pour ceux qui veulent repartir de zéro.

Virtualiser Ubuntu Server 22.04 LTS sur Proxmox VE
Guide d’installation de Ubuntu Server 22.04 LTS sur Proxmox VE avec mes meilleurs réglages.

Si vous voulez gagner du temps, utilisez un template cloud-init.

Initialiser vos machines virtuelles avec Cloud-init sur Proxmox VE
Guide d’installation de Cloud-Init qui va vous permettre d’automatiser vos déploiements

Ensuite, suivez ce guide pour installer Docker, Docker Compose et préparer vos variables d'environnement.

Installer Docker
Guide d’installation de Docker.

Enfin, pour exposer et sécuriser l'application sur l'internet public, il vous faudra déployer Traefik et Authelia mais on le fera à la fin du guide donc pour l'instant tout doit être fait en local.

4-Déploiement

Commencez par créer un dossier "docker" à la racine du dossier utilisateur"

mkdir -p ~/docker

Créez un fichier nommé "compose.yml"

touch ~/docker/compose.yml

Ouvrez le fichier "compose.yml" et copiez cette configuration.

version: "3.9"

networks:
  default:
    driver: bridge

services:

  deluge:
    image: lscr.io/linuxserver/deluge:latest
    container_name: deluge
    environment:
      PUID: ${PUID}
      PGID: ${PGID}
      TZ: ${TZ}
      DELUGE_LOGLEVEL: error #optional
    volumes:
      - ${APPDATA}/deluge:/config
      - ${DOWNLOADS}:/downloads
    ports:
      - 8112:8112
      - 6881:6881
      - 6881:6881/udp
    restart: unless-stopped
  • version : 3.7 (il y a plus récent mais c'est pour l'exemple)
  • network : en bridge (l'adresse IP sera celle de la machine virtuelle ou du conteneur LXC)
  • services : c'est là qu'il faudra ajouter les configurations de vos conteneurs
  • image : nom du registry suivi du nom de l'application (lscr.io/linuxserver/deluge)
  • container_name : le nom du conteneur, sinon Docker en choisira un de manière aléatoire (mieux vaut le nommer vous même)
  • environment : il y a les variables de base (PUID, PGID, TZ) et une variable spécifique à l'application (DELUGE_LOGLEVEL) qui permet d'obtenir des logs si besoin
  • volumes : variable ${APPDATA) (/home/user_name/appdata) suivi du nom de l'application (/deluge) et ${DOWNLOADS} pour vos téléchargements
  • ports : 8112 pour l'interface d'administration et 6181 pour le traffic entrant
  • restart : unless-stopped par défaut. Le daemon de Docker redémarrera automatiquement le conteneur sauf si vous l'arretez, il faudra le démarrer manuellement

Enregistrez le fichier "compose.yml" et déployez le conteneur.

docker compose up -d

5-Configuration

Tapez l'adresse IP de l'interface web du conteneur dans votre navigateur (http://<ip-address>:8112).

Ensuite, tapez "deluge" comme mot de passe (c'est celui par défaut).

Dans "Connexion manager", sélectionnez "localclient@127.0.0.1:58846" pour vous connecter au processus duc conteneur.

Choisissez la langue que vous souhaitez et changez le mot de passe par défaut par celui que vous souhaitez.

Félicitation!!!! Vous avez désormais accès à votre client web à travers votre navigateur web.

Vous pouvez également activer et installer des plugins.

Lorsque vous installez des plugins, vérifiez bien quelles soient compatibles avec la version web et la dernière version en date (v2.x).

Voici quelques plugins compatibles.

[Plugin] Auto Remove Plus v0.6.1 - Deluge Forum
[Plugin] ltConfig v2.0.0 - Deluge Forum

Celui-ci est très intéressant. Je vous ferai un retour dessus à l'occasion.

[Plugin] Video/Audio Streaming Plugin - Deluge Forum
GitHub - noam09/deluge-telegramer: 🌊 A Deluge plugin for receiving notifications, adding and viewing torrents using Telegram messenger
🌊 A Deluge plugin for receiving notifications, adding and viewing torrents using Telegram messenger - GitHub - noam09/deluge-telegramer: 🌊 A Deluge plugin for receiving notifications, adding and vi...
deluge-webapi
Plugin for Deluge WebUI providing sane JSON API.
[Plugin] Copy Completed plugin - Deluge Forum