Files
image/deploy/scripts/init-secrets.sh
T

25 lines
831 B
Bash
Executable File

#!/bin/sh
set -eu
script_dir=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
repository_dir=$(CDPATH= cd -- "$script_dir/../.." && pwd)
secret_dir="$repository_dir/secrets"
state_dir=${IMAGE_RUNTIME_PATH:-$repository_dir/runtime-data}
upload_dir=${IMAGE_UPLOAD_PATH:-$state_dir/uploads}
umask 077
mkdir -p "$secret_dir"
mkdir -p "$state_dir"
mkdir -p "$upload_dir"
for name in gitea_webhook_secret image_admin_secret image_admin_panel_password image_admin_panel_session_secret image_sync_core_secret image_sync_core2026_secret image_upload_core_secret image_upload_core2026_secret; do
path="$secret_dir/$name"
if [ ! -e "$path" ]; then
openssl rand -hex 32 > "$path"
fi
chmod 600 "$path"
done
chmod 700 "$state_dir"
chmod 755 "$upload_dir"
echo "Secret files are ready in $secret_dir (values not printed)."