summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDennis Gaida <2392217+DennisGaida@users.noreply.github.com>2025-10-09 16:25:36 +0200
committerGitHub <noreply@github.com>2025-10-09 16:25:36 +0200
commitb4c83b31f26ccd333b95bf4fa348f55b60e76aa3 (patch)
tree669b081c511495a55b7f97b1b90c390e634a3ef6
parent2b5877435f8baf911038f7f21b35cfbe660d8b86 (diff)
Support docker secrets via startup script
Add docker secrets support
-rw-r--r--.docker/app/startup.sh17
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