HomeLabDocs/qbittorrent_complete.md

83 lines
2.9 KiB
Markdown

# 🧲 qBittorrent - Container 108
## Overview
qBittorrent is a lightweight and powerful BitTorrent client with a modern Web UI. It is used in this homelab setup as the primary download client for Sonarr and Radarr.
## Service Details
- **Container ID**: 108
- **Hostname**: qbittorrent
- **IP Address**: 192.168.1.47
- **Port**: 8080 (Web UI)
- **Access**: LAN-only or via Tailscale
- **Authentication**: Web UI login enabled
- **Username / Password**: `admin` / `pcideas` (stored in Bitwarden under `homelab > qBittorrent`)
## Hosting & Platform
- **Platform**: Native install in unprivileged Debian-based LXC container
- **Install Method**: Community script or manual binary install
- **Privileged**: No
- **Features Enabled**: `keyctl=1`, `nesting=1`
- **Service Management**: Runs as systemd service or default user session
- **Runs As**: root
## Storage & Mounts
| Host Path | Container Path | Purpose |
|----------------------|----------------|-----------------------------|
| `/mnt/ssd_downloads` | `/downloads` | Download storage volume |
## Configuration
- **Web UI URL**: `http://192.168.1.47:8080/`
- **Username / Password**: `admin` / `pcideas`
- **Download Categories**: Optional (`tv`, `movies`)
- **Save Path**: `/downloads/completed`
- **Temp Path**: `/downloads/incomplete`
- **ShareLimitAction**: `Pause` (allows Radarr/Sonarr import + cleanup)
- **Remote Path Mapping**:
- Host: `/mnt/ssd_downloads`
- Sonarr/Radarr Container: `/downloads`
## Backup & Recovery
- **Config File**: `~/.config/qBittorrent/qBittorrent.conf`
- **Log Directory**: `~/.config/qBittorrent/logs/`
- **Backup Strategy**: LXC snapshot or `tar` archive of config directory
- **Manual Backup**:
```bash
tar -czvf /root/qbittorrent-config-$(date +%F).tar.gz ~/.config/qBittorrent
```
- **Restore**: Drop files back in place and restart the service
## Logs & Monitoring
- **Log Path**: `~/.config/qBittorrent/logs/qbittorrent.log`
- **Monitoring**: Not configured (can be added via custom agent or `journalctl`)
- **Health Check**: Optional; port check on 8080 via Prometheus or watchdog
## Updates
To update manually:
1. Stop qBittorrent
2. Download latest binary or package
3. Replace executable (if not using apt-managed version)
4. Restart service or container
## System Behavior
- **ShareLimitAction = Pause** ensures completed torrents can be removed or cleaned up by Radarr/Sonarr without conflict.
- **No Hardlinking** used (due to SMB-backed storage).
- **Resource Footprint**: Very lightweight — runs well with 2 vCPU / 2 GB RAM.
- **Firewall**: LAN/Tailscale access only; not exposed externally.
## Notes
- Acts as the central downloader for all automated media.
- Runs as `root` (inside LXC), allowing clean access to mount paths.
- Categories can help organize media intake (`tv`, `movies`, etc.)
- Paused torrents enable smooth post-processing.
- Web UI can be accessed only internally, secured via basic auth.