XuqmGroup-PrivateDeploy/docs/runbook.md

59 行
1.7 KiB
Markdown

# 私有化部署运行手册
## 目标
本仓库用于客户私有环境交付,只编排已有 Docker 镜像,不包含业务源码、不构建 demo 服务。
## 标准流程
1. 执行 `./scripts/configure.sh` 生成 `.env``config/secrets.env`
2. 修改 `.env`镜像仓库、镜像版本、域名、可选服务、MySQL/Redis 模式。
3. 修改 `config/secrets.env`数据库密码、Redis 密码、SMTP 密码等敏感配置。
4. 修改 `config/mail/smtp.env`、`config/vendors/*.env`。
5. 执行 `./scripts/install.sh --profile base` 部署基础服务。
6. 按需执行 `./scripts/enable-service.sh im|push|update|license` 启用可选服务。
7. 执行 `./scripts/healthcheck.sh` 并检查 `.deploy-state/last-healthcheck.json`
## MySQL/Redis 模式
`external` 模式:
- 客户提供连接地址、账号、密码、数据库名。
- 部署脚本只使用连接配置,不启动新服务。
- 生产默认使用该模式。
`managed` 模式:
- 部署脚本通过 Docker Compose 启动 MySQL/Redis。
- 密码为空或为 `change-me` 时自动生成并写入 `config/secrets.env`
- 数据目录写入 `data/mysql``data/redis`
## 可选服务
`im`、`push`、`update`、`license` 均可不部署,后期独立启用。
启用命令:
```bash
./scripts/enable-service.sh im
./scripts/install.sh --profile base,im
```
禁用命令:
```bash
./scripts/disable-service.sh im
```
禁用服务不会删除数据,重新启用后继续使用原配置和数据目录。
## 接手规则
任何 agent 开始执行前必须先查看:
- `.deploy-state/progress.md`
- `.deploy-state/current.json`
- `logs/audit.log`
执行关键步骤后必须追加进度,确保中断后可继续。