提交图

6 次代码提交

作者 SHA1 备注 提交日期
徐勤民
2a250e79a0 refactor(deploy): 去除内置 nginx,各服务暴露宿主机端口,末尾输出 nginx 配置参考
私有化部署场景下用户通常有自己的 nginx,内置 nginx 容器会占用 80/443
与宿主机冲突,且域名/HTTPS 交互配置对用户是噪音。

- docker-compose.yml: nginx 容器改为 profile=nginx-bundled(默认不启动)
  各业务容器增加 ports 暴露宿主机端口(9001/8086/8082/8083/8084/8085/8080/8081)
- deploy.sh: 去除 域名/HTTPS/certbot 交互,改为询问一个外部访问地址(用于 SDK 配置)
  健康检查和 import API 直接打 127.0.0.1:9001,不再依赖 nginx 容器
  末尾输出端口表和可直接复制的 nginx location 配置参考

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 15:30:55 +08:00
徐勤民
60aeb61433 fix(deploy): 迁移/新建租户后同步写入 app_licenses,修复 license 404
importData API 只写 t_tenant/t_app/t_feature_service,不写 license-service
的 app_licenses 表,导致前端 /api/license/admin/apps/:appKey 返回 404。

在 deploy.sh 的迁移和新建两个分支中,import 成功后直接对同一 MySQL 执行
INSERT ... ON DUPLICATE KEY UPDATE,为所有非系统应用补写 app_licenses 记录。

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 12:11:19 +08:00
徐勤民
d2599a0c1e fix(nginx): WebSocket trailing slash, 413 on file upload, domain+HTTPS support
- nginx: /ws/im/ → /ws/im (trailing slash broke ?token= WebSocket connections)
- nginx: add /api/file/ location before /api/ with 500m limit (fixes 413)
- deploy.sh: default DEPLOY_HOST to localhost instead of 127.0.0.1
- deploy.sh: add interactive domain/HTTPS configuration step (0c)
  - optional custom domain with validation
  - optional HTTPS via Let's Encrypt certbot (standalone, before nginx starts)
  - generates SSL nginx config (two-server-block) and docker-compose.override.yml
  - SDK_IM_WS_URL and imWsUrl use _WS_SCHEME (ws/wss) based on protocol
- deploy.sh: add info() helper function

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 18:12:48 +08:00
徐勤民
54f4d2a06f fix(deploy): correct import API path + show actual error on failure
- /api/private/migrate/import → /api/private/deployment/migrate/import
- replace -sf with -s + HTTP status check to surface real error message

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 16:07:47 +08:00
徐勤民
1dca34de5a fix(deploy): remove self-copy of nginx conf; show migration key input
- cp nginx conf to itself caused error; file is already in place
- migration key prompt changed from silent to visible (read -rp)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 15:42:35 +08:00
徐勤民
a6a81b0755 feat(deploy): generic deploy.sh with API-based tenant migration
- Rename deploy-szyx.sh → deploy.sh, remove all customer-specific branding
- Migrate mode: prompt for pmk_ key, call public platform export API,
  pipe to private import API — no MySQL credentials needed
- Remove bcrypt dependency (no longer used in script logic)
- Update install.sh and verify.sh references

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 15:14:23 +08:00