diff options
Diffstat (limited to '.docker/app/update.sh')
| -rw-r--r-- | .docker/app/update.sh | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/.docker/app/update.sh b/.docker/app/update.sh index e383091d1..a509a9d69 100644 --- a/.docker/app/update.sh +++ b/.docker/app/update.sh @@ -8,6 +8,23 @@ unset HTTP_PORT unset HTTP_HOST +# allow setting environment variables with docker secrets +# the format is <variable-name>_FILE +suffix="_FILE" + +# Loop through all environment variables +for var in $(printenv | awk -F= '{print $1}'); do + if [[ $var == *"$suffix" ]]; then + envFileName=`printenv ${var}` + if [[ -f "$envFileName" ]]; then + envVar="${var%$suffix}" # generate the original env var without suffix + val=`cat $envFileName` # get the value of the secret from file + export "${envVar}"="$val" # set the original env var + echo "${envVar} environment variable was set by secret ${envFileName}" + fi + fi +done + if ! id app >/dev/null 2>&1; then addgroup -g $OWNER_GID app adduser -D -h $APP_INSTALL_BASE_DIR -G app -u $OWNER_UID app |