135 lines
3.3 KiB
Markdown
135 lines
3.3 KiB
Markdown
# 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 open‑source 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.
|
||
|
||
Here’s 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:
|
||
|
||
* 2–20 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 qBittorrent‑nox 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 don’t need
|
||
|
||
ARR integration happens after the Docker portion is set up.
|
||
|
||
---
|
||
|
||
# ➡️ Next Step
|
||
|
||
Proceed to the **ARR Stack setup (Docker Compose)** to handle automation.
|