docker-minecraft-server/start-finalSetup05EnvVariables

23 lines
816 B
Text
Raw Normal View History

#!/bin/bash
2020-03-06 15:52:17 +00:00
. /start-utils
if [ "${REPLACE_ENV_VARIABLES^^}" = "TRUE" ]; then
2020-03-06 15:52:17 +00:00
log "Replacing env variables in configs that match the prefix $ENV_VARIABLE_PREFIX..."
while IFS='=' read -r name value ; do
# check if name of env variable matches the prefix
# sanity check environment variables to avoid code injections
if [[ "$name" = $ENV_VARIABLE_PREFIX* ]] \
&& [[ $value =~ ^[0-9a-zA-Z_:/=?.+\-]*$ ]] \
&& [[ $name =~ ^[0-9a-zA-Z_\-]*$ ]]; then
2020-03-06 15:52:17 +00:00
log "Replacing $name with $value ..."
find /data/ -type f \
\( -name "*.yml" -or -name "*.yaml" -or -name "*.txt" -or -name "*.cfg" \
-or -name "*.conf" -or -name "*.properties" \) \
-exec sed -i 's#${'"$name"'}#'"$value"'#g' {} \;
fi
done < <(env)
fi
exec /start-minecraftFinalSetup $@