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/ 模板与全部运行时数据):
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/ 可按需保留。