Add support for Docker/Compose Secrets for passwords to Docker/Snap/Bundle platforms.

Thanks to Roemer and xet7 !

Fixes #5724
This commit is contained in:
Lauri Ojansivu 2025-10-10 23:46:48 +03:00
parent 3b60bdea14
commit 107e2ac900
16 changed files with 234 additions and 4 deletions

View file

@ -11,6 +11,29 @@ cat >"${CONF}" <<'EOF'
export MONGO_URL=mongodb://{{DATABASE_USER}}:{{DATABASE_PASSWORD}}@{{DATABASE_HOST}}:{{DATABASE_PORT}}/{{DATABASE_NAME}}
export ROOT_URL=http://localhost
export PORT=3000
# Docker Compose Secrets Support
# If secret files exist, read passwords from them instead of environment variables
if [ -f "/run/secrets/mongo_password" ]; then
export MONGO_PASSWORD=$(cat /run/secrets/mongo_password)
export MONGO_URL=mongodb://{{DATABASE_USER}}:${MONGO_PASSWORD}@{{DATABASE_HOST}}:{{DATABASE_PORT}}/{{DATABASE_NAME}}
fi
if [ -f "/run/secrets/ldap_auth_password" ]; then
export LDAP_AUTHENTIFICATION_PASSWORD=$(cat /run/secrets/ldap_auth_password)
fi
if [ -f "/run/secrets/oauth2_secret" ]; then
export OAUTH2_SECRET=$(cat /run/secrets/oauth2_secret)
fi
if [ -f "/run/secrets/mail_service_password" ]; then
export MAIL_SERVICE_PASSWORD=$(cat /run/secrets/mail_service_password)
fi
if [ -f "/run/secrets/s3_secret" ]; then
export S3_SECRET=$(cat /run/secrets/s3_secret)
fi
EOF
sed -i -e "s/{{DATABASE_USER}}/${DATABASE_USER}/" "${CONF}"