63 lines
1.4 KiB
Bash
63 lines
1.4 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
# shellcheck source=lib.sh
|
|
. "${SCRIPT_DIR}/lib.sh"
|
|
|
|
qipai_init_layout() {
|
|
qipai_require_root_for_write
|
|
|
|
local dirs=(
|
|
"${APP_ROOT}"
|
|
"${APP_ROOT}/qipai-repo"
|
|
"${APP_ROOT}/qipai-backend"
|
|
"${APP_ROOT}/qipai-admin"
|
|
"${APP_ROOT}/qipai-miniapp"
|
|
"${APP_ROOT}/releases"
|
|
"${APP_ROOT}/backups/mysql"
|
|
"${APP_ROOT}/backups/emqx"
|
|
"${APP_ROOT}/backups/files"
|
|
"${APP_ROOT}/logs"
|
|
"${APP_ROOT}/nginx"
|
|
"${APP_ROOT}/redis-reserved"
|
|
"${APP_ROOT}/run"
|
|
)
|
|
|
|
for dir in "${dirs[@]}"; do
|
|
mkdir -p "$dir"
|
|
qipai_pass "directory exists: $dir"
|
|
done
|
|
|
|
if id qipai >/dev/null 2>&1; then
|
|
qipai_pass "user qipai exists"
|
|
else
|
|
qipai_warn "user qipai does not exist; create manually before production deployment"
|
|
fi
|
|
|
|
if id git >/dev/null 2>&1; then
|
|
qipai_pass "user git exists"
|
|
else
|
|
qipai_warn "user git does not exist; required for native Gitea service"
|
|
fi
|
|
|
|
cat >"${APP_ROOT}/run/layout.json" <<EOF
|
|
{
|
|
"generatedAt": "$(qipai_timestamp)",
|
|
"appRoot": "${APP_ROOT}",
|
|
"repo": "$(qipai_repo_dir)",
|
|
"backend": "${APP_ROOT}/qipai-backend",
|
|
"admin": "${APP_ROOT}/qipai-admin",
|
|
"miniapp": "${APP_ROOT}/qipai-miniapp",
|
|
"releases": "$(qipai_release_dir)",
|
|
"redis": "RESERVED/DISABLED"
|
|
}
|
|
EOF
|
|
qipai_pass "layout manifest written: ${APP_ROOT}/run/layout.json"
|
|
}
|
|
|
|
if [ "${1:-}" = "--run" ]; then
|
|
qipai_init_layout
|
|
fi
|
|
|