Categorías
20.04 Docker Utilidades

Desplegar transmission utilizando docker

En el tutorial vamos a recorrer los pasos para poder desplegar transmission utilizando docker en nuestro servidor Ubuntu (una Raspberry PI 4 en mi caso).

En este artículo ya hablaba de lo ideal que resultaba la plataforma Raspberry Pi para descargar archivos desde redes p2p. Se viene la nueva versión de Ubuntu (22.04) quiero tener una andando para poder «seedear» el iso de Jammy Jellyfish.

Tansmission Logo

Transmission es un cliente P2P liviano, gratuito y de código abierto para la red BitTorrent. Está disponible bajo la licencia MIT, con algunas partes GPL, y es multiplataforma. Es compatible con los siguientes sistemas operativosmacOS (interfaz Cocoa, nativa), Linux (interfaz GTK+), Linux (interfaz Qt), NetBSDFreeBSD y OpenBSD (interfaz GTK+) y BeOS (interfaz nativa). Ahora también está disponible para Windows. La primera versión, 0.1, apareció en el 2005.

Extraído de Wikipedia

Prerequisitos:

En necesario tener docker y docker-compose instalados en el equipo. Si no lo tenes, acá tenes el paso a paso de como instalarlo.

Procedimiento:

La imagen que vamos a utilizar es la de LinuxServer.io, esta es la página oficial de documentación del contenedor.

La solución la voy a desplegar en el directorio «/opt/docker/» el docker compose lo voy a bajar de github

sudo mkdir -p /opt/docker/transmission/config
sudo mkdir -p /opt/docker/transmission/downloads
sudo mkdir -p /opt/docker/transmission/watch
cd /opt/docker/transmission/
sudo curl -O https://raw.githubusercontent.com/fsismo/docker-compose/main/transmission/docker-compose.yml
Captura de pantalla del docker-compose.yml para desplegar transmission.
  1. UserID y GroupID, puse 1000 para que coincida con mi usuario y poder administrar los archivos fácil.
  2. La zona, para que la hora los logs e información del contenedor coincida con la de mi máquina ( y vida).
  3. Usuario de la interfase web.
  4. Contraseña de la interfase web.
  5. Lista de ips separadas por coma a las que le permito conectarse (yo lo deshabilité para la red de casa).
  6. Lista de nombre de equipos a los que le permito conectarse (no se porque se me ocurriría usar esto) :-S .

Ahora procedemos a realizar el despliegue propiamente dicho ejecutando el comando:

sudo docker-compose up -d
Captura de pantalla de inicio de transmission.

Y en la ip de nuestro anfitrión en el puerto 9091 encontramos la interfase de transmission. En mi caso la Raspberry Pi donde estoy ejecutando Ubuntu 20.04 está en la ip 10.0.0.45, entonces la url es http://10.0.0.45:9091/

Captura de pantalla de transmission desplegado utilizando docker (compose).

Con la aplicación ya funcionando vamos a proceder a configurar la misma para que inicie como servicio.

Primero paramos la ejecución de nuestro compose.

sudo docker-compose down

Y configuramos el sistema para poder iniciar el servicio con systemctl. Para eso creamos el archivo con la configuración

sudo curl -o /etc/systemd/system/docker-transmission.service https://raw.githubusercontent.com/fsismo/docker-compose/main/transmission/docker-transmission.service

El contenido del archivo es el siguiente:

[Unit]
Description=Docker Transmission Service
Requires=docker.service
After=docker.service
[Service]
Type=oneshot
RemainAfterExit=yes
WorkingDirectory=/opt/docker/transmission/
ExecStart=/usr/bin/docker-compose up -d
ExecStop=/usr/bin/docker-compose down
TimeoutStartSec=0
[Install]
WantedBy=multi-user.target

Le damos permisos de ejecución

sudo chmod 640 /etc/systemd/system/docker-transmission.service

Y por último recargamos los servicios disponibles, habilitamos el servicio, lo iniciamos y verificamos que se ejecute correctamente.

sudo systemctl daemon-reload
sudo systemctl enable docker-transmission
sudo systemctl start docker-transmission
sudo systemctl status docker-transmission

Podemos dar por finalizo nuestro trabajo. Ya tenemos desplegado transmission utilizando docker!

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.