diff --git a/Dockerfile b/Dockerfile index 42387f681..65c31dd0d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -53,9 +53,6 @@ ENV OPENVPN_USERNAME=**None** \ TRANSMISSION_RPC_PORT=9091 \ TRANSMISSION_RPC_USERNAME= \ TRANSMISSION_RPC_PASSWORD= \ - TRANSMISSION_DOWNLOAD_DIR=/data/completed \ - TRANSMISSION_INCOMPLETE_DIR=/data/incomplete \ - TRANSMISSION_WATCH_DIR=/data/watch \ CREATE_TUN_DEVICE=true \ ENABLE_UFW=false \ UFW_ALLOW_GW_NET=false \ diff --git a/transmission/start.sh b/transmission/start.sh index a8292a7f6..0aefe0aac 100755 --- a/transmission/start.sh +++ b/transmission/start.sh @@ -71,13 +71,13 @@ case ${TRANSMISSION_LOG_LEVEL,,} in ;; esac -. /etc/transmission/userSetup.sh - echo "Updating Transmission settings.json with values from env variables" # Ensure TRANSMISSION_HOME is created mkdir -p ${TRANSMISSION_HOME} python3 /etc/transmission/updateSettings.py /etc/transmission/default-settings.json ${TRANSMISSION_HOME}/settings.json || exit 1 +. /etc/transmission/userSetup.sh + echo "sed'ing True to true" sed -i 's/True/true/g' ${TRANSMISSION_HOME}/settings.json diff --git a/transmission/userSetup.sh b/transmission/userSetup.sh index b05a3d0e3..28ec8b343 100644 --- a/transmission/userSetup.sh +++ b/transmission/userSetup.sh @@ -18,6 +18,13 @@ if [ -n "$PUID" ] && [ ! "$(id -u root)" -eq "$PUID" ]; then chown ${RUN_AS}:${RUN_AS} /dev/stdout fi + # fetch from settings.json if not defined in environment + for var_name in TRANSMISSION_DOWNLOAD_DIR TRANSMISSION_INCOMPLETE_DIR TRANSMISSION_WATCH_DIR TRANSMISSION_UMASK; do + if [[ ! -v $var_name ]]; then + setting_name=$(echo "${var_name#TRANSMISSION_}" | tr '[:upper:]_' '[:lower:]-') + declare "${var_name}=$(jq -r .\"${setting_name}\" ${TRANSMISSION_HOME}/settings.json)" + fi + done # Make sure directories exist before chown and chmod mkdir -p /config \ @@ -45,12 +52,6 @@ if [ -n "$PUID" ] && [ ! "$(id -u root)" -eq "$PUID" ]; then echo "Setting permissions for download and incomplete directories" - if [ -z "$TRANSMISSION_UMASK" ] ; then - # fetch from settings.json if not defined in environment - # because updateSettings.py is called after this script is run - TRANSMISSION_UMASK=$(jq .umask ${TRANSMISSION_HOME}/settings.json | tr -d \" ) - fi - TRANSMISSION_UMASK_OCTAL=$( printf "%o\n" "${TRANSMISSION_UMASK}" ) DIR_PERMS=$( printf '%o\n' $(( 8#777 & ~TRANSMISSION_UMASK)) )