Deluge

Bittorrent downloader.

See Deluge Docker and Documentation.

Ports

Files

Docker Creation

If first-run, just launch the docker container to generate the correct configuration directory structure, afterwards you can re-create with mapped directories.

  • The UID/GID should be set to a user/group that have access to your media. All media clients should run under the same user to run correctly.

Docker Compose
deluge:
  image: linuxserver/deluge:latest
  restart: unless-stopped
  ports:
    - "49160:49160"
    - "49160:49160/udp"
  environment:
    - PGID=1001
    - PUID=1001
    - TZ=America/Los_Angeles
  volumes:
    - /data/downloads/watched:/watch
    - /data/downloads:/data/downloads
    - /data/services/deluge:/config
    - /etc/localtime:/etc/localtime:ro

Note

Port 49160 needs to be exposed for transfers.

Reverse Proxy Setup

Allows you to isolate your containers as well as wrap connections in SSL. See NGINX for more details. See Setup Base Proxy Control for basic proxy configuration.

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;
  }
}

See subdomain 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;
  }
}

See subpath reference.

Modifying Settings

Deluge must be connected to the Daemon to write configuration changes. Ensure you select Connect on Connection Manager.

Required changes to minimally secure your configuration.

0644 user user /config/core.conf
{
  "file": 1,
  "format": 1
}{
  "info_sent": 0.0,
  "lsd": false,
  "send_info": false,
  "move_completed_path": "/downloads/complete/deluge",
  "enc_in_policy": 1,
  "queue_new_to_top": true,
  "ignore_limits_on_local_network": true,
  "rate_limit_ip_overhead": true,
  "daemon_port": 58846,
  "natpmp": false,
  "max_active_limit": -1,
  "utpex": true,
  "max_active_downloading": 5,
  "max_active_seeding": 10,
  "allow_remote": false,
  "max_half_open_connections": 50,
  "download_location": "/downloads/incomplete",
  "compact_allocation": false,
  "max_upload_speed": 0.0,
  "cache_expiry": 60,
  "prioritize_first_last_pieces": false,
  "auto_managed": true,
  "enc_level": 1,
  "max_connections_per_second": 20,
  "dont_count_slow_torrents": true,
  "random_outgoing_ports": true,
  "max_upload_slots_per_torrent": 1,
  "new_release_check": false,
  "enc_out_policy": 1,
  "outgoing_ports": [
    0,
    0
  ],
  "seed_time_limit": 180,
  "cache_size": 512,
  "share_ratio_limit": 2.0,
  "max_download_speed": -1.0,
  "geoip_db_location": "/usr/share/GeoIP/GeoIP.dat",
  "torrentfiles_location": "/root/Downloads",
  "stop_seed_at_ratio": false,
  "peer_tos": "0x00",
  "listen_interface": "",
  "upnp": false,
  "max_download_speed_per_torrent": -1,
  "max_upload_slots_global": 1,
  "enabled_plugins": [],
  "random_port": false,
  "autoadd_enable": true,
  "max_connections_global": 3000,
  "enc_prefer_rc4": true,
  "listen_ports": [
    49160,
    49160
  ],
  "dht": true,
  "stop_seed_ratio": 2.0,
  "seed_time_ratio_limit": 7.0,
  "max_upload_speed_per_torrent": 0,
  "copy_torrent_file": false,
  "del_copy_torrent_file": false,
  "move_completed": true,
  "proxies": {
    "peer": {
      "username": "",
      "password": "",
      "type": 0,
      "hostname": "",
      "port": 8080
    },
    "web_seed": {
      "username": "",
      "password": "",
      "type": 0,
      "hostname": "",
      "port": 8080
    },
    "tracker": {
      "username": "",
      "password": "",
      "type": 0,
      "hostname": "",
      "port": 8080
    },
    "dht": {
      "username": "",
      "password": "",
      "type": 0,
      "hostname": "",
      "port": 8080
    }
  },
  "add_paused": true,
  "max_connections_per_torrent": 300,
  "remove_seed_at_ratio": false,
  "autoadd_location": "/watched",
  "plugins_location": "/config/plugins"
}

Tip

max_upload_speed should be set to a non-zero number to enable downloads.

Reset Password

Stop Deluge and remove pwd_sh1 pasword line in web.conf, restart.

0644 user user /config/web.conf
{
  "file": 1,
  "format": 1
}{
  "port": 8112,
  "enabled_plugins": [],
  "pwd_sha1": "{SHA1 PASSWORD}",
  "theme": "gray",
  "show_sidebar": true,
  "sidebar_show_zero": false,
  "pkey": "ssl/daemon.pkey",
  "https": false,
  "sessions": {},
  "base": "/",
  "interface": "0.0.0.0",
  "pwd_salt": "{SALT PASSWORD}",
  "show_session_speed": true,
  "first_login": false,
  "cert": "ssl/daemon.cert",
  "session_timeout": 3600,
  "default_daemon": "",
  "sidebar_multiple_filters": true
}

Note

The default username/password is admin / deluge.