Table of Contents
qBittorrent Configuration Guide
qBittorrent is the acquisition workhorse of the Trash Panda automation ecosystem. While any reputable torrent client can function in this role, qBittorrent is recommended due to its stability, predictable behavior, strong API support, and mature feature set that integrates cleanly with the ARR suite.
This page covers conceptual configuration and performance-sensitive settings for qBittorrent running natively on Ubuntu within the Automation / Acquisition VM. Naming conventions, category mapping, and ARR-side configuration are covered in their respective guides.
Why qBittorrent
qBittorrent is recommended for several pragmatic reasons:
- Fully open-source and actively maintained
- No ads, bundled junk, or opaque behaviors
- Strong Web UI with full API support
- Predictable disk I/O under automation
- Explicit VPN interface binding support
- Excellent compatibility with Sonarr, Radarr, and Prowlarr
Most importantly, qBittorrent behaves consistently under unattended operation, which is mandatory for a set-it-and-forget-it system.
Role in the Automation Ecosystem
qBittorrent’s responsibilities are intentionally narrow:
- Receive approved torrents from Sonarr/Radarr
- Download content efficiently and safely
- Hand off completed data cleanly
- Remain invisible the rest of the time
It should never:
- Rename media
- Decide where final media lives
- Compete for system resources unnecessarily
Installation Model
- Installed natively on Ubuntu (no Docker)
- Runs on the Automation / Acquisition VM
- All internet-bound traffic traverses the VPN
- Local resources remain reachable via LAN routing
This guide assumes qBittorrent is already installed and reachable via its Web UI.
VPN Binding (CRITICAL)
qBittorrent must be bound to the VPN interface.
Relevant configuration variables:
Session\\InterfaceName=NordLynxSession\\InterfaceAddress=0.0.0.0Session\\ReannounceWhenAddressChanged=true
Why this matters:
- Prevents traffic leaks if the VPN drops
- Ensures torrents never exit via a physical NIC
- Forces qBittorrent offline if the tunnel disappears
Binding to Any or a physical interface defeats the purpose of the VPN. If the VPN goes down, qBittorrent should stop transferring immediately — that is intentional behavior.
Network & Connection Performance
Your configuration emphasizes high download concurrency with controlled upload pressure.
Key performance-impacting settings:
Session\\MaxConnections=500Session\\MaxConnectionsPerTorrent=200Session\\ConnectionSpeed=50Session\\MaxActiveDownloads=10Session\\MaxActiveUploads=1Session\\MaxUploads=1Session\\MaxUploadsPerTorrent=1
Design intent:
- Allow many peers for fast swarm convergence
- Aggressively limit upload to preserve bandwidth
- Favor completion over long-lived seeding
- Reduce contention with other services
This configuration prioritizes fast acquisition without saturating upstream bandwidth.
Queueing & Torrent Lifecycle
Queueing is enabled and aggressively tuned.
Relevant settings:
Session\\QueueingSystemEnabled=trueSession\\IgnoreSlowTorrentsForQueueing=trueSession\\SlowTorrentsDownloadRate=512Session\\SlowTorrentsUploadRate=10Session\\SlowTorrentsInactivityTimer=180
Effect:
- Slow or stalled torrents are deprioritized
- Active slots are reused efficiently
- The system avoids getting “stuck” on bad releases
This is essential for automation where human intervention is rare.
Disk I/O & Cache Optimization
Disk behavior is one of the largest performance differentiators in automated systems.
Key disk-related settings:
Session\\DiskCacheSize=1024Session\\DiskIOReadMode=DisableOSCacheSession\\DiskIOWriteMode=DisableOSCacheSession\\AsyncIOThreadsCount=8Session\\PieceExtentAffinity=true
Why these matter:
- Large internal cache reduces disk thrashing
- Disabling OS cache avoids double-buffering
- Async I/O threads increase parallelism
- Piece extent affinity improves sequential writes
Combined, these settings produce predictable, sustained throughput rather than bursty I/O that can disrupt other services.
Filesystem Layout & Hygiene
qBittorrent uses separate directories for incomplete and completed data.
Relevant settings:
Session\\TempPathEnabled=trueSession\\TempPath=/mnt/w/IncompleteSession\\DefaultSavePath=/mnt/w/Complete
Benefits:
- Clear separation of transient and stable data
- Easier troubleshooting
- Cleaner handoff to ARRs
Excluded file patterns:
Session\\ExcludedFileNamesEnabled=trueSession\\ExcludedFileNames=*.torrent, *.url, *.html, *.txt, *sample*, *.nfo, *.zip, *.rar, *.7z, *.iso
This prevents junk files from polluting downstream imports.
Bandwidth Control
Upload limits are deliberately conservative.
Key values:
Session\\GlobalUPSpeedLimit=25600Session\\AlternativeGlobalUPSpeedLimit=1Session\\UseAlternativeGlobalSpeedLimit=false
Rationale:
- Protects upstream bandwidth
- Avoids saturating VPN tunnels
- Keeps API communication responsive
Downloads are intentionally less restricted, as acquisition speed is prioritized.
Web UI Access (SECURITY)
Web UI is enabled for internal management only.
Relevant settings:
WebUI\\Enabled=trueWebUI\\LocalHostAuth=true
Security posture:
- Web UI must remain LAN-only
- Never expose via reverse proxy
- Never expose to WAN
- Use firewall rules to enforce access
Automation nodes should not be externally interactive.
Integration with the ARR Suite
ARRs interact with qBittorrent via API:
- Categories control routing
- Pause/resume is ARR-driven
- Completion triggers import workflows
qBittorrent should remain policy-free and let the ARRs orchestrate behavior.
Logging & Stability
Logging is enabled but constrained.
Relevant settings:
FileLogger\\Enabled=trueFileLogger\\Backup=trueFileLogger\\DeleteOld=trueFileLogger\\MaxSizeBytes=66560FileLogger\\Age=3
This ensures:
- Sufficient forensic data when debugging
- No unbounded log growth
- Minimal disk overhead
Design Philosophy Recap
qBittorrent in this ecosystem is:
- VPN-bound
- Disk-efficient
- Upload-conservative
- Automation-driven
- Operationally boring
If you notice it running, something else is broken.
When it’s tuned correctly, it quietly feeds the system and disappears into the background — exactly as intended.
