mirror of
https://github.com/plankanban/planka.git
synced 2025-12-06 09:13:16 +03:00
38 lines
936 B
Bash
Executable File
38 lines
936 B
Bash
Executable File
#!/bin/bash
|
|
|
|
set -eu
|
|
|
|
# Load secrets from files if corresponding *__FILE environment variables are set.
|
|
# Only the first line of each file is read (stripping carriage returns and newlines).
|
|
|
|
read_secret() {
|
|
local file="$1"
|
|
head -n 1 "$file" | tr -d '\r\n'
|
|
}
|
|
|
|
load_secret() {
|
|
local envar="$1"
|
|
local file="${envar}__FILE"
|
|
if [[ -z "${!envar:-}" && -e "${!file:-}" ]]; then
|
|
export "$envar"="$(read_secret "${!file}")"
|
|
fi
|
|
}
|
|
|
|
if [[ -n "${DATABASE_URL}" ]]; then
|
|
if [[ -z "${DATABASE_PASSWORD:-}" && -e "${DATABASE_PASSWORD__FILE:-}" ]]; then
|
|
DATABASE_PASSWORD="$(read_secret "${DATABASE_PASSWORD__FILE}")"
|
|
export DATABASE_URL="${DATABASE_URL/\$\{DATABASE_PASSWORD\}/${DATABASE_PASSWORD}}"
|
|
fi
|
|
fi
|
|
|
|
load_secret SECRET_KEY
|
|
load_secret DEFAULT_ADMIN_PASSWORD
|
|
load_secret S3_SECRET_ACCESS_KEY
|
|
load_secret OIDC_CLIENT_SECRET
|
|
load_secret SMTP_PASSWORD
|
|
|
|
export NODE_ENV=production
|
|
|
|
node db/init.js
|
|
exec node app.js --prod
|