# 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/` 可按需保留。