qBittorrent
Free, open-source, and ad-free BitTorrent client and self-hosted alternative to uTorrent.
Why consider qBittorrent?
qBittorrent is an open-source BitTorrent client with an integrated search engine, sequential downloading, bandwidth scheduling, and a powerful headless Web UI.
Learn qBittorrent by building
Practical setup notes, real use cases, and copy-ready examples in one focused guide.
In this guide10 sections
What is qBittorrent?
qBittorrent is a free, open-source BitTorrent client implemented in C++ and Qt using the libtorrent-rasterbar library. It operates as the leading ad-free, open-source alternative to proprietary torrent software like uTorrent and BitTorrent Classic.
qBittorrent aims to provide a lightweight, full-featured desktop experience identical across Linux, macOS, and Windows, while also offering a headless server edition (qBittorrent-nox) with an identical web-based graphical interface for remote download management.
Who Is It For?
- Open-Source Software Users: Downloading large Linux distribution ISO images, game patches, and public domain archives at maximum network throughput.
- Homelab & NAS Administrators: Running a headless background download manager on personal servers accessible over local networks.
- Content Creators: Distributing large creative assets, videos, and datasets over decentralized peer-to-peer networks.
Key Features
- Clean, ad-free interface with zero bundled adware, bloatware, or third-party cryptocurrency miners.
- Integrated BitTorrent search engine capable of searching across multiple public tracker plugins simultaneously.
- Sequential downloading mode allowing video previews while downloads are still in progress.
- Bandwidth scheduler and granular upload/download speed limit controls.
- Headless Web UI (qBittorrent-nox) with REST API for automation (Radarr, Sonarr).
Deploying Headless qBittorrent with Docker
version: '3.8'services: qbittorrent: image: lscr.io/linuxserver/qbittorrent:latest container_name: qbittorrent restart: unless-stopped environment: - PUID=1000 - PGID=1000 - TZ=UTC - WEBUI_PORT=8080 volumes: - ./config:/config - /media/downloads:/downloads ports: - 8080:8080 # Web UI - 6881:6881 # Torrent TCP - 6881:6881/udp # Torrent UDPStart the container:
docker compose up -dRetrieve the initial temporary Web UI password from the container logs:
docker logs qbittorrent | grep "temporary password"Open http://localhost:8080 in your browser, log in with username admin and your temporary password, and change your password under Tools -> Options -> Web UI.
Practical Use Cases
1. Automated Linux ISO Downloads
A system administrator automates the downloading of monthly Ubuntu, Fedora, and Debian installation ISOs using qBittorrent's built-in RSS feed auto-downloader.
2. Media Automation Integration
A homelabber connects qBittorrent's Web API to media automation stacks (Sonarr, Radarr), allowing automated queueing and categorization of torrent downloads.
3. Sequential Video Previewing
A user enables "Download in sequential order", allowing VLC media player to open and preview high-definition video files while the remaining blocks are still downloading.
Troubleshooting and Limitations
- Temporary Password on First Boot: Modern qBittorrent releases generate a randomized temporary password printed strictly to the application log for security; check
docker logsto retrieve it. - Port Forwarding for Peering: To achieve maximum download and upload speeds, forward port 6881 (TCP and UDP) in your home router to your qBittorrent host IP.
Official Resources
- Official Website: https://www.qbittorrent.org
- GitHub Repository: https://github.com/qbittorrent/qBittorrent
- Wiki & Docs: https://github.com/qbittorrent/qBittorrent/wiki
Related tools
More options with a similar category or technology profile.
McFly
Fly through your shell history with an intelligent neural network search engine.
cheat
Interactive command-line cheatsheets for system administrators and software engineers.
Pipenv
Python development workflow for humans uniting Pipfile, pip, and virtualenv.
Rye
Comprehensive Python package and workspace management tool written in Rust.