diff options
| author | Dennis Gaida <2392217+DennisGaida@users.noreply.github.com> | 2025-10-09 16:25:36 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-09 16:25:36 +0200 |
| commit | b4c83b31f26ccd333b95bf4fa348f55b60e76aa3 (patch) | |
| tree | 669b081c511495a55b7f97b1b90c390e634a3ef6 /.docker/app | |
| parent | 2b5877435f8baf911038f7f21b35cfbe660d8b86 (diff) | |
Support docker secrets via startup script
Add docker secrets support
Diffstat (limited to '.docker/app')
| -rw-r--r-- | .docker/app/startup.sh | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/.docker/app/startup.sh b/.docker/app/startup.sh index 64111dd19..3daeb9477 100644 --- a/.docker/app/startup.sh +++ b/.docker/app/startup.sh @@ -13,6 +13,23 @@ done 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 |