Daemon Setup

Deluge can run as a system daemon which is accessible to any system user or it can run in a non-daemon mode. The focus of this article is on the daemon mode of operation.

Note: Advanced users are free to edit the configuration files in the deluge daemon home directory /srv/deluge/.config/ manually or from the /usr/bin/deluge-console. The rest of this guide is written using the gtk client to do this from convenience of a GUI.

Start the deluge backend daemon like any other systemd service:

# systemd start deluged

Create a User

To allow interaction with the daemon, create a user:password:level in /srv/deluge/.config/deluge/auth.
For example:

# echo "delugeuser:p422WoRd:10" >> /srv/deluge/.config/deluge/auth

Note: The user/password created does not have to match any system users... and to maintain good security practices it should NOT!

The number 10 corresponds to a level of 'Admin.' Refer to the following table for additional values:

Level Name

Level Value

None

0

Read Only

1

Normal

5

Admin

10

Note: In Deluge 1.35, these values have no effect, but multiuser options are under development.

Define Options

Load the gtk client /usr/bin/deluge-gtk

Disable classic mode from the Edit>Preferences>Interface.

A restart of the client is required for these changes to take effect. Exit the client and reload it.

Setup the client to point to the daemon from Edit>Connection Manager.

Delete the dummy server by hightlighting it and clicking the "Remove" button.

Create an entry to the daemon via the "Add" button populating the resulting dialog with either the IP address or the word "localhost" as the hostname. Populate the "Username" and "Password" fields with the username and password used in the daemons setup. and then click the "+ Add" button.

Hostname: localhost
Username: delugeuser
Password: p422WoRd:10

If the correct credentials were populated, a green light should appear options for interaction adjacent to the name of the server. To connect, hit the "Connect" button.

Users can now configure their server from the GUI. Most of the options are self explanatory and intuitive. More details are available on the official Deluge wiki for details.

Note: When defining paths under Preferences>Downloads make sure that the the deluge user has read/write access to whatever is defined. Remember that the daemon is running as system user deluge in system group deluge!

Note: If the expectation exists to allow access from other machines, be sure to enable Preferences>Daemon>Connections>Allow Remote Connections.

Interacting with the Daemon

As previously mentioned, users have three options to connect to the daemon:

Deluge-GTK

Deluge-Web

Deluge-console

Deluge-Gtk

The gtk client has already been covered in the previous section. Users should now have a fully functional client.

Deluge-Web (Optional)

Warning: Running the web client without encryption can be a bad idea. It is therefore recommended that users enable https.

To enable encrypted connections to/from the daemon, simply edit the https variable in /srv/deluge/.config/deluge/web.conf changing the default value of false to true as shown:

"https": true,

Take note of the doublequotes and the trailing comma!

To run the web ui, simply start the web-daemon:

# systemctl start deluge-web

Point a browser to http://localhost:8112. Substitute the word localhost with an IP address if the server is elsewhere.
When asked for a password, enter "deluge" as it is the default password.

The preferences in the web UI is highly similar to the gtk UI. As explained in the previous section, edit the connection manager and define an entry to the daemon using the same credentials used in the setup step. Once finished, users are free to remove the dummy server entry.

Hostname: localhost
Username: delugeuser
Password: p422WoRd:10

Deluge-Console (Optional)

The CLI client /usr/bin/deluge-consle can also be used to connect to a running daemon. Invoke it from a shell. To connect, simply type:

Web UI doesn't store settings

For some yet unknown reason, the web interface with Deluge 1.3.3 refuses to properly store the incoming (listen) ports configuration. This can manually be edited in core.conf. The Deluge bugtracker mentions this is fixed, it is not in 1.3.3.