A docker image for the torrent client Deluge based on @emmercm libtorrent image.
From deluge.org:
Deluge is a fully-featured cross-platform ​BitTorrent client. It is ​Free Software, licensed under the ​GNU GPLv3+ and adheres to ​freedesktop standards enabling it to work across many desktop environments.
The images do not require any external Docker networks, volumes, environment variables, or arguments and can be run with just:
docker run \
--detach \
--interactive \
--name deluge \
--user $(id -u):$(id -g) \
--volume /etc/localtime:/etc/localtime:ro \ # optional to sync time with the host
--env UMASK_SET=022 \
--env TZ=Europe/Paris \
#--env LOGLEVEL=info \
--publish 8112:8112 \
--publish 58846:58846 \
ghcr.io/jee-r/deluge:latest
And accessed through the web UI at http://localhost:8112 with the default username localclient
and password deluge
.
You can also access through the Gtk client on localhost
port 58846
for this you will need to set allow_remote
to true
in the config/core.conf
file and add a new user myuser:mypassword:10
in the config/auth
file.
Always stop the container before modify your config files otherwise they will not be saved
Due to the ephemeral nature of Docker containers these images provide a number of optional volume mounts to persist data outside of the container:
/config
: the Deluge config directory containingcore.conf
/torrents/seed
: the default download location/torrents/leech
: the default incomplete download location/torrents/.watch
: the default autoadd torrent location
docker run \
--detach \
--interactive \
--name deluge \
--user $(id -u):$(id -g) \
--volume ${HOME}/deluge/torrents:/torrents \
--volume ${HOME}/deluge/config:/config \
--volume /etc/localtime:/etc/localtime:ro \
--env UMASK_SET=022 \
--env TZ=Europe/Paris \
#--env LOGLEVEL=info \
--publish 8112:8112 \
--publish 58846:58846 \
ghcr.io/jee-r/deluge:latest
You should create directory before run the container otherwise directories are created by the docker deamon and owned by the root user
LOGLEVEL
: Set the log level: none, info, warning, error, debug (default: info)TZ
: To change the timezone of the container. The full list of available options can be found on Wikipedia.
docker-compose
can help with defining the docker run
config in a repeatable way rather than ensuring you always pass the same CLI arguments.
Here's an example docker-compose.yml
config:
version: "3"
services:
deluge:
image: ghcr.io/jee-r/deluge:latest
container_name: deluge
restart: unless-stopped
user: 1000:1000
environment:
- UMASK_SET=022
- TZ=Europe/Paris
#- LOGLEVEL=info
ports:
- 8112:8112
- 58846:58846
volumes:
- ./config:/config
- ./torrents:/torrents
- /etc/localtime:/etc/localtime:ro
You are welcome to contribute to this project, but read this before please.
Found any issue or bug in the codebase? Have a great idea you want to propose ? You can help by submitting an issue to the Github repository.
Before opening a new issue, please check if the issue has not been already made by searching the issues
We would like to have discussions and general queries related to this repository.
you can reach me on Libera irc server /query jee
Before submitting a pull request, ensure that you go through the following:
- Ensure that there is no open or closed Pull Request corresponding to your submission to avoid duplication of effort.
- Create a new branch on your forked repo based on the main branch (be sure that your fork is up to date with the upstream) and make the changes in it. Example:
git clone https://your_fork
git checkout -B patch-N main
- Submit the pull request, provide informations (why/where/how) in the comments section
This project is under the GNU Generic Public License v3 to allow free use while ensuring it stays open.
This image is largely inspired by Christian Emmer's great work :