AutoThrottle

AutoThrottle

Docker app from JaiMistry's Repository

Overview

Lowers qBittorrent or Transmission speed limits while someone is watching on Plex, Jellyfin or Emby, and puts your normal speeds back when they stop, so remote streams don't buffer while downloads run. It listens to each media server's own live feed, so it reacts within seconds and needs no webhooks, Plex Pass or Tautulli. A paused stream stays throttled, one left paused for 30 minutes is let go, playback on your own network can be ignored, and the right rates are re-applied after a restart. The dashboard shows what's playing, what's throttled, and a heatmap of when your downloads were held back. After installing, open the WebUI and create your account. Then add your media server and download client on the Configuration page, and map one to the other.

AutoThrottle logo

AutoThrottle

Intelligently throttles download clients while a media server has active playback.

Build status Coverage Latest version Docker pulls Size

AutoThrottle dynamically lowers your download client speeds while something is playing on your media server, and restores them when playback stops. Set it up once and it looks after itself from then on. The throttling is aware of what is actually happening. A paused stream stays throttled, one that has sat paused or stalled for 30 minutes is let go, and playback on your own network can be ignored. When you want full speed regardless, one click turns throttling off until you turn it back on.

The Dashboard in dark and light themes

Connections Sign-in

⭐ Features

  • Live dashboard: a reactive modern UI.
  • Real-time: detects within seconds, from each server's live feed.
  • Mappings: control which applications are throttled.
  • Pause-aware: a paused stream stays throttled, and an abandoned one is released.
  • Local playback exemption: streams on your own network can be ignored.
  • Restart-safe: rates are re-applied on startup, so nothing stays stuck slow.
  • Throttle history: a heatmap of when your downloads were held back.
  • Secure: all credentials securely encrypted.
  • Lightweight: very small footprint.

🧩 Supported versions

Media server Version
Plex Media Server Plex Media Server 1.43+
Jellyfin Jellyfin 10.11+
Emby Emby 4.9+
Download client Version
qBittorrent qBittorrent 5.2+
Transmission Transmission 4.1+

🚀 Quick start

docker compose:

services:
  autothrottle:
    image: jaimistry/autothrottle:latest
    container_name: autothrottle
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/Los_Angeles
    volumes:
      - /data:/data
    ports:
      - "7676:7676"
    restart: unless-stopped

docker run:

docker run -d \
  --name autothrottle \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=America/Los_Angeles \
  -v /data:/data \
  -p 7676:7676 \
  --restart unless-stopped \
  jaimistry/autothrottle:latest

⚙️ Environment variables

All are optional.

Variable Default What it does
TZ America/Los_Angeles Time zone for timestamps.
PUID 1000 User that owns the data folder.
PGID 1000 Group that owns the data folder.
AUTH_USERNAME Sign-in username from the environment instead of creating an account. Set with AUTH_PASSWORD.
AUTH_PASSWORD Sign-in password from the environment. Set with AUTH_USERNAME.
AUTH_DISABLED false Turns off sign-in. Only use this behind a proxy that handles it.

🛠️ First-time setup

Open http://<your-server>:7676 and create your account. Everything else happens on the Configuration page:

  1. Add a media server with its URL and token or API key. For Plex you can sign in with your Plex account instead of pasting a token.

  2. Add a download client with two pairs of rates:

    • Default rates, applied when nothing is playing.
    • Throttled rates, applied while a mapped server is playing.

    Rates are in KB/s, and 0 means unlimited.

  3. Map them. Choose which media servers throttle which download clients.

License

GPL-3.0

Made with ❤️ by JaiMistry

Media gallery

1 / 2

Requirements

A Plex, Jellyfin or Emby server, and qBittorrent or Transmission, reachable from this container.

Download Statistics

514
Total Downloads

Related apps

Details

Repository
jaimistry/autothrottle:latest
Last Updated2026-10-14
First Seen2026-10-16

Runtime arguments

Web UI
http://[IP]:[PORT:7676]
Network
bridge
Privileged
false

Template configuration

WebUIPorttcp

Port for the web interface.

Target
7676
Default
7676
Value
7676
AppdataPathrw

Database and encryption key. Keep this folder to keep your settings and history.

Target
/data
Default
/mnt/user/appdata/autothrottle
Value
/mnt/user/appdata/autothrottle
PUIDVariable

User that owns the appdata folder.

Default
99
Value
99
PGIDVariable

Group that owns the appdata folder.

Default
100
Value
100
UsernameVariable

Optional. Sign-in username from here instead of creating an account in the WebUI. Set together with the password.

Target
AUTH_USERNAME
PasswordVariable

Optional. Sign-in password, set together with the username.

Target
AUTH_PASSWORD
Disable sign-inVariable

Turns off sign-in. Only use this behind a reverse proxy that handles sign-in itself.

Target
AUTH_DISABLED
Default
false|true
Value
false