- Switch to config onboarding mode,

- Enable AutoAdd plugin,
- Add TotalTraffic plugin.
This commit is contained in:
Arnaud G. GIBERT 2025-05-23 20:16:19 +02:00
parent 2f66143916
commit dc04aa9a4e
17 changed files with 296 additions and 67 deletions

View File

@ -15,6 +15,7 @@ LABEL org.rx3.${IMG_NAME}.version=${IMG_VERSION}
LABEL org.rx3.${IMG_NAME}.maintainer=${IMG_MAINTAINER}
LABEL maintainer=${IMG_MAINTAINER}
ARG MODULE_PATH
ARG DELUGE_PORT_DAEMON
ARG DELUGE_PORT_WEB
@ -25,72 +26,53 @@ ARG DELUGE_CONFIG=${DELUGE_HOME}
ARG DELUGE_CONFIG_TEMPLATE=${DELUGE_HOME}-template
#----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ARG DELUGED='#!/bin/bash \n\
\n\
usermod -u ${DELUGE_UID} deluge \n\
groupmod -g ${DELUGE_GID} deluge \n\
\n\
if [[ ! -f '${DELUGE_CONFIG}'/auth ]] \n\
then \n\
cp -R '${DELUGE_CONFIG_TEMPLATE}'/* '${DELUGE_CONFIG}' \n\
\n\
deluged --config '${DELUGE_CONFIG}' \n\
\n\
deluge-console --config '${DELUGE_CONFIG}' config --set allow_remote true \n\
deluge-console --config '${DELUGE_CONFIG}' config --set copy_torrent_file true \n\
deluge-console --config '${DELUGE_CONFIG}' config --set move_completed true \n\
\n\
deluge-console --config '${DELUGE_CONFIG}' config --set listen_ports "[${DELUGE_PORT_BT_LOW},${DELUGE_PORT_BT_HIGH}]" \n\
\n\
deluge-console --config '${DELUGE_CONFIG}' config --set download_location '${DELUGE_SPOOL}'/tmp \n\
deluge-console --config '${DELUGE_CONFIG}' config --set move_completed_path '${DELUGE_SPOOL}'/completed \n\
deluge-console --config '${DELUGE_CONFIG}' config --set plugins_location '${DELUGE_CONFIG}'/plugins \n\
deluge-console --config '${DELUGE_CONFIG}' config --set torrentfiles_location '${DELUGE_SPOOL}'/torrent \n\
\n\
deluge-console --config '${DELUGE_CONFIG}' plugin --enable Label Stats WebUi \n\
\n\
deluge-console --config '${DELUGE_CONFIG}' halt \n\
\n\
echo "deluge:delugeadmin:10" >> '${DELUGE_CONFIG}'/auth \n\
\n\
echo "{\n \"file\": 1,\n \"format\": 1\n}{\n \"enabled\": true,\n \"port\": '${DELUGE_PORT_WEB}',\n \"ssl\": false\n}" > '${DELUGE_CONFIG}'/web_plugin.conf \n\
fi \n\
\n\
for dir in torrent tmp completed \n\
do \n\
if [[ ! -d '${DELUGE_SPOOL}'/${dir} ]] \n\
then \n\
mkdir '${DELUGE_SPOOL}'/${dir} \n\
fi \n\
done \n\
\n\
#-----------------------------------------------------------------------------------------------------------------------
ARG DELUGED='#!/bin/bash \n\
\n\
usermod -u ${DELUGE_UID} deluge \n\
groupmod -g ${DELUGE_GID} deluge \n\
\n\
if [[ ! -f '${DELUGE_CONFIG}'/auth ]] \n\
then \n\
cp -R '${DELUGE_CONFIG_TEMPLATE}'/* '${DELUGE_CONFIG}' \n\
\n\
sed -e "s/DELUGE_PORT_BT_LOW/${DELUGE_PORT_BT_LOW}/" -i '${DELUGE_CONFIG}'/core.conf \n\
sed -e "s/DELUGE_PORT_BT_HIGH/${DELUGE_PORT_BT_HIGH}/" -i '${DELUGE_CONFIG}'/core.conf \n\
fi \n\
\n\
for dir in torrent-auto torrent tmp completed \n\
do \n\
if [[ ! -d '${DELUGE_SPOOL}'/${dir} ]] \n\
then \n\
mkdir '${DELUGE_SPOOL}'/${dir} \n\
fi \n\
done \n\
\n\
chown -R deluge:deluge '${DELUGE_LIB}' '${DELUGE_SPOOL}
#----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#-----------------------------------------------------------------------------------------------------------------------
#----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ARG DELUGED_INI='[program:deluged] \n\
directory='${DELUGE_HOME}' \n\
command=deluged --config '${DELUGE_CONFIG}' --do-not-daemonize \n\
user=deluge \n\
#-----------------------------------------------------------------------------------------------------------------------
ARG DELUGED_INI='[program:deluged] \n\
directory='${DELUGE_HOME}' \n\
command=deluged --config '${DELUGE_CONFIG}' --do-not-daemonize \n\
user=deluge \n\
environment=HOME='${DELUGE_HOME}
#----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#-----------------------------------------------------------------------------------------------------------------------
RUN urpmi.update -a \
&& urpmi --force deluge myip --no-recommends \
&& useradd --home-dir ${DELUGE_HOME} --password "" deluge \
&& mkdir ${DELUGE_SPOOL} \
&& echo -e "${DELUGED}" | sed -e "s/\`/'/g" -e 's/ *$//' > /etc/init.d/deluged \
&& chmod a+x /etc/init.d/deluged \
&& ln -s /etc/init.d/deluged /etc/rcD.d/S30deluged \
&& echo -e "${DELUGED_INI}" | sed -e "s/\`/'/g" -e 's/ *$//' > /etc/supervisord.d/deluged.ini \
&& deluged --config ${DELUGE_CONFIG_TEMPLATE} \
&& deluge-console --config ${DELUGE_CONFIG_TEMPLATE} halt
RUN urpmi.update -a \
&& urpmi --force deluge myip --no-recommends \
&& useradd --home-dir ${DELUGE_HOME} --password "" deluge \
&& mkdir ${DELUGE_SPOOL} \
&& echo -e "${DELUGED}" | sed -e "s/\`/'/g" -e 's/ *$//' > /etc/init.d/deluged \
&& chmod a+x /etc/init.d/deluged \
&& ln -s /etc/init.d/deluged /etc/rcD.d/S30deluged \
&& echo -e "${DELUGED_INI}" | sed -e "s/\`/'/g" -e 's/ *$//' > /etc/supervisord.d/deluged.ini
ADD ${MODULE_PATH} ${DELUGE_CONFIG_TEMPLATE}
EXPOSE ${DELUGE_PORT_DAEMON}
EXPOSE ${DELUGE_PORT_WEB}

View File

@ -6,7 +6,8 @@ This project aims to build a Deluge docker image.
Features:
- Curtently based on rx3-docker/server:1.2.2-mga9 image,
- Deluge Web plugin enabled.
- Enabled Deluge plugin: AutoAdd, Label, Stats & WebUi,
- Default Login/Password: deluge/delugeadmin

View File

@ -21,6 +21,7 @@ services:
IMG_MAINTAINER: ${P2P_IMG_MAINTAINER}
IMG_FROM_URL: ${P2P_IMG_FROM_URL}
MODULE_PATH: ${P2P_MODULE_PATH}
DELUGE_PORT_DAEMON: ${P2P_PORT_MAIN_INT}
DELUGE_PORT_WEB: ${P2P_PORT_ADMIN_INT}

View File

@ -18,7 +18,7 @@ ORG_URL_PREFIX="${ORG_REGISTRY}/${ORG_NAME}"
#-------------------------------------------------------------------------------
APPL_NAME="deluge"
APPL_NAME_FULL="Deluge Proxy"
APPL_NAME_FULL="Deluge"
APPL_NAME_SHORT="deluge"
APPL_ORG="rx3"
APPL_VERSION="1.0.0"
@ -32,7 +32,7 @@ APPL_URL_PREFIX="${ORG_REGISTRY}/${APPL_ORG}"
# User Settings
#-------------------------------------------------------------------------------
APPL_ENV="0"
APPL_ENV="2"
APPL_NAME_SHORT="vir"
@ -73,7 +73,7 @@ DOCKER_TOOLS_VOLUME=SINGLE
# | Prefix | Name | URL Prefix | Name | Name Full | Version | URL Prefix | Name | Version | Name | Version | Ext | Int | Ext | Int | Name / Id | Name / Id |
#------------------+----------+--------------------------+--------------------+------------------+-------------------------------+----------------------+--------------------+---------------+------------+--------------+------------+-------+-------+-------+-------+--------------+--------------+
docker_service_add P2P peer-2-peer ${ORG_URL_PREFIX} deluge "Rx3-Docker/Deluge" ${APPL_VERSION}-mga9 ${ORG_URL_PREFIX} server 1.2.2-mga9 - - 8846 58846 8847 80 arnaud apache
docker_service_add P2P peer-2-peer ${ORG_URL_PREFIX} deluge "Rx3-Docker/Deluge" ${APPL_VERSION}-mga9 ${ORG_URL_PREFIX} server 1.2.2-mga9 - - 8846 58846 8847 80 mirror mirror
@ -86,10 +86,10 @@ SERVER_CROND_ENABLED="FALSE"
P2P_SPOOL_INT="/var/spool/${P2P_IMG_NAME}"
P2P_SPOOL_EXT=".${P2P_SPOOL_INT}"
P2P_PORT_BT_LOW=2500
P2P_PORT_BT_HIGH=2501
P2P_PORT_BT_LOW=3400
P2P_PORT_BT_HIGH=3415
NETWORK_SUBNET=10.10.34.8/30
NETWORK_ADDRESS=10.10.34.9
NETWORK_GATEWAY=10.10.34.10
NETWORK_SUBNET=10.10.33.8/30
NETWORK_ADDRESS=10.10.33.9
NETWORK_GATEWAY=10.10.33.10
NETWORK_TABLE=4

1
src/deluge/auth Normal file
View File

@ -0,0 +1 @@
deluge:delugeadmin:10

47
src/deluge/autoadd.conf Normal file
View File

@ -0,0 +1,47 @@
{
"file": 2,
"format": 1
}{
"next_id": 2,
"watchdirs": {
"1": {
"abspath": "/var/spool/deluge/torrent-auto",
"add_paused": true,
"add_paused_toggle": false,
"append_extension": ".added",
"append_extension_toggle": false,
"auto_managed": true,
"auto_managed_toggle": false,
"copy_torrent": "/var/spool/deluge/torrent",
"copy_torrent_toggle": true,
"delete_copy_torrent_toggle": false,
"download_location": "/var/spool/deluge/tmp",
"download_location_toggle": false,
"enabled": true,
"label": "",
"label_toggle": false,
"max_connections": 0,
"max_connections_toggle": false,
"max_download_speed": 0.0,
"max_download_speed_toggle": false,
"max_upload_slots": 0,
"max_upload_slots_toggle": false,
"max_upload_speed": 0.0,
"max_upload_speed_toggle": false,
"move_completed": true,
"move_completed_path": "/var/spool/deluge/completed",
"move_completed_toggle": false,
"owner": "deluge",
"path": "/var/spool/deluge/torrent-auto",
"queue_to_top": true,
"queue_to_top_toggle": false,
"remove_at_ratio": true,
"remove_at_ratio_toggle": false,
"seed_mode": false,
"stop_at_ratio": true,
"stop_at_ratio_toggle": false,
"stop_ratio": 0.0,
"stop_ratio_toggle": false
}
}
}

101
src/deluge/core.conf Normal file
View File

@ -0,0 +1,101 @@
{
"file": 1,
"format": 1
}{
"add_paused": false,
"allow_remote": true,
"auto_manage_prefer_seeds": false,
"auto_managed": true,
"cache_expiry": 60,
"cache_size": 1024,
"copy_torrent_file": true,
"daemon_port": 58846,
"del_copy_torrent_file": false,
"dht": true,
"dont_count_slow_torrents": false,
"download_location": "/var/spool/deluge/tmp",
"download_location_paths_list": [],
"enabled_plugins": [
"AutoAdd",
"Label",
"Stats",
"TotalTraffic",
"WebUi"
],
"enc_in_policy": 1,
"enc_level": 2,
"enc_out_policy": 1,
"geoip_db_location": "/usr/share/GeoIP/GeoIP.dat",
"ignore_limits_on_local_network": true,
"info_sent": 0.0,
"listen_interface": "",
"listen_ports": [
DELUGE_PORT_BT_LOW,
DELUGE_PORT_BT_HIGH
],
"listen_random_port": null,
"listen_reuse_port": true,
"listen_use_sys_port": false,
"lsd": true,
"max_active_downloading": 360,
"max_active_limit": 360,
"max_active_seeding": 360,
"max_connections_global": 320,
"max_connections_per_second": 96,
"max_connections_per_torrent": -1,
"max_download_speed": -1.0,
"max_download_speed_per_torrent": -1,
"max_half_open_connections": 96,
"max_upload_slots_global": 320,
"max_upload_slots_per_torrent": -1,
"max_upload_speed": -1.0,
"max_upload_speed_per_torrent": -1,
"move_completed": true,
"move_completed_path": "/var/spool/deluge/completed",
"move_completed_paths_list": [],
"natpmp": true,
"new_release_check": false,
"outgoing_interface": "",
"outgoing_ports": [
0,
0
],
"path_chooser_accelerator_string": "Tab",
"path_chooser_auto_complete_enabled": true,
"path_chooser_max_popup_rows": 20,
"path_chooser_show_chooser_button_on_localhost": true,
"path_chooser_show_hidden_files": false,
"peer_tos": "0x00",
"plugins_location": "/var/lib/deluge/plugins",
"pre_allocate_storage": true,
"prioritize_first_last_pieces": false,
"proxy": {
"anonymous_mode": false,
"force_proxy": false,
"hostname": "",
"password": "",
"port": 8080,
"proxy_hostnames": true,
"proxy_peer_connections": true,
"proxy_tracker_connections": true,
"type": 0,
"username": ""
},
"queue_new_to_top": false,
"random_outgoing_ports": true,
"random_port": false,
"rate_limit_ip_overhead": true,
"remove_seed_at_ratio": false,
"seed_time_limit": 180,
"seed_time_ratio_limit": 7.0,
"send_info": false,
"sequential_download": false,
"share_ratio_limit": 2.0,
"shared": false,
"stop_seed_at_ratio": false,
"stop_seed_ratio": 2.0,
"super_seeding": false,
"torrentfiles_location": "/var/spool/deluge/torrent",
"upnp": true,
"utpex": true
}

0
src/deluge/deluged.log Normal file
View File

0
src/deluge/deluged.pid Normal file
View File

Binary file not shown.

View File

@ -0,0 +1,17 @@
-----BEGIN CERTIFICATE-----
MIICpDCCAYwCAQAwDQYJKoZIhvcNAQELBQAwGDEWMBQGA1UEAwwNRGVsdWdlIERh
ZW1vbjAeFw0yNTA1MjMxNDMzMjlaFw0yODA1MjIxNDMzMjlaMBgxFjAUBgNVBAMM
DURlbHVnZSBEYWVtb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCr
Xp+wkROaoTnLVKTM44gUTUBCe0BliaHMRQVkIoUwDYs7Ee93lQtnOY/7OQy68yZT
mnnXGFB+E1CaCkv9rser/0CzTM5n5kppArxxJ3OwMlsg/UEIWWYyTWosQr+fb0QB
0gP8hHXUzsbJ9KjuJF8Fp9tXHEkwMydQuhS+HgHOwylzZZau6SenAr0sbJ6d547l
lsBnSLVHwg87kew7O/r9JoUzVbUsfPghwx4rWVvN9a247KLUBbBZza0gLjsGqsgo
uFJsAVRBh8iHksaftkN4d12t28Gr0WQXGIr8pt5BPmpWtKDFKbQLVum7eibHoylT
QelnL8AA2aP5BeQ967W3AgMBAAEwDQYJKoZIhvcNAQELBQADggEBAGXvc6EZlttq
Y4qYELPBOMZ03gjG7rN/bL1ps6n5BhUXwju0qORPvglzgO9GFy3t2jN0BlZ71cCu
tzu9yL/3sWi3/YEDU8Oi5bKLkae8NNA74Rgrs8o1XpMj3rgPzcEi8GvhsAtxhL98
C6qE/cpF2d5LZIbV0VaId7Ak4BZDROpxTgXEmUUMsL7pEVqyR1fFpqA5So7+R8Te
zfErlhYqyHlsA43PxsLjwfencHZU69iTjUwtnY3vph3BrIibmcILjxHPvq59PNYc
5iXWJJ4GUPx+XMc/pOCZBrx22eBFE5nObn8y+5HBwsX0KA1/FjuAQY4JyPx0+9Ko
LeLMRDGJNYQ=
-----END CERTIFICATE-----

View File

@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCrXp+wkROaoTnL
VKTM44gUTUBCe0BliaHMRQVkIoUwDYs7Ee93lQtnOY/7OQy68yZTmnnXGFB+E1Ca
Ckv9rser/0CzTM5n5kppArxxJ3OwMlsg/UEIWWYyTWosQr+fb0QB0gP8hHXUzsbJ
9KjuJF8Fp9tXHEkwMydQuhS+HgHOwylzZZau6SenAr0sbJ6d547llsBnSLVHwg87
kew7O/r9JoUzVbUsfPghwx4rWVvN9a247KLUBbBZza0gLjsGqsgouFJsAVRBh8iH
ksaftkN4d12t28Gr0WQXGIr8pt5BPmpWtKDFKbQLVum7eibHoylTQelnL8AA2aP5
BeQ967W3AgMBAAECggEABfDQtV5aISA/48B9hz+UZ8VdZtCYZP/ph+GVDcMal3wo
tijP6RCijBBu4T65jI0oTq0KVnGlb+SiHmAgzg/UiseQlrnUMyR35bFufR4cGkdG
Ng8ORZVS/+4DsiDmo3n7Q0FK2eKkcqoJmLx7OYIxeLDSEqN/sATEWXD4WumpMC5j
4PKTd69cWpdFJ167P9y2jqqxXuC9riB8PLMjdjUzt6/g66wCI5+6p3rLubJmt2Fy
3UgNcdpz5y97GcG31pURhDPzqmMHlej+7KnjDN6DrT+OwBFBB5Ev64w5HpGc3aDC
SenpXFIefI3CKK2mcUyWDJV9wg8I2eWzalnAh5vIOQKBgQDWWPoJdQIBHI1tjUvE
AiipaXK/6/eT0keJ41prtCiyRM+NqFpPUK9GuzaRiOLm/ox4MlGl95R39HUupyxO
pMn38Kz1BLxAc7O0uYa6ljIIZz1CR5YMmB7fn/LqzdkjzjRgcC4EvvDWaBiPpM37
58kcsb191h2zU9XgCJhCeMhB2QKBgQDMq6YFKC+wsXc4uGShHocJywL+T20l3kxh
zoMXw0vQMpw+DZCWF/1wOZKIOsgry4FACRlyWloxdjF8RWuHUZVw8GfHMfvIDivf
3/CEecA0phA/BsNtBry0it9fb+38KQzR7HPrKBLkNcTV1Km4TlrTuBgPtvor2eDg
vvQkNsxqDwKBgQCyWdi687wWNq7LIA2R64Xv6MjNPseDHS3fYuiCw6Y1JyJYKWPz
qRwey3nNQMwkDlvNS3k6krXb1fGHPxyT13QiNQWE3krRijRWRSUAria1bUnAk5Yb
ppvR0OIsU9nAfDyCnfT8h/AXRwhgxW2LlEJ3+MDGKtoNs807G4uti5h9iQKBgQDG
hXfzaJdZe8l4auKwpTu2dAPjSIdGQ+kytWzSj8vpli2WwvGLpJlfUXigSuP+Fta3
lhvon1r8vvgg4fT6vFeHxKfkvsbJtXU5Ia3Z0X5tkuYPPDAygGZpeIpRt+/OtsKI
nCGT5rrsQHs8LZqx+s5+rgIovALMpflKBe4pcj20YQKBgBCqE9ajuLjnR3wkTlnN
6hdPgU8ngWCUZt9CnSij3IE2ClUMdr868UtwgRo1JH5pIPwkGNkxBaLn4WTD3jji
yxAOSf2chalkc5S54fseRQFYilo64ppCTa1PCgQmeIxpHaQARxj/LcRnuKkXHVBx
L4w7S8lpx0eWeuifjQJT/h2N
-----END PRIVATE KEY-----

View File

8
src/deluge/stats.conf Normal file
View File

@ -0,0 +1,8 @@
{
"file": 1,
"format": 1
}{
"length": 150,
"test": "NiNiNi",
"update_interval": 1
}

View File

@ -0,0 +1,11 @@
{
"file": 1,
"format": 1
}{
"ptotaldown": 0,
"ptotalup": 0,
"showPayload": false,
"showTotal": true,
"totaldown": 0,
"totalup": 0
}

24
src/deluge/web.conf Normal file
View File

@ -0,0 +1,24 @@
{
"file": 2,
"format": 1
}{
"base": "/",
"cert": "ssl/daemon.cert",
"default_daemon": "",
"enabled_plugins": [],
"first_login": false,
"https": false,
"interface": "0.0.0.0",
"language": "",
"pkey": "ssl/daemon.pkey",
"port": 80,
"pwd_salt": "682e25a24cbb391ef5f19092841e5beab388e714",
"pwd_sha1": "8b555cafbc04a092446b4d434bede2158925f57d",
"session_timeout": 3600,
"sessions": {},
"show_session_speed": false,
"show_sidebar": true,
"sidebar_multiple_filters": true,
"sidebar_show_zero": false,
"theme": "gray"
}

View File

@ -0,0 +1,8 @@
{
"file": 1,
"format": 1
}{
"enabled": true,
"port": 80,
"ssl": false
}