Writing

My Home Server’s Download Manager: qBittorrent-nox

Saturday. Apr 11, 2026

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.