crazy-max / docker-rtorrent-rutorrent

rTorrent and ruTorrent Docker image
MIT License
501 stars 111 forks source link

Download limit is reset after restart #376

Open t4rl opened 4 months ago

t4rl commented 4 months ago

Support guidelines

I've found a bug and checked that ...

Description

When rTorrent downloads at maximum speed ISP, everything else becames unusable. To combat this I always set maximum download speed just a little bit below of what ISP provides. However, after every restart, the setting is reset back to "Unlimited". This might also be happening to Upload, but I personally haven't tested this.

I might be more of a ruTorrent issue, but I am not sure.

Expected behaviour

The setting persists.

Actual behaviour

Download speed limit is set to "Unlimited"

Steps to reproduce

  1. Open web UI.
  2. Right click "Download Speed" on the footer and select any other besides "Unlimited".
  3. Do docker compose down && docker compose up -d.
  4. Reload web UI.
  5. Right click "Download Speed" and see that it is back to "Unlimited" value.

Docker info

Client: Docker Engine - Community
 Version:    24.0.7
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.11.2
    Path:     /usr/libexec/docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v2.21.0
    Path:     /usr/libexec/docker/cli-plugins/docker-compose

Server:
 Containers: 14
  Running: 11
  Paused: 0
  Stopped: 3
 Images: 64
 Server Version: 24.0.7
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Using metacopy: false
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: systemd
 Cgroup Version: 2
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 3dd1e886e55dd695541fdcd67420c2888645a495
 runc version: v1.1.10-0-g18a0cb0
 init version: de40ad0
 Security Options:
  apparmor
  seccomp
   Profile: builtin
  cgroupns
 Kernel Version: 6.5.0-41-generic
 Operating System: Ubuntu 22.04.3 LTS
 OSType: linux
 Architecture: x86_64
 CPUs: 4
 Total Memory: 15.46GiB
 Name: octopus
 ID: d056d3d9-e0f9-4938-9230-a5ea4d5d54c4
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Registry Mirrors:
  https://mirror.gcr.io/
 Live Restore Enabled: false

Docker Compose config

No response

Logs

N/A.

Additional info

No response

Killeroid commented 4 months ago

Download (and upload) speed are set here in the .rtorrent.rc config file when the container starts. By default, they are set to unlimited.

# Global upload and download rate in KiB. "0" for unlimited
throttle.global_down.max_rate.set_kb = 0
throttle.global_up.max_rate.set_kb = 0

If you want to persist your changes to it, you will have to have override the defaults in your config.

t4rl commented 4 months ago

Thank you for suggestion, but tweaking config files everytime a users wants to set a permanent limit is not a viable solution. Download/upload limit set using web UI should be persistent and should be handled by rtorrent itself.

I don't mind trying to do it myself, I just need a pointer to know where to start however.

newadventure079 commented 4 months ago

Editing .rtorrent.rc is permanent. Set the rate limits you want in that file and you're good to go

de666 commented 2 months ago

I agree with @t4rl , the web ui settings should be persistent otherwise they are totally useless. Also i changed the rtorrent config file but I think the webui settings shuold behave the same way, not only temporarily. I think the idea behind ruTorrent is to manage rtorrent almost exclusively from webui without having to touch the config files and that should apply to the download limit settings too.

Killeroid commented 2 months ago

@de666 Yes, I agree that this would be the more user friendly option. It's something that would need to be implemented upstream in the rutorrent codebase.

I'd file a bug upstream with them instead.

@crazy-max and the team behind this docker image can't really help with this because they are not the devs behind rutorrent, they just use/include it in this image.

To be honest, I'm also not sure the rutorrent folks will see this as something they need to implement. The Rutorrent webUI is supposed to only be a frontend for rtorrent and it is not designed to be responsible for managing rtorrent's config files.

stickz commented 2 months ago

A possible workaround is to use the ruTorrent throttle plugin to apply a speed limit instead. It's re-enabled with the latest version of this docker image because it supports a theoretical maximum of 33 gigabits. (beyond what rTorrent can output)