跳到主要内容

📦 导出和导入数据库

如果您需要将 Open WebUI 数据(例如聊天记录、配置等)从一台服务器迁移到另一台服务器,或备份以供将来使用,您可以导出和导入数据库。本指南假设您正在使用内部的 SQLite 数据库运行 Open WebUI(而不是 PostgreSQL)。

按照以下步骤导出和导入包含数据库的 webui.db 文件。


导出数据库

从当前 Open WebUI 实例导出数据库:

  1. 使用 docker cp 复制数据库文件
    webui.db 文件位于容器中的目录 /app/backend/data 中。运行以下命令将其复制到您的本地机器:

    docker cp open-webui:/app/backend/data/webui.db ./webui.db
  2. 将导出的文件传输到新服务器
    您可以使用 FileZilla 或任何其他文件传输工具将 webui.db 文件移动到新服务器。

    信息

    推荐使用 FileZilla,因为它在传输文件到新服务器时操作简单。


导入数据库

webui.db 文件移动到新服务器后,请按照以下步骤操作:

  1. 在新服务器上安装并运行 Open WebUI
    使用 Docker 容器设置并运行 Open WebUI。按照🚀 入门指南中的说明安装并启动 Open WebUI 容器。启动后,在执行导入步骤之前停止容器。

    docker stop open-webui
  2. 使用 docker cp 将数据库文件复制到容器
    假设导出的 webui.db 文件位于您的当前工作目录中,将其复制到容器中:

    docker cp ./webui.db open-webui:/app/backend/data/webui.db
  3. 启动 Open WebUI 容器
    再次启动容器以使用导入的数据库。

    docker start open-webui

    新服务器现在应该运行着带有您导入数据库的 Open WebUI。


注意事项

  • 此导出/导入过程**仅适用于使用内部 SQLite 数据库 (webui.db)**的情况。
  • 如果您使用的是外部 PostgreSQL 数据库,则此方法不适用,因为数据库是在容器外部管理的。对于 PostgreSQL,您需要遵循 PostgreSQL 特定工具和程序来备份和恢复数据库。

为什么重要

这种方法特别实用场景包括:

  • 将您的 Open WebUI 数据迁移到新服务器或机器。
  • 在更新或修改之前创建数据备份。
  • 在多个服务器上使用相同设置测试 Open WebUI。
# 导出和导入的快速命令概览
# 导出:
docker cp open-webui:/app/backend/data/webui.db ./webui.db

# 在新服务器上停止容器:
docker stop open-webui

# 导入:
docker cp ./webui.db open-webui:/app/backend/data/webui.db

# 启动容器:
docker start open-webui

通过这些步骤,您可以轻松管理 Open WebUI 的迁移或备份过程。请根据您使用的数据库格式确保兼容性。