feat: 自动检测并配置 Docker Hub 国内镜像加速(XUQM_SUDO_PASS 支持)

这个提交包含在:
xuqinmin12 2026-06-12 18:46:37 +08:00
父节点 f7b5ac1a6c
当前提交 f8d02468db

查看文件

@ -13,9 +13,10 @@
# bash <(curl -fsSL https://xuqinmin.com/xuqmGroup/XuqmGroup-PrivateDeploy/raw/branch/main/install.sh)
#
# 环境变量(可选):
# DEPLOY_HOST 目标机器 IP / 主机名(默认自动检测本机 IP
# INSTALL_DIR 安装目录(默认 /opt/xuqm-private
# XUQM_BRANCH Gitea 分支(默认 main
# 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
# ---------------------------------------------------------------------------