rtorrent is a popular bittorrent client & rutorrent Web-UI based front-end for it.
This is a clone of the crazy-max/docker-rtorrent-rutorrent image with the following modifications:
- Stop creation of
/downloads{/completed,/temp}
directories - Disabled Healthchecks
- Changed Default Downloads directory to
/downloads
- Disabled move of completed torrents
- Tuned off
PEX
&system.umask.set
(in.rtorrent.rc
) during bootstrapping - Set
TopDirectory
in rutorrentconfig.php
to/downloads
, to prevent access to root directory inside the container
These images support multiple architectures such as x86-64
, armhf
and arm64
using Docker manifest.
When you pull xxacielxx/rutorrent
or ghcr.io/xxacielxx/rutorrent
, you will get the arch for your system.
The supported architectures are:
Architecture | Tag |
---|---|
x86-64 | amd64-latest |
armhf | arm32v7-latest |
arm64 | arm64v8-latest |
Here are some example snippets to help you get started creating a container.
docker-compose (recommended)
Compatible with docker-compose v2 schemas.
services:
rutorrent:
image: xxacielxx/rutorrent:latest
container_name: rutorrent
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/London
volumes:
- </path/to/rutorrent/data>:/data
- </path/to/rutorrent/passwd>:/passwd
- </path/to/downloads>:/downloads
ports:
- 6881:6881/udp
- 8000:8000
- 8080:8080
- 9000:9000
- 50000:50000
restart: unless-stopped
docker run -d \
--name rutorrent \
--ulimit nproc=65535 \
--ulimit nofile=32000:40000 \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Europe/London \
-p 6881:6881/udp \
-p 8000:8000 \
-p 8080:8080 \
-p 9000:9000 \
-p 50000:50000 \
-v </path/to/rutorrent/data>:/data \
-v </path/to/rutorrent/passwd>:/passwd \
-v </path/to/downloads>:/downloads \
--restart unless-stopped \
xxacielxx/rutorrent:latest
/data
: rTorrent / ruTorrent config, session files, log, .../passwd
: Contains htpasswd files for basic auth (web-ui, rpc & webdav)/downloads
: Downloads directory
⚠️ Note that the volumes should be owned by the user/group with the specifiedPUID
andPGID
. If you don't give the volumes correct permissions, the container may not start or function properly.
6881
(orRT_DHT_PORT
): DHT UDP port (dht.port.set
)8000
(orXMLRPC_PORT
): XMLRPC port through nginx over SCGI socket8080
(orRUTORRENT_PORT
): ruTorrent HTTP port9000
(orWEBDAV_PORT
): WebDAV port on/downloads
50000
(orRT_INC_PORT
): Incoming connections (network.port_range.set
)
- Update all images:
docker-compose pull
- or update a single image:
docker-compose pull rutorrent
- or update a single image:
- Let compose update all containers as necessary:
docker-compose up -d
- or update a single container:
docker-compose up -d rutorrent
- or update a single container:
- You can also remove the old dangling images:
docker image prune
- Update image:
docker pull xxacielxx/rutorrent
- Stop the running container:
docker stop rutorrent
- Delete the container:
docker rm rutorrent
- Recreate a new container with the same docker run parameters as instructed above (if mapped correctly to host folders, your
/data, /passwd, /downloads
folders and settings will be preserved)- You can also remove the old dangling images:
docker image prune
- You can also remove the old dangling images: