⚠️THIS IMAGE IS DEPRECATED, USE https://github.com/Wonderfall/docker-rtorrent INSTEAD ⚠️
This image was made for my own use a few years ago and while it is being updated, the structure hasn't changed much. I do not trust third-party Dockerfiles, and so should you: consider this repository as a base for your own Docker setup. If you want to do it "the Docker way", you should consider using proper containers for Flood and rtorrent, and use docker-compose.
As many images from the time it was first made, this image follows the principle of degrading privileges. It runs first as root to ensure permissions are set correctly and then only makes use of the UID/GID of your choice. While I agree it's not perfect (due to Linux insecurity), it seemed the best security/comfort balance at the time and it'll remain so for a while.
/usr/local/lib/pkgconfig
(don't touch)docker-compose.yml
, add tty: true
. If you don't do this, rtorrent will use 100% of CPU.Unix socket
. Enter /tmp/rtorrent.sock
as rTorrent Socket. If SCGI is used, configure accordingly. rtorrent:
image: wonderfall/rtorrent-flood
container_name: rtorrent
restart: unless-stopped
tty: true
security_opt:
- no-new-privileges:true
ports:
- 49184:49184
- 49184:49184/udp
environment:
- UID=1000
- GID=1000
- FLOOD_SECRET=supersecret
# - RTORRENT_SOCK=false
volumes:
- /home/docker/flood:/flood-db
- /home/media/torrents:/data
networks:
- http_network
- rtorrent_network
labels:
- traefik.enable=true
- traefik.http.routers.rtorrent.entrypoints=http
- traefik.http.routers.rtorrent.rule=Host(`box.domain.tld`)
- traefik.http.routers.rtorrent.middlewares=https-redirect@file
- traefik.http.routers.rtorrent-secure.entrypoints=https
- traefik.http.routers.rtorrent-secure.rule=Host(`box.domain.tld`)
- traefik.http.routers.rtorrent-secure.tls=true
- traefik.http.routers.rtorrent-secure.middlewares=secure-headers@file,hsts-headers@file
- traefik.http.routers.rtorrent-secure.tls.certresolver=http
- traefik.http.routers.rtorrent-secure.service=rtorrent
- traefik.http.services.rtorrent.loadbalancer.server.port=3000
- traefik.docker.network=http_network