This commit is contained in:
@@ -5,13 +5,31 @@ umask 077
|
||||
|
||||
ROOT=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)
|
||||
INSTALLER="$ROOT/deploy/install.sh"
|
||||
INSTALLER_SHA256=${KAIDI_INSTALLER_SHA256:-fcc4c132812eaa304e2459f3b0cc176d75552afb6bd6a3be7c347fbf8f01e51b}
|
||||
INSTALLER_SHA256=${KAIDI_INSTALLER_SHA256:-5aadfab9bdeef9279aeab6eee9baaae7182b2f3338fa61a558b3c073b69ad396}
|
||||
RELEASE_API_URL=${KAIDI_RELEASE_API_URL:-https://git.awaioi.com/api/v1/repos/ERP-Team/kaidi/releases/latest}
|
||||
PUBLIC_KEY_SHA256=${KAIDI_RELEASE_PUBLIC_KEY_SHA256:-807c6aec1dc3f7ce494db16aa9d763c66f292033c38f328afd0390d2715a8cd9}
|
||||
TOKEN_FILE=${KAIDI_RELEASE_TOKEN_FILE:-}
|
||||
|
||||
log() { printf '[kaidi-git-install] %s\n' "$*"; }
|
||||
die() { printf '[kaidi-git-install] ERROR: %s\n' "$*" >&2; exit 1; }
|
||||
|
||||
localize_message() {
|
||||
local message=$1
|
||||
[ "${KAIDI_LOG_LOCALE:-zh-CN}" = en ] && { printf '%s' "$message"; return; }
|
||||
case "$message" in
|
||||
"deploy/install.sh is missing"*) printf '缺少 deploy/install.sh,请在 Kaidi Git 工作区运行此命令' ;;
|
||||
"sha256sum is required") printf '需要 sha256sum' ;;
|
||||
"The installer SHA-256 is invalid") printf '安装器 SHA-256 无效' ;;
|
||||
"The release public-key SHA-256 is invalid") printf '发布公钥 SHA-256 无效' ;;
|
||||
"deploy/install.sh does not match"*) printf 'deploy/install.sh 与该 Git 标签的受信摘要不一致' ;;
|
||||
"sudo is required when not running as root") printf '非 root 用户运行时需要 sudo' ;;
|
||||
"The Gitea token file is not a regular file") printf 'Gitea Token 文件必须是普通文件' ;;
|
||||
"The Gitea token file must contain 1 to 512 bytes") printf 'Gitea Token 文件必须包含 1 到 512 字节' ;;
|
||||
"The Gitea token file contains invalid control characters") printf 'Gitea Token 文件包含无效控制字符' ;;
|
||||
*) printf '%s' "$message" ;;
|
||||
esac
|
||||
}
|
||||
|
||||
die() { printf '[kaidi-git-install] 错误:%s\n' "$(localize_message "$*")" >&2; exit 1; }
|
||||
|
||||
[ -f "$INSTALLER" ] || die "deploy/install.sh is missing; run this command from the Kaidi Git checkout"
|
||||
command -v sha256sum >/dev/null 2>&1 || die "sha256sum is required"
|
||||
@@ -52,19 +70,19 @@ KAIDI_DB_PASSWORD=${KAIDI_DB_PASSWORD:-}
|
||||
KAIDI_DB_HOST=${KAIDI_DB_HOST:-}
|
||||
KAIDI_DB_PORT=${KAIDI_DB_PORT:-}
|
||||
KAIDI_DB_NAME=${KAIDI_DB_NAME:-}
|
||||
KAIDI_DB_CONTAINER=${KAIDI_DB_CONTAINER:-}
|
||||
KAIDI_SESSION_COOKIE_SECURE=${KAIDI_SESSION_COOKIE_SECURE:-}
|
||||
KAIDI_FILE_SCANNER_ENABLED=${KAIDI_FILE_SCANNER_ENABLED:-}
|
||||
KAIDI_DB_BACKUP_MODE=${KAIDI_DB_BACKUP_MODE:-}
|
||||
|
||||
for name in KAIDI_REINSTALL KAIDI_SETUP_WIZARD KAIDI_APP_PORT KAIDI_SERVER_ADDRESS \
|
||||
KAIDI_DB_URL KAIDI_DB_USERNAME KAIDI_DB_PASSWORD \
|
||||
KAIDI_DB_HOST KAIDI_DB_PORT KAIDI_DB_NAME KAIDI_DB_CONTAINER \
|
||||
KAIDI_SESSION_COOKIE_SECURE KAIDI_FILE_SCANNER_ENABLED; do
|
||||
KAIDI_DB_HOST KAIDI_DB_PORT KAIDI_DB_NAME \
|
||||
KAIDI_SESSION_COOKIE_SECURE KAIDI_FILE_SCANNER_ENABLED KAIDI_DB_BACKUP_MODE; do
|
||||
value=${!name}
|
||||
if [ -n "$value" ]; then
|
||||
install_env+=("$name=$value")
|
||||
fi
|
||||
done
|
||||
|
||||
log "Installing the latest signed release from $RELEASE_API_URL"
|
||||
log "正在从 Gitea Release API 安装最新签名版本:$RELEASE_API_URL"
|
||||
"${root_command[@]}" "${install_env[@]}" bash "$INSTALLER"
|
||||
|
||||
Reference in New Issue
Block a user