Files
docs/tutorials/media-manager/steps/install-qbittorrent.md

135 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Installing qBittorrent (Host Installation)
qBittorrent is the download engine of your media automation setup. It handles all torrent activity triggered by Radarr, Sonarr, and Prowlarr. Installing it on the **host system** (not Docker) ensures optimal speed, stable paths, and maximum compatibility.
This guide explains:
* What qBittorrent does in the media pipeline
* Why it should *not* run inside Docker in a real-world Pi/home server setup
* Why its configuration does **not** need to be moved to your external drive
* The installation script used to install and run qBittorrent as a systemd service
---
# 🌀 What Is qBittorrent?
qBittorrent is an opensource torrent client with:
* A lightweight Web UI
* Fast download engine
* Built-in category and tagging support
* Excellent integration with Radarr & Sonarr
* Very low resource usage
It acts as the **download worker** for the entire Media Manager.
When Radarr/Sonarr find a new movie or episode, they send the torrent to qBittorrent. When the download completes, ARR handles renaming and moving the file.
---
# ❌ Why qBittorrent Should NOT Run in Docker
Although qBittorrent *can* run in Docker, it performs **significantly worse** and causes practical issues when used on low-power servers like Raspberry Pi.
Heres why.
## 🐌 1. Docker slows down torrent hashing
qBit must:
* Hash large files
* Verify blocks
* Manage partial pieces
Docker overlays add filesystem overhead → hashing becomes slower → CPU usage increases.
## 🔐 2. Permissions become messy
Inside Docker:
* Download paths are bind-mounted
* UID/GID mapping becomes inconsistent
* Sonarr/Radarr sometimes cannot see or import completed downloads
On the host:
* Files are native
* Permissions are predictable
* ARR integration is flawless
## 📁 3. Real file paths are required for stability
qBit expects stable, real Linux paths like:
```
/mnt/omnissiah-vault/downloads
```
Containers often abstract or rewrite these, confusing ARR.
## 🚀 4. Performance is dramatically better on the host
Download speed, disk writes, and hashing are all faster without Docker.
### ✔ Therefore:
**qBittorrent belongs on the host system for maximum stability and speed.**
---
# 📦 Why qBittorrent Config Does NOT Go on the External HDD
Unlike Plex—which can generate **tens of gigabytes** of metadata—qBittorrent stores only:
* a few small configuration files
* a few `.fastresume` entries
* a small database of torrents
Typical qBit config directory size:
* 220 MB
It does **not** grow with your media library.
### ✔ Keeping qBit on the internal OS disk is safe and recommended.
---
# ⚙️ Installation Script (Systemd Service)
The script below installs qBittorrentnox and configures it to run as a background service.
* 📥 Download Script
👉 **[install-docker.sh](../scripts/shell/install-qbittorrent.sh)**
---
# 🚀 After Installation
Visit:
```
http://<your_pi_ip>:8080
```
Default credentials:
```
username: admin
password: adminadmin
```
You *must* change the password on first login.
Next steps:
* Configure download paths
* Add categories (`movies`, `tv`, etc.)
* Disable torrenting features you dont need
ARR integration happens after the Docker portion is set up.
---
# ➡️ Next Step
Proceed to the **ARR Stack setup (Docker Compose)** to handle automation.