Files
beige/docs/ops/runbook.md
yangqianqian df1856d793 上线版: 产品表单统一+form嵌套修复+用户管理+部署+三套叙事
- 产品编辑入口统一走 ProductFormFull(卖点/风格/人群/品牌词全字段);
  修复开任务页 <form> 套 <form> 致"编辑产品"报错、改不了、跳回首个产品
- dashboard 入口卡片对齐实际路由: 系统管理(/config) 与 工作配置(/settings) 分开;
  settings ?tab=products 直达改用挂载后读 URL, 消除 hydration mismatch
- 新增用户管理(users API/admin service/改密页) + alembic 022/023/024
- 上线部署: Dockerfile / docker-compose.prod+https / nginx https / .env.example
- A8 三套正交叙事(痛点/场景/成分背书) + beige 调色去AI化 + 飞轮 text_import 高权重信号

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 18:08:13 +08:00

75 lines
1.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Clover 运维手册
## 部署
1. 复制 `.env.example``.env`
2. 填写 `FERNET_KEY``JWT_SECRET`、数据库密码、域名、AI provider base URL。
3. 如果前端和 API 走同一个 nginx 域名,`NEXT_PUBLIC_API_BASE_URL``NEXT_PUBLIC_SSE_BASE_URL` 保持空;如果前后端分域,填公网 API 域名,并且每次修改后必须重新 build 前端镜像。
4. 内测 HTTP 启动:
```bash
docker compose -f docker-compose.prod.yml --env-file .env up -d --build
```
5. 正式 HTTPS 启动前置条件:
- 域名已经解析到服务器公网 IP。
- 证书文件放在 `certs/fullchain.pem``certs/privkey.pem`
- `.env``CORS_ALLOW_ORIGINS` 填真实 HTTPS 域名。
```bash
docker compose -f docker-compose.prod.yml -f docker-compose.https.yml --env-file .env up -d --build
```
6. 查看状态:
```bash
docker compose -f docker-compose.prod.yml ps
curl http://127.0.0.1/health
```
HTTPS 模式验证:
```bash
docker compose -f docker-compose.prod.yml -f docker-compose.https.yml ps
curl -I https://<domain>/health
```
## 更新
```bash
git fetch --tags
git checkout <delivery-tag>
docker compose -f docker-compose.prod.yml --env-file .env up -d --build
```
## 回滚
```bash
git checkout <previous-delivery-tag>
docker compose -f docker-compose.prod.yml --env-file .env up -d --build
```
## 备份
```bash
cd backend
MYSQL_USER=clover MYSQL_PASSWORD='<password>' MYSQL_DB=clover sh scripts/backup.sh
```
备份内容包括 MySQL、MongoDB、uploads。
## 密钥
- `FERNET_KEY` 必须备份,丢失后客户 API Key 需要重新录入。
- `JWT_SECRET` 轮换会让所有登录态失效。
- 服务器 `.env` 可放测试公共 key客户自购 key 应在工作台由客户自己录入。
## 日志
```bash
docker compose -f docker-compose.prod.yml logs -f api
docker compose -f docker-compose.prod.yml logs -f worker
docker compose -f docker-compose.prod.yml logs -f nginx
```