导出和导入数据库
本教程是由社区贡献的,不属于 Open WebUI 团队的支持范围。它仅作为如何针对特定用例自定义 Open WebUI 的演示。想要贡献?请查看贡献教程。
如果您需要将 Open WebUI 数据(例如聊天记录、配置等)从一台服务器迁移到另一台服务器,或将其备份以供将来使用,您可以导出和导入数据库。本指南假设您运行的是使用内部 SQLite 数据库(而非 PostgreSQL)的 Open WebUI。
请按照以下步骤导出和导入包含您数据库的 webui.db 文件。
导出数据库
从当前的 Open WebUI 实例中导出数据库:
-
使用
docker cp复制数据库文件:webui.db文件位于容器内的/app/backend/data目录下。运行以下命令将其复制到本地机器:docker cp open-webui:/app/backend/data/webui.db ./webui.db -
将导出的文件传输到新服务器: 您可以使用 FileZilla 或您选择的任何其他文件传输工具将
webui.db文件移动到新服务器。info推荐使用 FileZilla,因为它在将文件传输到新服务器时非常易于使用。
导入数据库
将 webui.db 文件移动到新服务器后,请按照以下步骤操作:
-
在新服务器上安装并运行 Open WebUI: 使用 Docker 容器设置并运行 Open WebUI。按照 🚀 入门指南 中提供的说明安装并启动 Open WebUI 容器。运行后,在执行导入步骤之前将其停止。
docker stop open-webui -
使用
docker cp将数据库文件复制到容器中: 假设导出的webui.db文件位于当前工作目录中,请将其复制到容器内:docker cp ./webui.db open-webui:/app/backend/data/webui.db -
启动 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 的迁移或备份过程。请记住您正在使用的数据库格式以确保兼容性。
相关指南
- SQLite 数据库概述 - 详细的数据库架构和 SQLCipher 加密设置
- 备份 - 针对您的实例的全面备份策略