Network

Deluge should be run via a Reverse Proxy, allowing you to isolate and wrap connections in SSL. See NGINX for more details. See Setup Base Proxy Control for basic proxy configuration.

Ports

---
###############################################################################
# Ports Configuration
###############################################################################
# Ports should be managed externally via an OS role.
#
# Reference:
# * https://docs.ansible.com/ansible/latest/collections/community/general/ufw_module.html

ports:
  - {proto: 'tcp', from_ip: 'any', to_port: 8112, direction: 'in',  comment: 'deluge http'}
  - {proto: 'tcp', from_ip: 'any', to_port: 8080, direction: 'in',  comment: 'deluge socks proxy'}
  - {proto: 'tcp', from_ip: 'any', to_port: 6881, direction: 'in',  comment: 'deluge inbound torrent service'}
  - {proto: 'udp', from_ip: 'any', to_port: 6881, direction: 'in',  comment: 'deluge inbound torrent service'}
  - {proto: 'tcp', from_ip: 'any', to_port: 6891, direction: 'in',  comment: 'deluge inbound torrent service'}
  - {proto: 'udp', from_ip: 'any', to_port: 6891, direction: 'in',  comment: 'deluge inbound torrent service'}
  - {proto: 'tcp', to_ip: 'any',   to_port: 0,    direction: 'out', comment: 'deluge outbound torrent service'}
  - {proto: 'udp', to_ip: 'any',   to_port: 0,    direction: 'out', comment: 'deluge outbound torrent service'}

Using Subdomains

0644 root root nginx/conf.d/reverse-proxy.conf
server {
  listen                       443 ssl http2;
  server_name                  deluge.{DOMAIN} deluge;

  location / {
    proxy_pass                 http://deluge:8112;
    include                    /etc/nginx/conf.d/proxy-control.conf;
    add_header X-Frame-Options SAMEORIGIN;
  }
}

Reference

Using Subpaths

0644 root root nginx/conf.d/reverse-proxy.conf
server {
  location /deluge {
    proxy_pass                     http://deluge:8112/;
    include                        /etc/nginx/conf.d/proxy-control.conf;
    proxy_set_header X-Deluge-Base '/deluge/';
    add_header X-Frame-Options     SAMEORIGIN;
  }
}

Reference