- Initial release,

- Based on rx3-docker/server:1.2.2-mga9 image,
- Support Docker Tools 1.4.x.
This commit is contained in:
Arnaud G. GIBERT 2025-05-23 13:33:16 +02:00
commit 2f66143916
6 changed files with 290 additions and 0 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
*~
*.old

96
Dockerfile Normal file
View File

@ -0,0 +1,96 @@
# Rx3-Docker/Deluge Dockerfile
#-------------------------------------------------------------------------------
ARG IMG_FROM_URL="rx3-docker/server:latest"
FROM ${IMG_FROM_URL}
ARG IMG_NAME
ARG IMG_NAME_FULL
ARG IMG_VERSION
ARG IMG_MAINTAINER
LABEL org.rx3.${IMG_NAME}.name=${IMG_NAME_FULL}
LABEL org.rx3.${IMG_NAME}.version=${IMG_VERSION}
LABEL org.rx3.${IMG_NAME}.maintainer=${IMG_MAINTAINER}
LABEL maintainer=${IMG_MAINTAINER}
ARG DELUGE_PORT_DAEMON
ARG DELUGE_PORT_WEB
ARG DELUGE_LIB=/var/lib/deluge
ARG DELUGE_SPOOL=/var/spool/deluge
ARG DELUGE_HOME=${DELUGE_LIB}
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\
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\
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
EXPOSE ${DELUGE_PORT_DAEMON}
EXPOSE ${DELUGE_PORT_WEB}

19
ReadMe.txt Normal file
View File

@ -0,0 +1,19 @@
Welcome to Rx3-Docker/Deluge docker image!
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.
Enjoy it!
Your Rx3 Team.
--
arnaud@rx3.net
https://git.rx3.org/gitea/rx3-docker/deluge

7
ReleaseNotes.txt Normal file
View File

@ -0,0 +1,7 @@
------------------------------------------------------------------------------------------------------------------------------------
Rx3-Docker/Deluge V 1.0.0 - A. GIBERT - 2025/05/23
------------------------------------------------------------------------------------------------------------------------------------
- Initial release,
- Based on rx3-docker/server:1.2.2-mga9 image,
- Support Docker Tools 1.4.x.

71
compose.yaml Normal file
View File

@ -0,0 +1,71 @@
# Rx3-Docker/Deluge Docker Image
#-------------------------------------------------------------------------------
name: ${HOST_NAME_PREFIX}
services:
#-------------------------------------------------------------------------------
peer-2-peer:
container_name: ${P2P_HOST_NAME}
hostname: ${P2P_HOST_NAME}
image: ${P2P_IMG_URL}
build:
args:
IMG_NAME: ${P2P_IMG_URL}
IMG_NAME_FULL: ${P2P_IMG_NAME_FULL}
IMG_VERSION: ${P2P_IMG_VERSION}
IMG_MAINTAINER: ${P2P_IMG_MAINTAINER}
IMG_FROM_URL: ${P2P_IMG_FROM_URL}
DELUGE_PORT_DAEMON: ${P2P_PORT_MAIN_INT}
DELUGE_PORT_WEB: ${P2P_PORT_ADMIN_INT}
restart: unless-stopped
environment:
DELUGE_UID: ${P2P_USER_ID}
DELUGE_GID: ${P2P_GROUP_ID}
DELUGE_PORT_BT_LOW: ${P2P_PORT_BT_LOW}
DELUGE_PORT_BT_HIGH: ${P2P_PORT_BT_HIGH}
# healthcheck:
# test: /opt/appl/kafka/bin/kafka-cluster.sh cluster-id --bootstrap-server localhost:${P2P_PORT_MAIN_INT}
# interval: 30s
# timeout: 10s
# start_period: 60s
# start_interval: 10s
# retries: 30
volumes:
- ./${P2P_LIB_EXT}:${P2P_LIB_INT}
- ./${P2P_LOG_INIT_EXT}:${P2P_LOG_INIT_INT}
- ./${P2P_LOG_SV_EXT}:${P2P_LOG_SV_INT}
- ./${P2P_SPOOL_EXT}:${P2P_SPOOL_INT}
networks:
proxy:
ipv4_address: ${NETWORK_ADDRESS}
ports:
- "127.0.0.1:${P2P_PORT_SV_EXT}:${P2P_PORT_SV_INT}"
- "127.0.0.1:${P2P_PORT_MAIN_EXT}:${P2P_PORT_MAIN_INT}"
- "127.0.0.1:${P2P_PORT_ADMIN_EXT}:${P2P_PORT_ADMIN_INT}"
#-------------------------------------------------------------------------------
networks:
proxy:
name: ${NETWORK_NAME}
driver: bridge
driver_opts:
com.docker.network.bridge.name: ${NETWORK_IF_NAME}
ipam:
config:
- subnet: ${NETWORK_SUBNET}
gateway: ${NETWORK_GATEWAY}

95
env.dist Normal file
View File

@ -0,0 +1,95 @@
# Rx3-Docker/Deluge Docker Image
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
# Global Settings
#-------------------------------------------------------------------------------
ORG_NAME="rx3-docker"
ORG_REGISTRY="docker.xor.rx3:5000"
ORG_MAINTAINER='"Arnaud G. GIBERT" <arnaud@rx3.net>'
ORG_URL_PREFIX="${ORG_REGISTRY}/${ORG_NAME}"
#-------------------------------------------------------------------------------
# Image Settings
#-------------------------------------------------------------------------------
APPL_NAME="deluge"
APPL_NAME_FULL="Deluge Proxy"
APPL_NAME_SHORT="deluge"
APPL_ORG="rx3"
APPL_VERSION="1.0.0"
APPL_MAINTAINER='"Arnaud G. GIBERT" <arnaud@rx3.net>'
APPL_URL_PREFIX="${ORG_REGISTRY}/${APPL_ORG}"
#-------------------------------------------------------------------------------
# User Settings
#-------------------------------------------------------------------------------
APPL_ENV="0"
APPL_NAME_SHORT="vir"
#-------------------------------------------------------------------------------
# Common
#-------------------------------------------------------------------------------
if [[ "${APPL_ENV}" != "prd" ]]
then
APPL_SUFFIX="-${APPL_ENV}"
PORT_ENV_OFFSET=100
else
APPL_SUFFIX=""
PORT_ENV_OFFSET=0
fi
APPL_USER="apache"
APPL_GROUP="apache"
HOST_NAME_PREFIX=${APPL_NAME}${APPL_SUFFIX}
NETWORK_NAME=${HOST_NAME_PREFIX}
NETWORK_IF_NAME=br-${APPL_NAME_SHORT}-${APPL_ENV}
PORT_ENV_OFFSET=0
PORT_SV_INT=9001
PORT_SV_OFFSET=1000
DOCKER_TOOLS_DEBUG=FALSE
DOCKER_TOOLS_VOLUME=SINGLE
#------------------+----------+--------------------------+--------------------+------------------+-------------------------------+----------------------+--------------------+---------------+------------+--------------+------------+-------+-------+-------+-------+--------------+--------------+
# | Variable | Service | Target Image | From Image | Module | Main Port | Admin Port | User | Group |
# | 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
#-------------------------------------------------------------------------------
# User Settings
#-------------------------------------------------------------------------------
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
NETWORK_SUBNET=10.10.34.8/30
NETWORK_ADDRESS=10.10.34.9
NETWORK_GATEWAY=10.10.34.10
NETWORK_TABLE=4