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.
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 operativos: macOS (interfaz Cocoa, nativa), Linux (interfaz GTK+), Linux (interfaz Qt), NetBSD, FreeBSD 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.
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
- UserID y GroupID, puse 1000 para que coincida con mi usuario y poder administrar los archivos fácil.
- La zona, para que la hora los logs e información del contenedor coincida con la de mi máquina ( y vida).
- Usuario de la interfase web.
- Contraseña de la interfase web.
- Lista de ips separadas por coma a las que le permito conectarse (yo lo deshabilité para la red de casa).
- 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
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/
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