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

Andy

Administrator
Creative Team
User ID
1
Joined
7 Jan 2019
Messages
1,192
Reaction score
59
Points
48
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:
Bash:
sudo apt install qbittorrent-nox
Code:
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:
  libthai0
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 http://nz.archive.ubuntu.com/ubuntu jammy/universe amd64 libdouble-conversion3 amd64 3.1.7-4 [39.0 kB]
Get:2 http://nz.archive.ubuntu.com/ubuntu jammy-updates/main amd64 libpcre2-16-0 amd64 10.39-3ubuntu0.1 [203 kB]
Get:3 http://nz.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 libqt5core5a amd64 5.15.3+dfsg-2ubuntu0.2 [2006 kB]
Get:4 http://nz.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 libqt5dbus5 amd64 5.15.3+dfsg-2ubuntu0.2 [222 kB]
Get:5 http://nz.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 libqt5network5 amd64 5.15.3+dfsg-2ubuntu0.2 [731 kB]
Get:6 http://nz.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 libqt5sql5 amd64 5.15.3+dfsg-2ubuntu0.2 [123 kB]
Get:7 http://nz.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 libqt5sql5-sqlite amd64 5.15.3+dfsg-2ubuntu0.2 [53.0 kB]
Get:8 http://nz.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 libqt5xml5 amd64 5.15.3+dfsg-2ubuntu0.2 [124 kB]
Get:9 http://nz.archive.ubuntu.com/ubuntu jammy/universe amd64 libtorrent-rasterbar2.0 amd64 2.0.5-5 [1501 kB]
Get:10 http://nz.archive.ubuntu.com/ubuntu jammy/universe amd64 qbittorrent-nox amd64 4.4.1-2 [6225 kB]
Get:11 http://nz.archive.ubuntu.com/ubuntu 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:
Bash:
[Unit]
Description=qBittorrent NoX Terminal Application
After=network.target

[Service]
Type=forking
User=qbittorrent-nox
Group=qbittorrent-nox
UMask=007
ExecStart=/usr/bin/qbittorrent-nox -d --webui-port=8080
Restart=on-failure

[Install]
WantedBy=multi-user.target

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

Then do daemon reload:
Bash:
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:
Code:
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.
Code:
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:
Bash:
sudo adduser andy qbittorrent-nox
Code:
Adding user `andy' to group `qbittorrent-nox' ...
Adding user andy to group qbittorrent-nox
Done.

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

Hint: To check the service status, type:
Bash:
sudo systemctl status qbittorrent-nox
Code:
● 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:
Bash:
sudo systemctl enable qbittorrent-nox.service
Code:
Created symlink /etc/systemd/system/multi-user.target.wants/qbittorrent-nox.service → /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.
 
Hello,

when i try to : sudo systemctl start qbittorrent-nox.service

I have this error :

Job for qbittorrent-nox.service failed because a fatal signal was delivered causing the control process to dump core.
See "systemctl status qbittorrent-nox.service" and "journalctl -xeu qbittorrent-nox.service" for details.


Then, try again and :

× qbittorrent-nox.service - qBittorrent NoX Terminal Application
Loaded: loaded (/etc/systemd/system/qbittorrent-nox.service; disabled; preset: enabled)
Active: failed (Result: core-dump) since Sat 2024-04-27 14:27:49 UTC; 3min 35s ago
Process: 1065 ExecStart=/usr/bin/qbittorrent-nox -d --webui-port=8080 (code=dumped, signal=ABRT)
CPU: 27ms

avril 27 14:27:49 ubuntu systemd[1]: qbittorrent-nox.service: Scheduled restart job, restart counter is at 5.
avril 27 14:27:49 ubuntu systemd[1]: qbittorrent-nox.service: Start request repeated too quickly.
avril 27 14:27:49 ubuntu systemd[1]: qbittorrent-nox.service: Failed with result 'core-dump'.
avril 27 14:27:49 ubuntu systemd[1]: Failed to start qbittorrent-nox.service - qBittorrent NoX Terminal Application.
avril 27 14:31:25 ubuntu systemd[1]: /etc/systemd/system/qbittorrent-nox.service:1: Assignment outside of section. Ignoring.


Thanks
 
Last edited:
Hi @tanjohnson,

It looks like there might be an issue with your qbittorrent-nox.service file configuration or a problem with the qbittorrent-nox application itself. Here are a few steps you can follow to troubleshoot and hopefully resolve the issue:
  1. Check the Service File: The error message Assignment outside of section. Ignoring suggests there might be a formatting error in your systemd service file. Make sure that every directive is correctly placed within a section (like [Unit], [Service], or [Install]). Verify that there are no stray characters or incorrect assignments outside these sections.
  2. Review the ExecStart Command: Make sure that the path to the qbittorrent-nox binary is correct in the ExecStart line and that all options are properly formatted. Here's a typical example:
    Bash:
    ExecStart=/usr/bin/qbittorrent-nox -d --webui-port=8080
    Ensure there's no unnecessary whitespace or characters.
  3. Check for Dependency Issues: Since the service is crashing with a core dump, there could be a problem with dependencies or the binary itself. Try running qbittorrent-nox directly from the command line with the same options specified in ExecStart to see if it provides any more detailed error messages.
  4. Examine Logs: Use the commands systemctl status qbittorrent-nox.service and journalctl -xeu qbittorrent-nox.service to look for any detailed error messages that could give more insight into what's causing the core dump. Pay attention to any errors related to libraries or missing files.
  5. Permissions: Ensure that the qbittorrent-nox user has the necessary permissions to access the directories and files it needs. Sometimes, permission issues can cause applications to fail.
  6. Reinstall qBittorrent-NoX: If all else fails, consider reinstalling qbittorrent-nox to ensure that all components are correctly installed:
    Bash:
    sudo apt-get remove --purge qbittorrent-nox
    sudo apt-get install qbittorrent-nox
Let me know how it goes—I'm keen to hear if it's resolved.
 
 Short URL:
Back
Top