Replace dockerize, make settings persistent, let settings be overridden by env vars

This commit is contained in:
Kristian Haugene
2020-08-09 18:02:51 +02:00
parent ec502689c0
commit 12e6378bfe
9 changed files with 157 additions and 261 deletions

View File

@@ -0,0 +1,30 @@
import os
import sys
import json
# Verify script arguments
if len(sys.argv) != 2:
sys.exit(
'Invalid number of arguments. Usage:\n persistEnvironment.py /path/to/varibles-script.sh')
envVarsScriptFile = sys.argv[1]
wantedVariables = ['OPENVPN_PROVIDER', 'ENABLE_UFW', 'PUID', 'PGID', 'DROP_DEFAULT_ROUTE', 'GLOBAL_APPLY_PERMISSIONS', 'DOCKER_LOG']
variablesToPersist = {}
for variable in os.environ:
if variable.startswith('TRANSMISSION_'):
variablesToPersist[variable] = os.environ.get(variable)
if variable.startswith('WEBPROXY_'):
variablesToPersist[variable] = os.environ.get(variable)
if variable in wantedVariables:
variablesToPersist[variable] = os.environ.get(variable)
# Dump resulting settings to file
with open(envVarsScriptFile, 'w') as file:
for variable in variablesToPersist:
file.write('export ' + variable + '=' +
variablesToPersist[variable] + '\n')

View File

@@ -124,7 +124,7 @@ echo "${TRANSMISSION_RPC_USERNAME}" > /config/transmission-credentials.txt
echo "${TRANSMISSION_RPC_PASSWORD}" >> /config/transmission-credentials.txt
# Persist transmission settings for use by transmission-daemon
dockerize -template /etc/transmission/environment-variables.tmpl:/etc/transmission/environment-variables.sh
python3 /etc/openvpn/persistEnvironment.py /etc/transmission/environment-variables.sh
TRANSMISSION_CONTROL_OPTS="--script-security 2 --up-delay --up /etc/openvpn/tunnelUp.sh --down /etc/openvpn/tunnelDown.sh"