My Home Server’s Download Manager: qBittorrent-nox
Installing qBittorrent-nox
After Immich, I wanted a simple way to grab a few legit torrents (Linux ISOs, open datasets, etc.) from the same little server — without running a full desktop UI. qBittorrent-nox is the headless version of qBittorrent, and you manage it from a web browser.
Same rules as the other services in this series: LAN-only. Local IP, no domain, no reverse proxy.
I’m going to:
- install
qbittorrent-nox - run it as a dedicated user
- keep the Web UI reachable only from my LAN
1. Install qBittorrent-nox
sudo apt update
sudo apt install -y qbittorrent-nox
2. Create folders for config + downloads
I keep downloads under /srv/storage/ like the rest of my setup.
sudo mkdir -p /srv/storage/torrents/incomplete
sudo mkdir -p /srv/storage/torrents/complete
3. Create a dedicated service user
I don’t want this running as my main user.
sudo adduser --system --group --home /var/lib/qbittorrent qbittorrent
sudo mkdir -p /var/lib/qbittorrent/.config/qBittorrent
sudo chown -R qbittorrent:qbittorrent /var/lib/qbittorrent
sudo chown -R qbittorrent:qbittorrent /srv/media/torrents
4. Create a systemd service
Create the service file:
sudo nano /etc/systemd/system/qbittorrent-nox.service
I used this:
[Unit]
Description=qBittorrent-nox
After=network.target
[Service]
Type=simple
User=qbittorrent
Group=qbittorrent
UMask=002
ExecStart=/usr/bin/qbittorrent-nox --webui-port=8080
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
Enable and start it:
sudo systemctl daemon-reload
sudo systemctl enable --now qbittorrent-nox
sudo systemctl status qbittorrent-nox --no-pager
5. Grab the first-run password from the logs
On newer qBittorrent-nox builds, the first-run Web UI password is randomly generated.
So I check the logs for the unit:
sudo journalctl -u qbittorrent-nox -n 200 --no-pager
In the output, I look for the line that mentions the temporary Web UI password.
6. Log in to the Web UI and change the default password
From another device on your LAN, open: http://<server-ip>:8080
qBittorrent’s default Web UI login is:
- username: admin
- password:
password
First thing I do is change that password.
7. Set download locations
In the Web UI settings, I point downloads to:
- Incomplete:
/srv/storage/torrents/incomplete - Complete:
/srv/storage/torrents/complete
That keeps everything consistent with the rest of my /srv/storage/ layout.
RSS auto-downloading (nice for “set it and forget it”)
One of the best qBittorrent features is that it can watch an RSS feed and automatically grab new items that match your rules. This is perfect for things like Linux distro ISOs or podcasts that publish torrent links.
1. Enable RSS + add a feed
In the Web UI:
- Tools → Options → RSS
- Enable RSS if it’s off
- Go to the RSS tab (left sidebar) → New subscription
- Paste in the RSS feed URL and save
You should start seeing items populate under that feed.
2. Create an auto-download rule
Still in the RSS area:
- Open RSS Downloader (sometimes shown as “Auto downloading”)
- Create a New rule
- Pick:
- which feeds the rule applies to
- a save path (I point these at
/srv/media/torrents/complete) - optional category (handy for sorting)
If you want it to avoid downloading duplicates, keep the rule tight and use “must not contain” to exclude things you don’t want (like arm64 if you only want x86_64).
3. Sanity check with a dry run
Before I let it rip unattended, I do two quick checks:
- Watch the feed update once (confirm it’s actually pulling items)
- Create a very specific rule first (so I don’t accidentally download a ton)
That’s it — RSS turns qBittorrent into a simple “subscribe and fetch” tool, which fits the whole vibe of this server: low effort, low noise, and local-only.