This tutorial will be showing you how to install Deluge on Ubuntu 20.04 desktop and server. Deluge is a free, open-source (GPL3) and lightweight BitTorrent client, available for Linux, FreeBSD, macOS and Windows. It has a rich collection of plugins that you can install to extend its functionality. For example, you can install the streaming plugin so you can stream video or audio directly from Deluge while downloading. The latest stable version, 2.0.3, was released on June 12, 2019.

Install Latest Version of Deluge on Ubuntu 20.04 Desktop from PPA

Ubuntu 20.04 software repository includes Deluge 2.0.3. However, when a newer version comes out, it would take some time for the Ubuntu team to update it. To ensure you get the newest version as soon as possible, you need to install it from the official Deluge PPA. Open up a terminal window, then run the following 2 commands one at a time.

sudo add-apt-repository ppa:deluge-team/stable

sudo apt install deluge

This PPA also works on other Linux distributions that are based on Ubuntu such as Linux Mint and Elementary OS. If you already have deluge installed, then the above commands will update your deluge to the latest version. Don’t worry, your existing torrents will be fine.

Once installed, you can start it from the application menu.

How to Install Deluge BitTorrent Client on Ubuntu 20.04 Desktop/Server BitTorrent linux ubuntu Ubuntu Server

Deluge 2.0.3 user interface

How to Install Deluge BitTorrent Client on Ubuntu 20.04 Desktop/Server BitTorrent linux ubuntu Ubuntu Server

How to Enable Deluge Autostart on Ubuntu 20.04 Desktop

To enable autostart at boot time, open the Startup Applications from your applications menu. Then click Add button to add a new startup program. In the Name field, you can enter something like “Deluge GTK”. In the Command field, enter /usr/bin/python /usr/bin/deluge-gtk. You can leave the comment field blank. Then click Add button.

How to Install Deluge BitTorrent Client on Ubuntu 20.04 Desktop/Server BitTorrent linux ubuntu Ubuntu Server

Install Deluge BitTorrent on Ubuntu 20.04 Server

You can install Deluge BitTorrent daemon on a server and manage the program via the Deluge web interface (You control it in a web browser). Use the following command to install Deluge daemon and Deluge Web interface on Ubuntu 20.04 server.

sudo add-apt-repository ppa:deluge-team/stable

sudo apt install deluged deluge-web

Then create the deluge user and group so that deluge can run as an unprivileged user, which will increase your server’s security.

sudo adduser --system --group deluge

The --system flag means we are creating a system user instead of normal user. A system user doesn’t have password and can’t login, which is what you would want for Deluge. A home directory /home/deluge/ will be created for this user. You may want to add your user account to the deluge group with the following command so that the user account has access to the files downloaded by Deluge BitTorrent. Files are downloaded to /home/deluge/Downloads by default. Note that you need to re-login for the groups change to take effect.

sudo adduser your-username deluge

Once that’s done, create a systemd service file for deluge with your favourite text editor such as nano.

sudo nano /etc/systemd/system/deluged.service

Copy and paste the following lines into the file.

[Unit]
Description=Deluge Bittorrent Client Daemon
After=network-online.target

[Service]
Type=simple
User=deluge
Group=deluge
UMask=007
ExecStart=/usr/bin/deluged -d
Restart=on-failure

# Configures the time to wait before service is stopped forcefully.
TimeoutStopSec=300

[Install]
WantedBy=multi-user.target

To save a file in Nano text editor, press Ctrl O, then press Enter to confirm. To exit, press Ctrl X. Now start deluge deamon with the following command.

sudo systemctl start deluged

You may also want to enable auto-start when Ubuntu 20.04 is booting up.

sudo systemctl enable deluged

Check Deluge status:

systemctl status deluged

You can see that deluged is running and autostart is enabled. If it’s exited or isn’t running, you may need to restart it with sudo systemctl restart deluged.

How to Install Deluge BitTorrent Client on Ubuntu 20.04 Desktop/Server BitTorrent linux ubuntu Ubuntu Server

Accessing Deluge WebUI

To be able to access the deluge WebUI, we also need to create a systemd service file for deluge web.

sudo nano /etc/systemd/system/deluge-web.service

Copy and paste the following text into the file.

[Unit]
Description=Deluge Bittorrent Client Web Interface
After=network-online.target

[Service]
Type=simple
User=deluge
Group=deluge
UMask=027
ExecStart=/usr/bin/deluge-web
Restart=on-failure

[Install]
WantedBy=multi-user.target

Save and close the file. Then start and enable deluge-web, check its status.

sudo systemctl start deluge-web

sudo systemctl enable deluge-web

systemctl status deluge-web

Once the deluge-web service is running, it listens on TCP port 8112. Now in your Web browser address bar, type

your-server-ip:8112

You will be asked to enter a password, which by default is deluge, to access the Web UI. (Your firewall might be preventing access to port 8112, so check your firewall setting if you can’t access the web UI).

How to Install Deluge BitTorrent Client on Ubuntu 20.04 Desktop/Server BitTorrent linux ubuntu Ubuntu Server

It’s recommended to change the default password. After you choose to change password, the connection manager window will pop up asking you to connect to Deluge daemon which is listening on 127.0.0.1:58846. Select the connection and click Connect button.

How to Install Deluge BitTorrent Client on Ubuntu 20.04 Desktop/Server BitTorrent linux ubuntu Ubuntu Server

Then you will be able to change the WebUI password.

How to Install Deluge BitTorrent Client on Ubuntu 20.04 Desktop/Server BitTorrent linux ubuntu Ubuntu Server

To add new torrents, click the add button on the upper left corner. You can add a torrent file from your local computer or add magnet link. By default, files are downloaded to /home/deluge/Downloads directory.

How to Install Deluge BitTorrent Client on Ubuntu 20.04 Desktop/Server BitTorrent linux ubuntu Ubuntu Server

Set Up Nginx Reverse Proxy for Deluge WebUI

A reverse proxy is a proxy for another server, in this case the Deluge WebUI. You can set up reverse proxy so that you will be able access Deluge WebUI from a domain name and secure HTTPS connection. First install Nginx on Ubuntu 20.04.

sudo apt install nginx

Start Nginx

sudo systemctl start nginx

Then create an Nginx server block file for Deluge WebUI.

sudo nano /etc/nginx/conf.d/deluge-webui.conf

Copy and paste the following texts into the file. Replace the red-colored text with your own domain name. You should also set DNS A record for your domain name. If you don’t have a real domain name, I recommend going to NameCheap to buy one. The price is low and they give whois privacy protection free for life.

server {
  listen 80;
  server_name torrent.yourdomain.com;

  access_log /var/log/nginx/deluge-web.access;
  error_log /var/log/nginx/deluge-web.error;

  location / {
    proxy_pass http://127.0.0.1:8112;
  }
}

Save and close the file. Then test Nginx configuration.

sudo nginx -t

If the test is successful, reload Nginx

sudo systemctl reload nginx

Now you can access Deluge WebUI via your domain name (torrent.yourdomain.com). You may want the deluge-web process to listen only on localhost (127.0.0.1), so that it’s not directly exposed to the Internet. To achieve that, we need to edit the systemd service file.

sudo nano /etc/systemd/system/deluge-web.service

Find the following line.

ExecStart=/usr/bin/deluge-web

Change it to

ExecStart=/usr/bin/deluge-web -i 127.0.0.1

Save and close the file. Then reload systemd daemon.

sudo systemctl daemon-reload

And restart deluge-web service.

sudo systemctl restart deluge-web

You can check the listening status with:

sudo netstat -lnpt | grep 8112

Enable HTTPS

To secure the Web UI, you can install a free Let’s Encrypt certificate. First you need to install the Let’s Encrypt client (certbot) on Ubuntu 20.04 server.

sudo apt install certbot python3-certbot-nginx

Python3-certbot-nginx is the Certbot Nginx plugin. After they are installed, run the following command to automatically obtain and install Let’s Encrypt certificate.

sudo certbot --nginx --redirect --agree-tos --hsts --staple-ocsp --email [email protected] -d torrent.yourdomain.com

Where:

  • –nginx: Use the Nginx authenticator and installer
  • –agree-tos: Agree to Let’s Encrypt terms of service
  • –redirect: Enforce HTTPS by adding 301 redirect.
  • –staple-ocsp: Enable OCSP Stapling.
  • –email: Email used for registration and recovery contact.
  • -d flag is followed by a list of domain names, separated by comma. You can add up to 100 domain names.

You will be asked if you want to receive emails from EFF(Electronic Frontier Foundation). After choosing Y or N, your TLS certificate will be automatically obtained and configured for you, which is indicated by the message below.

How to Install Deluge BitTorrent Client on Ubuntu 20.04 Desktop/Server BitTorrent linux ubuntu Ubuntu Server

Once that’s done, refresh deluge Web UI. It will be automatically redirected to HTTPS connection.

Having Trouble Obtaining TLS Certificate?

If you see the following error while trying to obtain TLS certificate:

module 'acme.challenges' has no attribute 'TLSSNI01'

You need to edit a config file.

sudo nano /usr/lib/python3/dist-packages/certbot_nginx/configurator.py

Change

return [challenges.HTTP01, challenges.TLSSNI01]

to:

return [challenges.HTTP01]

Save and close the file. Then run the above certbot command again.

Wrapping Up

I hope this tutorial helped you install Deluge on Ubuntu 20.04 desktop or server. As always, if you found this post useful, then subscribe to our free newsletter to get more tips and tricks. Take care.

Rate this tutorial

[Total: 0 Average: 0]