Files
server-core/serverdata/README.md
T

46 lines
2.3 KiB
Markdown
Raw Normal View History

# serverdata —— 运行时数据目录
server-core 的全部**运行时数据**落盘目录。容器部署时由 `serverrun/docker-compose.yml`
按子目录挂载卷持久化;镜像内保留 `seed/``prompts/` 模板(构建时 COPY,不被卷覆盖)。
## 子目录用途
| 路径 | 用途 | 入库策略 |
|---|---|---|
| `seed/` | 首次启动种子数据(JSON 等,代码初始化依赖) | ✅ 提交(模板) |
| `prompts/` | 提示词模板(智能客服等) | ✅ 提交(模板) |
| `data/` | SQLite 数据库文件(`*.db`)及 JSON 运行时数据 | ❌ 忽略(.gitignore |
| `logs/` | 运行日志 | ❌ 忽略 |
| `files/` | 通用文件 | ❌ 忽略 |
| `keys/` | **密钥文件(微信支付证书等,敏感)** | ❌ 忽略 |
| `uploads/` | 运行时上传(头像等) | ❌ 忽略 |
| `park/` | 园区子应用运行时数据(SQLite 多租户库/媒体/大屏) | ❌ 忽略 |
| `backup/` | 备份产物 | ❌ 忽略 |
## 依赖说明
- **密钥依赖**`keys/` 内的证书/私钥文件由 `PINEAGENTS_WECHATPAY_*``PINEAGENTS_WX_SP_*`
等环境变量(路径)引用;容器部署时挂载 `deploy/data/server-core/keys` 后填入。
- **种子依赖**`seed/` 由应用 lifespan 首次启动时读取初始化(类似 `data/seed/` 机制),
缺失时应用会报"无种子数据"类错误,勿删除。
- **数据库依赖**`data/*.db` 为 SQLite 回退库;MySQL 为主库(`PINEAGENTS_MYSQL_*` 配置)。
- **模板依赖**`prompts/` 为运行期读取的提示词模板,修改后需重启服务生效。
## 容器部署挂载(serverrun/docker-compose.yml
**整个 `serverdata/` 目录挂载到容器内 `/app/serverdata`**(含 seed/、prompts/ 模板与全部运行时数据):
```yaml
volumes:
- ../serverdata:/app/serverdata # serverrun 编排中 opc-server 的挂载
- ../uploads:/app/uploads
```
> 采用整体挂载后,`seed/`、`prompts/` 以宿主机(git 管理)为准,修改后重启容器即生效,
> 无需重建镜像;`keys/`、`uploads/`、`data/` 等运行时数据同样持久化在宿主机。
## 备份建议
备份只需覆盖挂载目录:`deploy/data/server-core/{data,keys,uploads,park}`
`deploy/data/uploads``logs/``files/` 可按需保留。