XuqmGroup私有化部署仓库
- 添加检查nginx运行状态逻辑 - 在nginx未运行时自动启动服务 - 防止因--remove-orphans时序问题导致的nginx停止 - 确保部署完成后nginx正常运行 |
||
|---|---|---|
| config | ||
| data | ||
| docs | ||
| logs | ||
| scripts | ||
| templates | ||
| .env.example | ||
| .gitignore | ||
| CHANGELOG.md | ||
| docker-compose.infra.yml | ||
| docker-compose.yml | ||
| image-manifest.json | ||
| install.sh | ||
| README.md | ||
| upgrade.sh | ||
| VERSION | ||
XuqmGroup 私有化部署
快速开始
首次部署
curl -fsSL https://xuqinmin.com/xuqmGroup/XuqmGroup-PrivateDeploy/raw/branch/main/install.sh \
-o install.sh && bash install.sh
交互式向导依次完成:依赖检测 → 配置生成 → 镜像拉取 → 容器启动 → 租户初始化 → 全量验证。
升级已有部署
curl -fsSL https://xuqinmin.com/xuqmGroup/XuqmGroup-PrivateDeploy/raw/branch/main/upgrade.sh \
-o upgrade.sh && bash upgrade.sh
保留全部数据和配置,自动修复已知配置问题,可选拉取新镜像,完成后运行全量验证。
容器异常重置
bash scripts/reset.sh
适用于:nginx 502、服务 crash-loop、密码注入错误、升级后镜像未生效。保留数据和配置,彻底重建所有容器。
脚本说明
| 脚本 | 适用场景 |
|---|---|
install.sh |
全新服务器首次部署;或彻底清除数据重装 |
upgrade.sh |
保留数据,更新部署脚本和镜像(推荐日常升级方式) |
scripts/reset.sh |
保留数据,容器状态异常时快速重建恢复 |
scripts/update.sh |
在安装目录内执行的局部升级(由 upgrade.sh 调用) |
scripts/verify.sh |
随时重新运行全量验证 |
scripts/backup.sh |
备份数据 |
scripts/restore.sh |
恢复备份 |
部署架构
上层 nginx(任意层级,HTTPS / 域名)
│
└── 本机 IP:80 内置 nginx 容器(统一入口)
│
├── tenant-service /api/ /actuator/
├── file-service /file/
├── tenant-web /(兜底)
├── im-service /api/im/ /ws/im
├── update-service /api/v1/updates/ /api/v1/rn/
├── license-service /api/license/
└── push-service (厂商回调,按需)
内置 nginx 容器直接绑定宿主机 0.0.0.0:80,宿主机无需配置 nginx,上层 nginx 直接 proxy_pass 到本机 IP 即可。各业务容器(11224–11231)绑定 127.0.0.1,仅用于本地调试。
租户初始化方式
安装脚本启动后交互式选择:
- 新建租户:填写邮箱、用户名、密码,首次启动自动创建
- 迁移租户:在公有化平台安全中心生成迁移密钥(
pmk_开头),粘贴后自动完成导入
服务说明
| Profile | 服务 | 说明 |
|---|---|---|
| base | tenant-service, file-service, tenant-web, nginx | 必选核心服务(含内置路由 nginx) |
| infra-mysql | mysql | 托管数据库 |
| infra-redis | redis | 托管缓存 |
| im | im-service | IM HTTP + WebSocket |
| push | push-service | 厂商推送 |
| update | update-service | 版本管理 + RN 热更新 |
| license | license-service | License 校验 |
# 后期启用 / 禁用可选服务
bash scripts/enable-service.sh im
bash scripts/disable-service.sh im
注意事项
- 上层 nginx 每一层都必须透传
Upgrade/Connection头,否则 IM WebSocket 会断开,详见 docs/runbook.md - 宿主机本身无需配置 nginx