feat: 自动检测并配置 Docker Hub 国内镜像加速(XUQM_SUDO_PASS 支持)
这个提交包含在:
父节点
f7b5ac1a6c
当前提交
f8d02468db
25
install.sh
25
install.sh
@ -16,6 +16,7 @@
|
||||
# DEPLOY_HOST 目标机器 IP / 主机名(默认自动检测本机 IP)
|
||||
# INSTALL_DIR 安装目录(默认 /opt/xuqm-private)
|
||||
# XUQM_BRANCH Gitea 分支(默认 main)
|
||||
# XUQM_SUDO_PASS sudo 密码(非 root 用户需配置 Docker 镜像加速时使用)
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
@ -130,6 +131,30 @@ if c.get('credsStore', '').endswith('.exe'):
|
||||
PYEOF
|
||||
fi
|
||||
|
||||
# 配置 Docker Hub 镜像加速(国内网络 Docker Hub 不可达时自动启用)
|
||||
_DAEMON_CFG="/etc/docker/daemon.json"
|
||||
if ! curl -fsS --max-time 5 https://registry-1.docker.io/v2/ >/dev/null 2>&1; then
|
||||
info "Docker Hub 不可达,尝试配置国内镜像加速..."
|
||||
_MIRRORS='{"registry-mirrors":["https://docker.mirrors.ustc.edu.cn","https://hub-mirror.c.163.com","https://mirror.baidubce.com"]}'
|
||||
_configured=0
|
||||
if [ "$(id -u)" -eq 0 ]; then
|
||||
printf '%s\n' "$_MIRRORS" > "$_DAEMON_CFG" && _configured=1
|
||||
elif [ -n "${XUQM_SUDO_PASS:-}" ]; then
|
||||
printf '%s\n' "$XUQM_SUDO_PASS" | sudo -S sh -c "printf '%s\n' '$_MIRRORS' > $_DAEMON_CFG" 2>/dev/null && _configured=1
|
||||
elif sudo -n true 2>/dev/null; then
|
||||
sudo sh -c "printf '%s\n' '$_MIRRORS' > $_DAEMON_CFG" && _configured=1
|
||||
fi
|
||||
if [ "$_configured" -eq 1 ]; then
|
||||
service docker restart 2>/dev/null || \
|
||||
{ [ -n "${XUQM_SUDO_PASS:-}" ] && printf '%s\n' "$XUQM_SUDO_PASS" | sudo -S service docker restart 2>/dev/null; } || \
|
||||
sudo -n service docker restart 2>/dev/null || true
|
||||
sleep 3
|
||||
ok "Docker Hub 镜像加速已配置"
|
||||
else
|
||||
warn "无法配置镜像加速(需 root 或 XUQM_SUDO_PASS);若 Docker Hub 不可达,镜像拉取可能失败"
|
||||
fi
|
||||
fi
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Step 3 — 确认 Docker Compose v2
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
正在加载...
在新工单中引用
屏蔽一个用户