XuqmGroup私有化部署仓库
转到文件
徐勤民 43a423b85c feat: 一键安装向导 + 交互式租户初始化
- 新增 install.sh:curl 一键下载依赖安装 + 自动解压部署包 + 启动部署向导
- deploy-szyx.sh:移除硬编码租户常量,改为交互式选择(新建/迁移)
  - 新建租户:收集邮箱/用户名/密码,bcrypt 写入 bootstrap.env
  - 迁移租户:提示输入生产 MySQL 配置,bcrypt 验证主账号后执行迁移
  - 已有数据时迁移前显示红色警告要求 yes 确认
- 移除 docs-site 独立容器(文档已内置于 tenant-web/docs/)
- nginx 和 docker-compose 同步清理 docs-site 残留配置

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 14:29:57 +08:00
.deploy-state chore: scaffold private deployment repository 2026-05-18 19:49:31 +08:00
config feat: 一键安装向导 + 交互式租户初始化 2026-05-19 14:29:57 +08:00
data chore: scaffold private deployment repository 2026-05-18 19:49:31 +08:00
docs feat: 数字医信一键部署脚本 + 文档整理 2026-05-19 08:01:19 +08:00
logs chore: scaffold private deployment repository 2026-05-18 19:49:31 +08:00
scripts feat: 一键安装向导 + 交互式租户初始化 2026-05-19 14:29:57 +08:00
templates chore: scaffold private deployment repository 2026-05-18 19:49:31 +08:00
.env.example chore: scaffold private deployment repository 2026-05-18 19:49:31 +08:00
.gitignore chore: scaffold private deployment repository 2026-05-18 19:49:31 +08:00
docker-compose.infra.yml feat: 一键安装向导 + 交互式租户初始化 2026-05-19 14:29:57 +08:00
docker-compose.yml feat: 一键安装向导 + 交互式租户初始化 2026-05-19 14:29:57 +08:00
image-manifest.json chore: scaffold private deployment repository 2026-05-18 19:49:31 +08:00
install.sh feat: 一键安装向导 + 交互式租户初始化 2026-05-19 14:29:57 +08:00
README.md feat: 数字医信一键部署脚本 + 文档整理 2026-05-19 08:01:19 +08:00
VERSION chore: scaffold private deployment repository 2026-05-18 19:49:31 +08:00

XuqmGroup Private Deploy

私有化部署仓库只负责客户环境交付,不包含业务源码和 demo 前后端。

快速开始

./scripts/configure.sh
vim .env
vim config/secrets.env
./scripts/install.sh --profile base
./scripts/healthcheck.sh

生产部署前必须完成:

  • 配置镜像仓库 REGISTRY 和版本 IMAGE_TAG
  • 选择 MySQL/Redis 模式:external 使用客户自备服务,managed 由脚本创建容器服务。
  • 配置控制台、文档站、文件、IM、Push、Update、License 域名。
  • 配置 SMTP、Push 厂商、应用市场发布凭据。
  • 确认证书和反向代理策略,默认 Nginx 配置只作为模板入口。

部署模式

MySQL、Redis 支持两种模式:

  • external:客户自备连接,脚本只校验连通性和权限。
  • managed:脚本新建服务,自动创建数据库、账号、密码和数据目录。

生产环境默认推荐 external/external

托管模式示例:

./scripts/install.sh --profile base --mysql-mode managed --redis-mode managed

外部模式示例:

./scripts/install.sh --profile base --mysql-mode external --redis-mode external

可选服务

  • base:基础控制台、运营平台、文档站、文件服务。
  • imIM HTTP / WebSocket。
  • push:厂商推送。
  • update版本管理、RN 热更新、应用市场自动发布。
  • licenseLicense 校验。

后期启用:

./scripts/enable-service.sh im
./scripts/enable-service.sh push
./scripts/enable-service.sh update
./scripts/enable-service.sh license

禁用服务只修改部署配置并停止对应容器,不删除数据:

./scripts/disable-service.sh im

租户迁移

将公有化平台的存量租户迁移到私有化部署(需源 MySQL 网络可达):

./scripts/migrate-tenant.sh \
  --src-host <生产MySQL地址> \
  --src-user <用户名> \
  --src-password '<密码>' \
  --tenant <租户邮箱或用户名>

--dry-run 只打印 SQL 不执行。详见 docs/runbook.md

注意事项

  • tenant-service 运行在容器内 9001 端口,nginx 代理必须指向该端口,不是 8080。
  • application.yml 中数据库 URL 硬编码了生产地址,私有化部署依赖 docker-compose.yml 中的 SPRING_DATASOURCE_* 覆盖,不能删除 environment: 节。
  • docs-site 镜像可选,不存在时 nginx 和 healthcheck 可正常工作warn 级别)。

接手入口

  • 实时部署进度:.deploy-state/progress.md
  • 最近运行状态:.deploy-state/current.json
  • 最近健康检查:.deploy-state/last-healthcheck.json
  • 脚本审计日志:logs/audit.log
  • 交付说明:docs/runbook.md
  • 配置说明:docs/configuration.md
  • 验收清单:docs/acceptance-checklist.md