services:download_engine
Differences
This shows you the differences between two versions of the page.
| services:download_engine [2026/06/17 14:14] – created - external edit 127.0.0.1 | services:download_engine [2026/06/17 14:15] (current) – privacyl0st | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== qBittorrent-nox Headless Configuration ====== | ||
| + | The download engine executes the actual peer-to-peer file acquisition. We utilize `qBittorrent-nox`, | ||
| + | |||
| + | ===== 1. Security Context & Installation ===== | ||
| + | Never run a public-facing torrent daemon as the `root` user. Create a dedicated, unprivileged system user (`qbituser`) before installation. | ||
| + | |||
| + | <file bash> | ||
| + | sudo adduser --system --group qbituser | ||
| + | sudo apt update && sudo apt install qbittorrent-nox -y | ||
| + | </ | ||
| + | |||
| + | Ensure `qbituser` has explicit read/write access to the NFS mount created in [[storage: | ||
| + | |||
| + | ===== 2. Systemd Service Orchestration ===== | ||
| + | Create a native systemd unit file to ensure the daemon automatically starts on boot and restarts in the event of a crash. | ||
| + | |||
| + | < | ||
| + | sudo nano / | ||
| + | </ | ||
| + | |||
| + | <file bash / | ||
| + | [Unit] | ||
| + | Description=qBittorrent Command Line Client | ||
| + | After=network.target | ||
| + | |||
| + | [Service] | ||
| + | Type=forking | ||
| + | User=qbituser | ||
| + | Group=qbituser | ||
| + | UMask=002 | ||
| + | ExecStart=/ | ||
| + | Restart=on-failure | ||
| + | |||
| + | [Install] | ||
| + | WantedBy=multi-user.target | ||
| + | </ | ||
| + | |||
| + | Enable and start the service: | ||
| + | < | ||
| + | sudo systemctl daemon-reload | ||
| + | sudo systemctl enable --now qbittorrent-nox | ||
| + | </ | ||
| + | |||
| + | ===== 3. Interface Binding (The Absolute Guardrail) ===== | ||
| + | While the NordVPN kill-switch provides routing-level protection, application-level binding provides a mandatory secondary defense layer. If the VPN drops, qBittorrent must become completely deaf and blind to the network. | ||
| + | |||
| + | - Navigate to the WebUI at `http://< | ||
| + | - Go to **Tools → Options → Advanced**. | ||
| + | - **Network Interface: | ||
| + | - **Optional IP Address Binding:** Set to `All IPv4 addresses`. | ||
| + | |||
| + | ===== 4. Directory Mapping ===== | ||
| + | Within the WebUI **Downloads** settings, map your default save paths directly to your NFS storage fabric: | ||
| + | * **Default Save Path:** `/ | ||
| + | * **Keep Incomplete Torrents In:** `/ | ||
| + | |||
| + | **Next Step:** Deploy the indexer coordination layer in [[services: | ||
services/download_engine.1781705641.txt.gz · Last modified: by 127.0.0.1
