提交图

4 次代码提交

作者 SHA1 备注 提交日期
徐勤民
4ff09ae768 feat(update): 完整重写热更新脚本,覆盖所有已知部署问题
Step 1 - CONSOLE_DOMAIN:检测裸 IP,交互提示输入公网域名
Step 2 - SDK URL:修复 xuqinmin.com 残留 / 内网 IP / 空值三种情形
Step 3 - SDK JSON:同步 xuqm-private-sdk.json
Step 4 - 宿主机 nginx WebSocket 头:
  · nginx -T 获取完整配置
  · Python3 精确定位代理到容器 nginx 的 location 块
  · 缺少 proxy_http_version 1.1 / Upgrade / Connection 时自动注入
  · 修改前备份 .xuqm.bak,nginx -t 失败自动回滚,成功后 nginx -s reload
  · 未发现代理配置时输出标准模板供参考
Step 5 - 拉取镜像(可选)
Step 6 - 重启 tenant-service + nginx
Step 7 - 等待 tenant-service 健康(最长 120s)
Step 8 - 自动处理积压 PENDING 服务开通申请
Step 9 - 全量验证

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 18:58:28 +08:00
徐勤民
7d8f916ea5 fix(update): 检测并修复 CONSOLE_DOMAIN 及 SDK URL 为内网 IP 的情况
- CONSOLE_DOMAIN 为私有 IP 段时提示用户输入正确的公网域名
- SDK_IM_WS_URL / SDK_IM_API_URL / SDK_FILE_SERVICE_URL 包含
  裸 IP(10.x / 172.x / 192.168.x / 127.x)时同样触发修复
- 提取 _url_needs_fix 辅助函数消除重复判断逻辑

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 18:49:50 +08:00
徐勤民
28fd8c0793 feat(update): upgrade 后自动调用 approve-pending-requests 修复积压申请
update.sh 在 tenant-service 健康后调用
POST /api/private/admin/approve-pending-requests
自动开通所有 PENDING 状态的服务申请,无需用户手动操作。

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 18:46:00 +08:00
徐勤民
a327a262dd feat(deploy): 移除 ops-web、修复 SDK URL 注入、新增一键升级
核心变更:
- 完全移除 ops-web 容器(私有化部署无需运营后台)
- nginx sub_filter 替换前端 JS bundle 中的公网 SDK URL
- deploy.sh 写入正确的 SDK_IM_WS_URL / SDK_IM_API_URL / SDK_FILE_SERVICE_URL
- 新增 scripts/update.sh:热更新脚本,修复配置 + 可选拉镜像 + 重启 + 验证
- 新增 upgrade.sh:一键升级入口,curl 下载后直接执行,流程同 install.sh
- install.sh 检测已有部署(.env 存在),自动路由到 update.sh 而非重跑向导
- 关键配置文件(.env / secrets.env / xuqm.env)在 tarball 解压前备份后恢复

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 18:25:12 +08:00