Replace dockerize, make settings persistent, let settings be overridden by env vars
This commit is contained in:
30
openvpn/persistEnvironment.py
Normal file
30
openvpn/persistEnvironment.py
Normal 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')
|
@@ -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"
|
||||
|
||||
|
Reference in New Issue
Block a user