XuqmGroup私有化部署仓库
- upgrade.sh/rollback.sh: backup→pull→rolling restart→healthcheck→auto-rollback - backup.sh/restore.sh: mysqldump+redis BGSAVE+config tar, SHA256 manifest, restore with checksum verification - healthcheck.sh: Docker/container/MySQL/Redis/HTTP/disk checks, JSON output to .deploy-state/ - doctor.sh: sanitized diagnostics archive, vendor API TCP connectivity, cert expiry - export-offline-bundle.sh: docker pull+save for all profile images, load-images.sh, SHA256 - configure.sh: interactive/non-interactive mode, MySQL/Redis mode selection, domain prompts - enable-service.sh: domain validation, docker pull + compose up, healthcheck - disable-service.sh: compose stop+rm, profile removal, render-config - renew-cert.sh: acme.sh/certbot, --dry-run, backup old cert, nginx reload on success - alert-webhook.sh: WeCom/DingTalk/Feishu webhook, message sanitization - bench.sh: ab/wrk/curl benchmark, JSON report with docker stats - rotate-secrets.sh: JWT and internal token rotation - vendor credential templates: push.env and store-submit.env with full credential comments - render-config.sh: auto-sync SDK URL env vars (SDK_FILE_SERVICE_URL, SDK_IM_API_URL, SDK_IM_WS_URL) - All scripts pass bash -n syntax check Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .deploy-state | ||
| config | ||
| data | ||
| docs | ||
| logs | ||
| scripts | ||
| templates | ||
| .env.example | ||
| .gitignore | ||
| docker-compose.infra.yml | ||
| docker-compose.yml | ||
| image-manifest.json | ||
| README.md | ||
| VERSION | ||
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:基础控制台、运营平台、文档站、文件服务。im:IM HTTP / WebSocket。push:厂商推送。update:版本管理、RN 热更新、应用市场自动发布。license:License 校验。
后期启用:
./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
接手入口
- 实时部署进度:
.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