Files
server-core/serverdata

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/uploadslogs/files/ 可按需保留。