25 lines
831 B
Bash
Executable File
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)."
|