Lore

备份与恢复

默认每天备份,可存本地或 WebDAV,以及如何安全地使用备份。

导入出错、清理有风险,或者对某次 Dream 运行不满意时,备份能帮你把记忆恢复回来。Lore 默认每晚自动备份一次。

默认设置

Lore 每天 04:00 备份记忆,并保留最新的 7 份备份。

设置默认值作用
backup.enabled开启执行定时备份。
backup.cron0 4 * * *用 5 段 cron 表达式设置备份时间,时区与 Dream 相同。
backup.retention_count7保留最新的 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

  1. 在 WebDAV 服务器上创建一个只供 Lore 使用的文件夹。保留策略会删除该文件夹中更旧的 lore-backup-*.json 文件。
  2. 在 设置 → 数据备份 中开启 WebDAV 备份,然后填写 WebDAV URL(例如 https://dav.example.com/backups/)、WebDAV 用户名 和 WebDAV 密码。
  3. 选择 立即备份,然后确认新文件出现在该文件夹中。

请使用 https:// 地址,因为 Lore 会在每次请求中发送用户名和密码。保存密码之后,Lore 不会再次显示它。

在 Loremem 云服务中,请在 上传到 WebDAV 下填写相同的内容。

额外备份

定时备份已经覆盖日常使用。在以下操作之前,请额外备份一次:

  • 任何导入,包括导入到 Loremem 云服务
  • 大规模清理,例如合并、拆分、移动或删除大量节点
  • 尚未审阅的 Dream 运行,或在开启定时 Dream 之前
  • 服务器迁移、升级或数据库变更
  • 切换嵌入模型,因为这会重建记忆索引

在自托管服务器上,选择 立即备份,再选择 导出下载,并把文件保存在服务器之外。

Loremem 云服务的 备份 标签页没有立即备份的按钮。请开启 上传到 WebDAV,让每次定时备份都写入你能控制的存储,并在最近一次定时备份完成之后再做变更。

测试恢复

从未恢复过的备份,等于未经测试。请在真正需要之前先测试恢复:

  1. 在独立环境中启动第二个 Lore 服务,例如在另一台机器或另一个端口上全新安装 Docker 版本。不要在生产服务器上测试。
  2. 在 设置 → 备份操作 中选择 导入恢复,选中备份 JSON 文件,然后确认。
  3. 在 设置 → Embedding 服务 中选择 重建索引。恢复不会复制记忆视图和搜索索引,因此需要这一步来重建它们。
  4. 打开 记忆 页面,找到几条你熟悉的节点。然后在 召回 页面运行两到三条查询。
  5. 要检查文件,可对它执行 tail -c 400。文件末尾有一个 stats 对象,列出每张表的行数。

注意

恢复会替换服务器上的全部当前数据,包括设置。请先在单独的服务器上测试,并在恢复到目标服务器之前为它重新做一份备份。

恢复

  • 要恢复 备份操作 中列出的备份,请选择其所在行的 恢复。
  • 要恢复一个文件,请选择 导入恢复,然后选中一个 lore-backup-v1 JSON 文件。你可以使用导出的文件,也可以使用从备份文件夹或 WebDAV 复制出来的文件。

确认对话框的内容为“确认恢复?这将替换所有当前数据。”。默认备份不包含召回事件。备份中没有召回事件时,恢复会保留你现有的召回事件。随后,按照上面的测试步骤运行 重建索引。

要把备份迁入 Loremem 云服务,请改用 安装 页面上的导入功能。参见 导入自托管备份。Loremem 云服务的导入会替换当前项目的记忆,并跳过设置、Dream 运行记录、召回分析和生成的 embedding。