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.
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.
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.
Si vous voulez gagner du temps, utilisez un template cloud-init.
Ensuite, suivez ce guide pour installer Docker, Docker Compose et préparer vos variables d'environnement.
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.
Celui-ci est très intéressant. Je vous ferai un retour dessus à l'occasion.