feat: sync-accounts.sh 添加 Docker 镜像版本检测
- 检测远程容器是否支持多账号功能 - 版本过旧时给出更新镜像的具体命令 - 避免配置同步后无法生效的问题
This commit is contained in:
@@ -105,6 +105,41 @@ else
|
||||
REMOTE_COUNT=0
|
||||
fi
|
||||
|
||||
# Step 1.5: 检测 Docker 镜像版本(仅 docker-compose 模式)
|
||||
if [[ "$DEPLOY_TYPE" == "docker-compose" ]]; then
|
||||
log_info "正在检测远程镜像版本..."
|
||||
|
||||
# 检查远程 auth.js 是否包含多账号检测逻辑
|
||||
MULTI_ACCOUNT_SUPPORT=$(ssh "$SERVER" "docker exec $DOCKER_SERVICE_NAME cat /app/auth.js 2>/dev/null | grep -c 'accounts.json' || echo 0" 2>/dev/null || echo "error")
|
||||
|
||||
if [[ "$MULTI_ACCOUNT_SUPPORT" == "error" || "$MULTI_ACCOUNT_SUPPORT" == "" ]]; then
|
||||
log_warn "无法检测镜像版本(容器可能未运行)"
|
||||
elif [[ "$MULTI_ACCOUNT_SUPPORT" == "0" ]]; then
|
||||
echo ""
|
||||
echo "══════════════════════════════════════════════════════════════"
|
||||
log_error "⚠️ 远程镜像版本过旧,不支持多账号功能!"
|
||||
echo "══════════════════════════════════════════════════════════════"
|
||||
echo ""
|
||||
log_info "请在服务器上执行以下命令更新镜像:"
|
||||
echo ""
|
||||
echo " cd $REMOTE_PATH"
|
||||
echo " git pull origin main"
|
||||
echo " docker compose build --no-cache"
|
||||
echo " docker compose up -d"
|
||||
echo ""
|
||||
log_info "更新完成后,重新运行本脚本同步配置。"
|
||||
echo ""
|
||||
read -p "是否继续同步配置?(不推荐) (y/N) " -n 1 -r
|
||||
echo ""
|
||||
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
|
||||
log_warn "已取消同步"
|
||||
exit 0
|
||||
fi
|
||||
else
|
||||
log_success "远程镜像支持多账号功能"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Step 2: 显示本地账号数量
|
||||
LOCAL_COUNT=$(jq '.accounts | length' "$LOCAL_FILE")
|
||||
log_info "本地现有 $LOCAL_COUNT 个账号"
|
||||
|
||||
Reference in New Issue
Block a user