Blog & Astuces

Mettre en place une seedbox auto-hébergée avec qBittorrent et Gluetun

Mettre en place une seedbox auto-hébergée avec qBittorrent et Gluetun

Tuto

Dans cet article, nous allons voir comment mettre en place une seedbox torrent avec qBittorrent et Gluetun. qBittorrent étant le client torrent et Gluetun le service permettant de placer le torrent derrière un VPN. J'explique ici pas à pas comment mettre en place les différents services nécessaires).

Pré-requis

  • Un serveur Linux, un VPS ou un ordinateur qui tournera H24
  • Avoir installé Docker sur son serveur
  • Un espace de stockage suffisant (pour pouvoir stocker des fichiers)

Introduction

Mettre en place sa propre seedbox torrent sur un serveur tournant H24 comporte de nombreux avantages :

  • Maintenir un ratio correct, car le serveur sera connecté H24
  • Pouvoir télécharger sur le torrent depuis n'importe quel appareil (à condition de mettre en place un VPN permettant d'accéder à votre serveur à distance, comme Wireguard dont vous retrouverez mon tutoriel ici)
  • Plus économique que les solutions commerciales par abonnement, sur le long terme

Pour cela, nous allons mettre en place plusieurs outils :

  • qBittorrent sera le client de torrent utilisé pour télécharger et seeder les fichiers torrent
  • Gluetun est un service permettant de router tout le traffic torrent à travers un VPN (abonnement payant nécessaire pour pouvoir profiter d'une grande vitesse de téléchargement) pour rester invisible par exemple d'Hadopi - optionnel mais fortement recommandé
  • Vuettorrent qui est une interface améliorée pour qBittorrent
  • Filebrowser pour naviguer parmi les fichiers téléchargés et stocker sur le serveur

Si pas déjà fait : installation de Docker

Reportez-vous à la documentation Docker pour voir comment l'installer sur votre serveur.

Par exemple sous Ubuntu, vous pouvez procéder de la façon expliquée ici (configuration du dépôt APT de Docker et installation).

Une fois Docker installé, pas besoin de redémarrer le système, vous pouvez suivre directement le tutoriel.

Installation et configuration des services

Créer un nouveau dossier sur votre serveur où nous allons stocker les fichiers de configuration des services. Créez aussi un dossier où seront stockés les fichiers téléchargés par torrent.

Créez ensuite un fichier docker-compose.yml dans le premier dossier, vous pouvez vous baser sur la configuration suivante :

version: "3" 

services: 
  gluetun: 
    image: qmcgaw/gluetun:latest
    container_name: gluetun 
    cap_add: 
      - NET_ADMIN 
    devices: 
      - /dev/net/tun:/dev/net/tun 
    ports:
      - 8414:8000/tcp
      - 127.0.0.1:8474:8474
      - 6881:6881 
      - 6881:6881/udp
    volumes: 
      - ./gluetun:/gluetun 
    environment: 
      - VPN_SERVICE_PROVIDER=[NOM DE VOTRE SERVICE VPN]
      - VPN_TYPE=openvpn
      - SERVER_COUNTRIES=Netherlands,Ireland,Luxembourg,United Kingdom,Switzerland
      - OPENVPN_USER=[NOM D'UTILISATEUR OPENVPN]
      - OPENVPN_PASSWORD=[MOT DE PASSE OPENVPN]
      - TZ=Europe/Paris
      - UPDATER_PERIOD=24h
    restart: unless-stopped

  qbittorrent: 
    image: linuxserver/qbittorrent:latest
    container_name: qbittorrent
    environment: 
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Paris
      - WEBUI_PORT=8474
    volumes: 
      - ./config:/config 
      - [DOSSIER DE STOCKAGE DES FICHIERS]:/downloads
      - ./vuetorrent:/vuetorrent
    network_mode: "service:gluetun"
    restart: unless-stopped

  filebrowser:
    image: filebrowser/filebrowser:latest
    container_name: filebrowser
    ports:
      - 127.0.0.1:80:80
    volumes:
      - ./database.db:/database.db
      - ./config_filebrowser:/config
      - [DOSSIER DE STOCKAGE DES FICHIERS]:/srv/Torrent
    environment:
      - PUID=1000
      - PGID=1000
    restart: unless-stopped

Modifiez les données comme suit :

  • Port 8414 de Gluetun et qBittorrent : correspond au port de l'interface WEB de qBittorrent, il doit être le même au niveau des ports de Gluetun et qBittorrent dans le fichier de config
  • [NOM DE VOTRE SERVICE VPN] : entrez le nom de votre service VPN, se reporter à la documentation de Gluetun
  • SERVER_COUNTRIES : correspond aux pays des serveurs VPN sur lesquels Gluetun se connectera, de manière aléatoire. Gluetun change de serveur assez régulièrement, et alterne entre les différents pays listés
  • [NOM D'UTILISATEUR OPENVPN] et [MOT DE PASSE OPENVPN] : le login/mot de passe de votre compte OpenVPN sur le service de VPN. Vous pouvez l'obtenir depuis votre compte sur votre service VPN
  • [DOSSIER DE STOCKAGE DES FICHIERS] : entrez le chemin vers le dossier où seront stockés les fichiers téléchargés (à modifier à la fois pour qbittorrent et filebrowser :
  • Port 80 de filebrowser : correspond au port de l'interface web de filebrowser

Si vous ne souhaitez pas de Gluetun (possible, mais votre client de torrent ne sera pas protégé par un VPN), vous pouvez utiliser cette configuration docker-compose.yml plutôt :

version: "3" 

services:
  qbittorrent: 
    image: linuxserver/qbittorrent:latest
    container_name: qbittorrent
    environment: 
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Paris
      - WEBUI_PORT=8474
    volumes: 
      - ./config:/config 
      - [DOSSIER DE STOCKAGE DES FICHIERS]:/downloads
      - ./vuetorrent:/vuetorrent
    restart: unless-stopped

  filebrowser:
    image: filebrowser/filebrowser:latest
    container_name: filebrowser
    ports:
      - 127.0.0.1:80:80
    volumes:
      - ./database.db:/database.db
      - ./config_filebrowser:/config
      - [DOSSIER DE STOCKAGE DES FICHIERS]:/srv/Torrent
    environment:
      - PUID=1000
      - PGID=1000
    restart: unless-stopped

Ensuite, téléchargez le fichier vuettorrent.zip sur Github : https://github.com/VueTorrent/VueTorrent/releases

Au niveau de assets, téléchargez le fichier vuettorrent.zip. Vous pouvez aussi lancer la commande suivante sur votre serveur :

wget https://github.com/VueTorrent/VueTorrent/releases/download/v2.8.1/vuetorrent.zip -O vuettorrent.zip

Puis extraire l'archive :

unzip vuettorrent.zip

Vous obtiendrez un dossier vuettorrent. Supprimez ensuite l'archive zip.

Vous pouvez désormais démarrer les services avec la commande : docker-compose up -d.

Configuration de qBittorrent

Dans votre navigateur web, vous pouvez désormais accéder à l'interface web de qBittorrent.

Au premier lancement, qBittorrent vous demandera de renseigner le mot de passe du compte admin qui sera utilisé pour accéder à l'interface web. Ensuite, vous pouvez activer la Web UI fournie par Gluetun en vous rendant dans la configuration de la Web UI, puis en cochant la case "Utiliser une autre interface web" et en entrant la valeur /vuettorrent.

Normalement, si tout est bien paramétré, vous pourrez commencer à télécharger et seeder des fichiers torrent. Vous pouvez vérifier que votre qBittorrent passe bien par le VPN de Gluetun en utilisant le service suivant : http://checkmyip.torrentprivacy.com/

Commentaires