diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh index 7770ab8d0..60030dbe2 100755 --- a/docker/entrypoint.sh +++ b/docker/entrypoint.sh @@ -156,8 +156,20 @@ TEMPLATE_FILE="${CONF_DIR}/service_conf.yaml.template" CONF_FILE="${CONF_DIR}/service_conf.yaml" rm -f "${CONF_FILE}" +DEF_ENV_VALUE_PATTERN="\$\{([^:]+):-([^}]+)\}" while IFS= read -r line || [[ -n "$line" ]]; do - eval "echo \"$line\"" >> "${CONF_FILE}" + if [[ "$line" =~ DEF_ENV_VALUE_PATTERN ]]; then + varname="${BASH_REMATCH[1]}" + default="${BASH_REMATCH[2]}" + + if [ -n "${!varname}" ]; then + eval "echo \"$line"\" >> "${CONF_FILE}" + else + echo "$line" | sed -E "s/\\\$\{[^:]+:-([^}]+)\}/\1/g" >> "${CONF_FILE}" + fi + else + eval "echo \"$line\"" >> "${CONF_FILE}" + fi done < "${TEMPLATE_FILE}" export LD_LIBRARY_PATH="/usr/lib/x86_64-linux-gnu/"