ruTorrent y qBittorrent mediante docker

Advertencia: Este artículo tiene más de 365 días.

Como base para la próxima publicación de una serie de artículos, voy a explicar la forma de instalar los clientes torrent ruTorrent y qBittorrent mediante docker.

Preparación

Antes de proceder al despliegue de los contenedores vamos a crear una serie de carpetas donde guardar sus configuraciones y las descargas de los archivos .torrent

Creamos las carpetas rutorrent y qbittorrent, una para cada contenedor, aunque tu puedes llamarlas como mas te guste

A su vez en la carpeta rutorrent creamos las carpetas:

  • data: Guarda la configuración de rTorrent y ruTorrent, archivos logs, etc.
  • passwd: Guarda los ficheros htpasswd en caso de que utilicemos autentificación
  • downloads: Opcional, carpeta donde se guardan las descargas, puedes seleccionar cualquier otra en la creación del contenedor

img

ruTorrent

Interfaz web para el cliente rTorrent, utilizo la imagen preparada por crazymax basada en Alpine Linux. Se puede desplegar utilizando docker-compose y su fichero .env pero prefiero la sencillez de ejecutarlo por terminal aunque pierda flexibilidad en la personalizaron de la configuración.

Desde la terminal, ejecuta el siguiente código:

docker run -d --name=rutorrent \
-p 6881:6881/udp \
-p 8011:8000 \
-p 8144:8080 \
-p 9009:9000 \
-p 50000:50000 \
-e PUID=1026 \
-e PGID=100 \
-v /volume1/docker/rutorrent/data:/data \
-v /volume1/descargas:/downloads \
-v /volume1/homes/carlos/torrents:/watch \
-v /volume1/docker/rutorrent/passwd:/passwd \
-v /volume1/video:/media \
--ulimit nproc=65535 \
--ulimit nofile=32000:40000 \
--restart always \
crazymax/rtorrent-rutorrent

Puedes acceder a la interfaz web desde el puerto 8144 del navegador

img

Donde:

  • 6881: Puerto UDP DHT
  • 8000: Puerto XMLRPC, SCGI socket
  • 8080: Puerto HTTP de ruTorrent
  • 9000: Puerto WebDAV descargas completadas
  • 50000: Conexiones entrantes
  • PUID y PGID: uid y guid de tu usuario, para averiguar cuáles son debes de iniciar sesión mediante ssh en tu servidor o desde la terminal y ejecutar el commando ĩd
  • /volume1/docker/rutorrent/data:/data: Guarda la configuración de rTorrent y ruTorrent, archivos logs, etc.
  • /volume1/descargas:/downloads: Almacena las descargas completadas
  • /volume1/homes/carlos/torrents:/watch: Para automatizar las descargas, esta carpeta está sincronizada con una carpeta de mi ordenador, el fichero .torrent que dejo en esta carpeta (/watch) se descarga automáticamente
  • /volume1/docker/rutorrent/passwd:/passwd: Ficheros htpasswd en caso de que utilicemos autentificación
  • volume1/video:/media: Ubicación de mi contenido multimedia, ya que ruTorrent te permite mover las descargas a otras ubicaciones y continuar /seedeando (importante si utilizas trackers privados)

qBittorrent

Utilizo la imagen proporcionada por Linuxserver, en esta ocasión utilizo portainer, creando un stack, o bien puedes crear un fichero para docker-compose y desplegarlo desde la terminal

version: "2.1"
services:
  qbittorrent:
    image: lscr.io/linuxserver/qbittorrent:latest
    container_name: qbittorrent
    environment:
      - PUID=1000
      - PGID=100
      - TZ=Europe/Madrid
      - WEBUI_PORT=8080
    volumes:
      - /volume1/docker/qbittorrent/:/data
      - /volume1/descargas:/downloads
      - /volume1/homes/carlos/torrents:/watch
      - /volume1/video:/media
    ports:
      - 8080:8080
      - 6881:6881
      - 6881:6881/udp
    restart: unless-stopped

img

Al igual que rTorrent, has de cambiar los valores de PUID y PGID por los de tu usuario, también puedes personalizar los puertos de escucha.

Con esta configuración puedes acceder a la GUI a través del puerto 8080 de tu navegador

img

Cada cliente tiene sus pros y sus contras, aunque personalmente me gusta mas rTorrent por la cantidad de plugins que soporta

Espero que te haya gustado, pasa un gran día 🐧