备份与恢复
默认每天备份,可存本地或 WebDAV,以及如何安全地使用备份。
导入出错、清理有风险,或者对某次 Dream 运行不满意时,备份能帮你把记忆恢复回来。Lore 默认每晚自动备份一次。
默认设置
Lore 每天 04:00 备份记忆,并保留最新的 7 份备份。
| 设置 | 默认值 | 作用 |
|---|---|---|
backup.enabled | 开启 | 执行定时备份。 |
backup.cron | 0 4 * * * | 用 5 段 cron 表达式设置备份时间,时区与 Dream 相同。 |
backup.retention_count | 7 | 保留最新的 N 份备份,删除更旧的备份。 |
backup.local.enabled | 开启 | 在服务器上保存备份文件。 |
backup.webdav.enabled | 关闭 | 把每份备份上传到 WebDAV 服务器。 |
backup.include_recall_events | 关闭 | 包含召回事件,数据量可能很大。本地备份和 导出下载 不包含召回事件,因此该设置只作用于 WebDAV 上传。 |
在自托管服务器上,这些设置位于 设置 → 数据备份,标签包括 定时备份、保留备份数量、本地备份、WebDAV 备份 和 包含召回事件。在 Loremem 云服务中,请使用 设置 → 备份,对应选项为 启用定时备份、备份 Cron、本地保留数量、保存本地备份文件、包含召回事件 和 上传到 WebDAV。
自托管备份存放在哪里
每份备份都是一个 JSON 文件,文件名形如 lore-backup-2026-10-15-04-00-00.json,时间戳为 UTC。Lore 把文件写入快照数据目录中的 backups 文件夹:
- Docker Compose:
.env中的SNAPSHOT_DATA_DIR设置宿主机目录,默认为./data/snapshots,容器内看到的路径是/app/snapshots。备份位于./data/snapshots/backups/。 - CLI 安装:Compose 项目位于
~/.lore/docker,因此备份位于~/.lore/docker/data/snapshots/backups/。 - Portainer 的 compose 文件:默认宿主机目录为
./data/web/snapshots。
每次备份之后,Lore 都会删除超出 backup.retention_count 的最旧本地文件。如果备份需要在磁盘故障后保留,请把它们复制到服务器之外。
立即备份
在自托管服务器上,打开 设置 → 备份操作。
- 立即备份 会马上运行备份任务。若已开启本地备份,它会写入一个本地文件;若已开启 WebDAV,还会上传到 WebDAV;并应用保留数量。
- 导出下载 会把
lore-backup-<时间戳>.json文件保存到你的电脑。它不包含召回事件。 - 导入恢复 从你选择的 JSON 文件恢复。参见下文“恢复”。
- 表格列出最近 10 份本地备份。每一行都有一个 恢复 按钮。
配置 WebDAV
- 在 WebDAV 服务器上创建一个只供 Lore 使用的文件夹。保留策略会删除该文件夹中更旧的
lore-backup-*.json文件。 - 在 设置 → 数据备份 中开启 WebDAV 备份,然后填写 WebDAV URL(例如
https://dav.example.com/backups/)、WebDAV 用户名 和 WebDAV 密码。 - 选择 立即备份,然后确认新文件出现在该文件夹中。
请使用 https:// 地址,因为 Lore 会在每次请求中发送用户名和密码。保存密码之后,Lore 不会再次显示它。
在 Loremem 云服务中,请在 上传到 WebDAV 下填写相同的内容。
额外备份
定时备份已经覆盖日常使用。在以下操作之前,请额外备份一次:
- 任何导入,包括导入到 Loremem 云服务
- 大规模清理,例如合并、拆分、移动或删除大量节点
- 尚未审阅的 Dream 运行,或在开启定时 Dream 之前
- 服务器迁移、升级或数据库变更
- 切换嵌入模型,因为这会重建记忆索引
在自托管服务器上,选择 立即备份,再选择 导出下载,并把文件保存在服务器之外。
Loremem 云服务的 备份 标签页没有立即备份的按钮。请开启 上传到 WebDAV,让每次定时备份都写入你能控制的存储,并在最近一次定时备份完成之后再做变更。
测试恢复
从未恢复过的备份,等于未经测试。请在真正需要之前先测试恢复:
- 在独立环境中启动第二个 Lore 服务,例如在另一台机器或另一个端口上全新安装 Docker 版本。不要在生产服务器上测试。
- 在 设置 → 备份操作 中选择 导入恢复,选中备份 JSON 文件,然后确认。
- 在 设置 → Embedding 服务 中选择 重建索引。恢复不会复制记忆视图和搜索索引,因此需要这一步来重建它们。
- 打开 记忆 页面,找到几条你熟悉的节点。然后在 召回 页面运行两到三条查询。
- 要检查文件,可对它执行
tail -c 400。文件末尾有一个stats对象,列出每张表的行数。
注意
恢复会替换服务器上的全部当前数据,包括设置。请先在单独的服务器上测试,并在恢复到目标服务器之前为它重新做一份备份。
恢复
- 要恢复 备份操作 中列出的备份,请选择其所在行的 恢复。
- 要恢复一个文件,请选择 导入恢复,然后选中一个
lore-backup-v1JSON 文件。你可以使用导出的文件,也可以使用从备份文件夹或 WebDAV 复制出来的文件。
确认对话框的内容为“确认恢复?这将替换所有当前数据。”。默认备份不包含召回事件。备份中没有召回事件时,恢复会保留你现有的召回事件。随后,按照上面的测试步骤运行 重建索引。
要把备份迁入 Loremem 云服务,请改用 安装 页面上的导入功能。参见 导入自托管备份。Loremem 云服务的导入会替换当前项目的记忆,并跳过设置、Dream 运行记录、召回分析和生成的 embedding。