qBittorrent
qBittorrent is a free, open-source BitTorrent client built in C++ and Qt. It’s one of the few torrent clients with no ads, no bundled offers, and no premium tier: everything ships in the same free build. It runs on Windows, macOS, and Linux, and the Web UI is built into the core application rather than sold or added on separately, which is what makes it a natural fit for a homelab. Point it at a headless server and run the whole thing from a browser tab.
License: qBittorrent’s source code is licensed under GPL-2.0-or-later. Binary distributions ship under GPL-3.0-or-later instead, because they bundle GPLv3+ assets like icons, confirmed from the COPYING file in the qbittorrent/qBittorrent GitHub repo. A separate exception permits linking against OpenSSL. The download engine underneath it, libtorrent-rasterbar (built by Arvid Norberg), is a separate dependency under a 3-clause BSD license, not GPL.
Quick facts: Official site qbittorrent.org · GitHub qbittorrent/qBittorrent, 29,000+ stars · Docker image linuxserver/qbittorrent (community, not maintained by the qBittorrent project itself) · default Web UI port 8080.
This page covers legal uses only. BitTorrent is a protocol, not a piracy tool. It’s the same technology Ubuntu, Debian, and other Linux distributions publish official torrent files for, that the Internet Archive uses to distribute public-domain media, and that plenty of indie developers use to ship open-source software and Creative Commons-licensed content. Everything on this page assumes downloading files you actually have the right to: Linux ISOs, open-source releases, public-domain or Creative Commons media, and personal backups over a private tracker you run or trust yourself. This page doesn’t cover, link to, or discuss public trackers, indexing sites, or any configuration aimed at evading detection for unauthorized downloads. It never will.
What qBittorrent actually does
Under the hood, qBittorrent is a fairly thin interface wrapped around libtorrent-rasterbar, the same engine a few other clients build on too. What sets it apart day to day: sequential downloading, useful for playing a video file before the whole torrent finishes, bandwidth scheduling by time of day, per-torrent categories and tags, an RSS downloader for auto-grabbing new releases that match a filter (Linux distro release feeds work well here), and a plugin system for searching public-domain and open-content sources straight from the UI. None of that needs a companion app. The built-in Web UI shows the same interface a desktop install would, just reachable from any browser on the network.
Installing qBittorrent with Docker
There’s no Docker image maintained by the qBittorrent project itself. The community standard, and the one most self-hosted guides point to, is linuxserver/qbittorrent from LinuxServer.io: over 100 million pulls, weekly rebuilds, and the same PUID/PGID pattern used across the rest of the LinuxServer.io catalog.
docker run -d \
--name=qbittorrent \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Etc/UTC \
-e WEBUI_PORT=8080 \
-p 8080:8080 \
-p 6881:6881 \
-p 6881:6881/udp \
-v /path/to/qbittorrent/config:/config \
-v /path/to/downloads:/downloads \
--restart unless-stopped \
lscr.io/linuxserver/qbittorrent:latest
Or as a docker-compose.yml:
services:
qbittorrent:
image: lscr.io/linuxserver/qbittorrent:latest
container_name: qbittorrent
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- WEBUI_PORT=8080
volumes:
- /path/to/qbittorrent/config:/config
- /path/to/downloads:/downloads
ports:
- 8080:8080
- 6881:6881
- 6881:6881/udp
restart: unless-stopped
- Run
docker compose up -d, then checkdocker logs qbittorrentfor the temporary admin password printed on first start. - Open
http://your-server-ip:8080and log in with that temporary password. - Change the username and password immediately in the Web UI’s settings; a new temporary one gets generated on every restart until you do.
- Point the downloads folder at whatever your media library or archive tool already watches.
Hardware: qBittorrent is light on CPU. It spends most of its time waiting on network I/O, not computing. A Raspberry Pi 4 or any low-power mini PC handles a normal download queue without strain; disk speed and available bandwidth are the real ceiling, not the processor. Our homelab setup guide covers picking hardware for a first Docker project.
Securing the Web UI
The default setup exposes the Web UI on port 8080 with no HTTPS of its own. Put it behind a reverse proxy like Nginx Proxy Manager with a real certificate, or skip exposing it to the internet at all and reach it over a mesh VPN like Tailscale or WireGuard instead. The torrenting port, 6881 by default, only needs forwarding on the router if you want the best possible peer connectivity for content you’re legally downloading; qBittorrent works fine without it, just with somewhat slower peer discovery.
qBittorrent vs Transmission
Transmission trades some of qBittorrent’s feature set for a smaller footprint. It’s the client most NAS vendors bundle by default because it barely uses any resources, but RSS automation and search plugins mean reaching for scripts or third-party tools to match what qBittorrent does out of the box. qBittorrent front-loads more into the base install, at the cost of a slightly heavier process.
| qBittorrent | Transmission | |
|---|---|---|
| License | GPL-2.0 / GPL-3.0 | MIT |
| Interface | Full Web UI, same codebase as the desktop app | Minimal Web UI, several third-party frontends |
| RSS auto-download | Built in | Needs a plugin or script |
| Search plugins | Built in | Not built in |
| Resource use | Slightly heavier | Very light |
qBittorrent: pros and cons
- Free and open source, no ads, no bundled offers, no paid tier
- Built-in Web UI, RSS downloader, and search plugins with nothing extra to install
- Sequential downloading and per-torrent bandwidth limits built in
- Runs comfortably on low-power hardware like a Raspberry Pi
- No Docker image maintained by the qBittorrent project itself; relying on the LinuxServer.io community build
- Default Web UI has no HTTPS or brute-force protection of its own, needs a reverse proxy or VPN
- Some advanced features, like RSS filters and category rules, take a bit of digging through settings to find
FAQ
Is qBittorrent free?
Yes, entirely, under GPL-2.0-or-later for the source and GPL-3.0-or-later for binary builds. No paid tier, no account, no ads.
Is qBittorrent legal to use?
Yes. It’s general-purpose software for the BitTorrent protocol, the same protocol Linux distributions and the Internet Archive use to distribute files. What’s legal or not depends entirely on what you download with it, exactly like a media player or a web browser.
Is there an official qBittorrent Docker image?
No. The qBittorrent project doesn’t publish or maintain one. linuxserver/qbittorrent from LinuxServer.io is the community image most self-hosted guides, including this one, point to.
Do I need to forward the torrenting port?
No, but it helps. qBittorrent works fine without a forwarded port; opening 6881 just improves how many peers can connect to you directly, which mainly matters for less-popular torrents.
Can I run qBittorrent on a Raspberry Pi or NAS?
Yes. It’s light on CPU, and both Raspberry Pi and most consumer NAS platforms run the linuxserver/qbittorrent image without issue, as long as storage can keep up with your connection speed.
For downloading responsibly beyond torrents, our MeTube page covers the same legal-use approach for video. Tailscale or WireGuard cover keeping the Web UI off the open internet entirely, and the homelab setup guide for beginners has the rest of the Docker basics this depends on.