How to Install qBittorrent-NoX, a headless and web UI Torrent Client


Creative Team
User ID
7 Jan 2019
Reaction score
qBittorrent NoX is a headless BitTorrent client, perfect for installing on a headless server, and accessing it using web interface from another device.

To install it, use the following command:
sudo apt install qbittorrent-nox
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  libdouble-conversion3 libpcre2-16-0 libqt5core5a libqt5dbus5 libqt5network5 libqt5sql5 libqt5sql5-sqlite libqt5xml5
  libtorrent-rasterbar2.0 qttranslations5-l10n
Suggested packages:
The following NEW packages will be installed:
  libdouble-conversion3 libpcre2-16-0 libqt5core5a libqt5dbus5 libqt5network5 libqt5sql5 libqt5sql5-sqlite libqt5xml5
  libtorrent-rasterbar2.0 qbittorrent-nox qttranslations5-l10n
0 upgraded, 11 newly installed, 0 to remove and 1 not upgraded.
Need to get 13.2 MB of archives.
After this operation, 39.1 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 jammy/universe amd64 libdouble-conversion3 amd64 3.1.7-4 [39.0 kB]
Get:2 jammy-updates/main amd64 libpcre2-16-0 amd64 10.39-3ubuntu0.1 [203 kB]
Get:3 jammy-updates/universe amd64 libqt5core5a amd64 5.15.3+dfsg-2ubuntu0.2 [2006 kB]
Get:4 jammy-updates/universe amd64 libqt5dbus5 amd64 5.15.3+dfsg-2ubuntu0.2 [222 kB]
Get:5 jammy-updates/universe amd64 libqt5network5 amd64 5.15.3+dfsg-2ubuntu0.2 [731 kB]
Get:6 jammy-updates/universe amd64 libqt5sql5 amd64 5.15.3+dfsg-2ubuntu0.2 [123 kB]
Get:7 jammy-updates/universe amd64 libqt5sql5-sqlite amd64 5.15.3+dfsg-2ubuntu0.2 [53.0 kB]
Get:8 jammy-updates/universe amd64 libqt5xml5 amd64 5.15.3+dfsg-2ubuntu0.2 [124 kB]
Get:9 jammy/universe amd64 libtorrent-rasterbar2.0 amd64 2.0.5-5 [1501 kB]
Get:10 jammy/universe amd64 qbittorrent-nox amd64 4.4.1-2 [6225 kB]
Get:11 jammy/universe amd64 qttranslations5-l10n all 5.15.3-1 [1983 kB]
Fetched 13.2 MB in 1s (10.2 MB/s)
Selecting previously unselected package libdouble-conversion3:amd64.
(Reading database ... 76532 files and directories currently installed.)
Preparing to unpack .../00-libdouble-conversion3_3.1.7-4_amd64.deb ...
Unpacking libdouble-conversion3:amd64 (3.1.7-4) ...
Selecting previously unselected package libpcre2-16-0:amd64.
Preparing to unpack .../01-libpcre2-16-0_10.39-3ubuntu0.1_amd64.deb ...
Unpacking libpcre2-16-0:amd64 (10.39-3ubuntu0.1) ...
Selecting previously unselected package libqt5core5a:amd64.
Preparing to unpack .../02-libqt5core5a_5.15.3+dfsg-2ubuntu0.2_amd64.deb ...
Unpacking libqt5core5a:amd64 (5.15.3+dfsg-2ubuntu0.2) ...
Selecting previously unselected package libqt5dbus5:amd64.
Preparing to unpack .../03-libqt5dbus5_5.15.3+dfsg-2ubuntu0.2_amd64.deb ...
Unpacking libqt5dbus5:amd64 (5.15.3+dfsg-2ubuntu0.2) ...
Selecting previously unselected package libqt5network5:amd64.
Preparing to unpack .../04-libqt5network5_5.15.3+dfsg-2ubuntu0.2_amd64.deb ...
Unpacking libqt5network5:amd64 (5.15.3+dfsg-2ubuntu0.2) ...
Selecting previously unselected package libqt5sql5:amd64.
Preparing to unpack .../05-libqt5sql5_5.15.3+dfsg-2ubuntu0.2_amd64.deb ...
Unpacking libqt5sql5:amd64 (5.15.3+dfsg-2ubuntu0.2) ...
Selecting previously unselected package libqt5sql5-sqlite:amd64.
Preparing to unpack .../06-libqt5sql5-sqlite_5.15.3+dfsg-2ubuntu0.2_amd64.deb ...
Unpacking libqt5sql5-sqlite:amd64 (5.15.3+dfsg-2ubuntu0.2) ...
Selecting previously unselected package libqt5xml5:amd64.
Preparing to unpack .../07-libqt5xml5_5.15.3+dfsg-2ubuntu0.2_amd64.deb ...
Unpacking libqt5xml5:amd64 (5.15.3+dfsg-2ubuntu0.2) ...
Selecting previously unselected package libtorrent-rasterbar2.0:amd64.
Preparing to unpack .../08-libtorrent-rasterbar2.0_2.0.5-5_amd64.deb ...
Unpacking libtorrent-rasterbar2.0:amd64 (2.0.5-5) ...
Selecting previously unselected package qbittorrent-nox.
Preparing to unpack .../09-qbittorrent-nox_4.4.1-2_amd64.deb ...
Unpacking qbittorrent-nox (4.4.1-2) ...
Selecting previously unselected package qttranslations5-l10n.
Preparing to unpack .../10-qttranslations5-l10n_5.15.3-1_all.deb ...
Unpacking qttranslations5-l10n (5.15.3-1) ...
Setting up libdouble-conversion3:amd64 (3.1.7-4) ...
Setting up libtorrent-rasterbar2.0:amd64 (2.0.5-5) ...
Setting up libpcre2-16-0:amd64 (10.39-3ubuntu0.1) ...
Setting up qttranslations5-l10n (5.15.3-1) ...
Setting up libqt5core5a:amd64 (5.15.3+dfsg-2ubuntu0.2) ...
Setting up libqt5dbus5:amd64 (5.15.3+dfsg-2ubuntu0.2) ...
Setting up libqt5network5:amd64 (5.15.3+dfsg-2ubuntu0.2) ...
Setting up libqt5sql5:amd64 (5.15.3+dfsg-2ubuntu0.2) ...
Setting up libqt5xml5:amd64 (5.15.3+dfsg-2ubuntu0.2) ...
Setting up libqt5sql5-sqlite:amd64 (5.15.3+dfsg-2ubuntu0.2) ...
Setting up qbittorrent-nox (4.4.1-2) ...
Processing triggers for man-db (2.10.2-1) ...
Processing triggers for libc-bin (2.35-0ubuntu3.1) ...
Scanning processes...
Scanning linux images...

Running kernel seems to be up-to-date.

No services need to be restarted.

No containers need to be restarted.

No user sessions are running outdated binaries.

No VM guests are running outdated hypervisor (qemu) binaries on this host.

At this point, technically we can run the qBittorrent client on http://server-ip:8080, but ideally we want to run it as a server, and here's how to make it run as a server. Create a new file on /etc/systemd/system/qbittorrent-nox.service

And here's the content of the file qbittorrent-nox.service:
Description=qBittorrent NoX Terminal Application

ExecStart=/usr/bin/qbittorrent-nox -d --webui-port=8080


Pro tip: You can change the web user interface port by changing the value 8080 above with your preferred port.

Then do daemon reload:
sudo systemctl daemon-reload

It's not ideal for running the qBittorrent-NoX app as a root, so we'll create the user qbittorrent-nox using the command below:
sudo adduser --system --group qbittorrent-nox

It's a system user account, no one is going to be able to login to this account, and this account will not have a password.
Adding system user `qbittorrent-nox' (UID 114) ...
Adding new group `qbittorrent-nox' (GID 119) ...
Adding new user `qbittorrent-nox' (UID 114) with group `qbittorrent-nox' ...
Creating home directory `/home/qbittorrent-nox' ...

Then we're going to add our username to that usergroup as well:
sudo adduser andy qbittorrent-nox
Adding user `andy' to group `qbittorrent-nox' ...
Adding user andy to group qbittorrent-nox

Finally to start the qBittorrent-NoX service:
sudo systemctl start qbittorrent-nox.service

Hint: To check the service status, type:
sudo systemctl status qbittorrent-nox
● qbittorrent-nox.service - qBittorrent NoX Terminal Application
     Loaded: loaded (/etc/systemd/system/qbittorrent-nox.service; disabled; vendor preset: enabled)
     Active: active (running) since Thu 2023-01-26 19:56:12 UTC; 14s ago
    Process: 11483 ExecStart=/usr/bin/qbittorrent-nox -d (code=exited, status=0/SUCCESS)
   Main PID: 11484 (qbittorrent-nox)
      Tasks: 13 (limit: 2227)
     Memory: 28.1M
        CPU: 180ms
     CGroup: /system.slice/qbittorrent-nox.service
             └─11484 /usr/bin/qbittorrent-nox -d

Jan 26 19:56:12 jerusalem systemd[1]: Starting qBittorrent NoX Terminal Application...
Jan 26 19:56:12 jerusalem systemd[1]: Started qBittorrent NoX Terminal Application.

You can login to your qBittorrent NoX using the address http://server-ip:8080
The default username is: admin and the password is: adminadmin

And here's how to set the credentials:
Screenshot 2023-01-27 at 9.03.59 AM.png

Last but not least, to start the service at boot, use the command below:
sudo systemctl enable qbittorrent-nox.service
Created symlink /etc/systemd/system/ → /etc/systemd/system/qbittorrent-nox.service.

I hope you learn something from this article, if you have questions, feel free to post them down below. Cheers.
 Short URL: