Change your torrent client's upload speed dynamically, on certain events such as:
- When a Plex/Jellyfin stream starts
- Time of day and day of the week
- More coming soon!
Change your torrent client's download speed dynamically, on certain events such as:
- Time of day and day of the week
- More comming soon!
This script is ideal for users with limited upload speed, however anyone can use it to maximise their upload speed, whilst keeping their Plex/Jellyfin streams buffer-free! Also great to adjust the download rate during the day, in case the bandwidth is needed for something else!
- Multi-server support for Plex, Jellyfin, and Tautulli.
- Supports qBittorrent (more clients soon, maybe).
- Multi-torrent-client support.
- Bandwidth is split between them, by number of downloading/uploading torrents.
- Schedule a time/day when upload speed should be lowered.
Pull the image with:
docker pull itschasa/speedrr
Your config file should be stored outside of the container, for easy editing.
You can then add a volume to the container (like /data/), which points to a folder where your config is stored.
Example docker run
command:
docker run -d
-e SPEEDRR_CONFIG=/data/config.yaml
-v /folder_with_config/:/data/
--name speedrr
--network host
itschasa/speedrr
- Open your console and run the following command:
cd /boot/config/plugins/dockerMan/templates-user && touch my-speedrr.xml && nano my-speedrr.xml
- Go to speedrr-unraid.xml, and copy and paste it into your console.
- Press Ctrl+O, then Enter, then Ctrl+X (to save the file and exit).
- Open your WebUI >
Docker
>Add Container
. - Click
Select a template
, and selectspeedrr
. - The options should be fine as they are defaulted. Apply changes.
- Using the template, create config.yaml in your /appdata/speedrr/ folder, and fill out the config.
- Start/Restart the container in the WebUI.
- Check everything is working in the logs (Docker Logs).
- Download the source code.
- Install Python 3.10 (other versions should work).
- Install the required modules with
python -m pip install -r requirements.txt
. - Edit the config to your liking.
- Run
python main.py --config_path config.yaml
to start.
Anyone is welcome to contribute! Feel free to open pull requests.
Please report any bugs in the Issues section.
Got an idea for the project? Suggest it here!