Run Flood (and torrent clients) in containers #120
Replies: 20 comments 47 replies
-
Here is mine: Specifications:
For security purposes, containers are launched with the privileges of specified UID/GID ( Run Flood in a service (or shell): docker run -it --rm \
--name flood \
--hostname flood \
-e HOME=/config \
-v /home/jc/dlconfig:/config \
-v /mnt/data0:/data \
-u 1000:1001 \
-p 127.0.0.1:3001:3001 \
jesec/flood \
--port 3001 \
--allowedpath /data Run rTorrent in another service (or shell): docker run -it --rm \
--name rtorrent \
--hostname rtorrent \
-e HOME=/config \
-v /home/jc/dlconfig:/config \
-v /mnt/data0:/data \
-u 1000:1001 \
-p 0.0.0.0:6881:6881 \
jesec/rtorrent \
-o network.port_range.set=6881-6881,system.daemon.set=true Note that command arguments are used to change certain configurations of rTorrent. Alternatively, you may place your own configuration file to
In my case, I can place it to Or Docker Compose: services:
flood:
hostname: flood
image: jesec/flood
user: 1000:1001
restart: unless-stopped
command: --port 3001 --allowedpath /data
environment:
HOME: /config
volumes:
- /home/jc/dlconfig:/config
- /mnt/data0:/data
ports:
- 127.0.0.1:3001:3001
rtorrent:
hostname: rtorrent
image: jesec/rtorrent
user: 1000:1001
restart: unless-stopped
command: -o network.port_range.set=6881-6881,system.daemon.set=true
environment:
HOME: /config
volumes:
- /home/jc/dlconfig:/config
- /mnt/data0:/data
ports:
- 0.0.0.0:6881:6881 Finally, access Flood and register a user with |
Beta Was this translation helpful? Give feedback.
-
I'm using a slightly modified version of #120 (comment) with just traefik labels added 👍
Works great, until I have to reboot, it happens rarely but every single time the rtorrent container is locked because the lock file has not been deleted during hte shutdown (well that's what I think is happening but I could be off): |
Beta Was this translation helpful? Give feedback.
-
Hi there, Dumb question: the |
Beta Was this translation helpful? Give feedback.
-
Hi, I use rtorrent-flood and every time it restart i need to manualy remove the Can you make it delete itself each time the container is restarted ? |
Beta Was this translation helpful? Give feedback.
-
Hi, I tried to use flood-rtorrent with docker-compose. When I tried to run the flood container, I have the error "Failed to access runtime directory", and then the container stoped. If someone have an idea.. |
Beta Was this translation helpful? Give feedback.
-
I'd like to use flood with a docker named volume, however, I am getting the error Using a regular folder works. But since I don't plan to change the files I'd prefer to keep it in a docker volume.
|
Beta Was this translation helpful? Give feedback.
-
Has anyone else noticed that memory usage is increasing when running flood in docker? Mine goes well above 500mb after a couple of weeks usage. I now sat a limit (128m) to see if it crashes. |
Beta Was this translation helpful? Give feedback.
-
Is anyone able to open a shell in the
I've also tried EDIT: nevermind, I see the |
Beta Was this translation helpful? Give feedback.
-
I follow default docker configuration and i have errors adding torrents in web UI. it seems that rtorrent download directory is generated here : /home/jc/dlconfig/.local/share/rtorrent/download then i set is this a bug ? or the docker-compose of the documentation needs update ? |
Beta Was this translation helpful? Give feedback.
-
I'm trying to create a Docker Compose setup with rTorrent being forced over an OpenVPN connection and Flood available, prioritising security and performance/low resource usage. My current approach is inspired by transmission-openvpn, using a single Alpine-based container running the jesec fork of rTorrent and OpenVPN, and a separate container for Flood. Overall, it's pretty much working, the only real issue I'm experiencing now is that rTorrent seems to struggle to shut down gracefully in this setup. This leaves behind the lock file so it fails to start next time - I know there are some suggestions for this above, but it seems like the root issue is it failing to shut down in the first place, rather than handling the stale lock files. The overall flow is:
The issue is that although rTorrent seems to receive the initial SIGTERM correctly (it prints If I simplify the container image so that dumb-init just calls my rTorrent startup script and remove the Any ideas? I know this is probably a complex scenario. |
Beta Was this translation helpful? Give feedback.
-
My current container setup is a custom rTorrent image (mostly to handle RAR files) + So for those interested, I'm running a custom distroless container with the necessary tools to automatically unpack RAR releases (that's what I need in my workflow). Flood runs flawlessly in a separate container. Here's a generic version of my docker-compose.yml (I personally use Traefik with static configuration files to avoid giving it access to the Docker socket). Thanks again for maintaining both Flood and your fork of rTorrent. :) |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
I'm using the docker-compose method, and it works fine except that my download folder is full of |
Beta Was this translation helpful? Give feedback.
-
can someone share a docker compose example with flood and Qbittorrent docker containers I am getting a "Request failed with status code 422" in Flood page. I have in my docker compose:
and
qbit-linux is runing throug privoxyvpn that is as following:
qbit-linux is running ok, I can access it through port 8090 Thanks in advance |
Beta Was this translation helpful? Give feedback.
-
Hello, it's possible to use flood with deluge-vpn? Anyone can help with that? |
Beta Was this translation helpful? Give feedback.
-
Could yoy provide your .rctorrent.rc? |
Beta Was this translation helpful? Give feedback.
-
The instruction to use |
Beta Was this translation helpful? Give feedback.
-
I've Been trying to get this to work in Kubernetes for the past few hours but it keeps crashing on me. As far as I can see, I'm using the correct configuration based on this thread. Does anyone have an idea?
This is my configuration:
|
Beta Was this translation helpful? Give feedback.
-
@jesec
|
Beta Was this translation helpful? Give feedback.
-
Sharing my k8s deployment using a different rtorrent container (as I use rutorrent as well). apiVersion: apps/v1
kind: Deployment
metadata:
name: rutorrent-deployment
namespace: dvr
labels:
app: rutorrent
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
app: rutorrent
template:
metadata:
labels:
app: rutorrent
spec:
containers:
- name: rutorrent
envFrom:
- configMapRef:
name: rutorrent-env-configmap
image: ghcr.io/crazy-max/rtorrent-rutorrent:latest@sha256:c0160595188d2353e3fa468bbdb0e38ad0b4a33b3383a2bba746051d93a1b892
livenessProbe:
exec:
command:
- /bin/sh
- -c
- /usr/local/bin/healthcheck
initialDelaySeconds: 600
periodSeconds: 15
timeoutSeconds: 10
failureThreshold: 3
ports:
- name: http
containerPort: 8080
- name: xmlrpc
containerPort: 8000
- name: rtorrent
containerPort: 51413
- name: dht
containerPort: 6881
volumeMounts:
- name: downloads
mountPath: /downloads
- name: config
mountPath: /data
subPath: rtorrent-config
- name: temporary-rundir
mountPath: /var/run/rtorrent
- name: flood
image: jesec/flood:latest@sha256:029fd802b125a53dd6289776a1793e815d61f8ee33cbb686cfae951a390963fe
args: ["--allowedpath", "/data","--allowedpath", "/var/run/rtorrent"]
securityContext:
runAsUser: 911
runAsGroup: 911
env:
- name: HOME
value: /data/rtorrent/
- name: TZ
value: Europe/Amsterdam
- name: FLOOD_OPTION_auth
value: none
- name: FLOOD_OPTION_rtsocket
value: "/var/run/rtorrent/scgi.socket"
ports:
- containerPort: 3000
name: http-flood
protocol: TCP
volumeMounts:
- name: config
mountPath: /data
subPath: rtorrent-config
- name: temporary-rundir
mountPath: /var/run/rtorrent
volumes:
- name: downloads
hostPath:
path: /downloads
type: DirectoryOrCreate
- name: config
hostPath:
path: /config
type: DirectoryOrCreate
- name: temporary-rundir
emptyDir: {} |
Beta Was this translation helpful? Give feedback.
-
Feel free to share your container setup by replying to this thread.
Beta Was this translation helpful? Give feedback.
All reactions