跳到主要内容

🔄 迁移

将 LiteLLM 从内部迁移到外部

在 0.2 版本之前,Open WebUI 内部运行 litellm。为了提高模块化和灵活性,我们建议将 litellm 在其专属容器中运行。本指南将引导您完成迁移过程。

1. 下载 config.yaml 文件

在进行任何更改之前,请从 Open WebUI 管理设置窗口下载现有的 config.yaml 文件。该文件包含了您当前的 litellm 配置。

LiteLLM config.yaml 下载

2. 运行独立的 litellm 容器

使用以下 docker run 命令启动一个专用的 litellm 容器:

docker run -d \
-p 4000:4000 \
--name litellm \
-v ./config.yaml:/app/config.yaml \
-e LITELLM_MASTER_KEY=your_secret_key \
--restart always \
ghcr.io/berriai/litellm:main-latest \
--config /app/config.yaml --port 4000
  • ./config.yaml 替换为您实际下载的 config.yaml 文件路径。
  • 设置一个安全的 API 密钥作为 LITELLM_MASTER_KEY。这可以确保对您的 litellm 实例进行受控访问。

3. 将 litellm 连接到 Open WebUI

一旦 litellm 容器启动并运行:

  1. 前往 Open WebUI 设置。
  2. 在“连接”选项下,添加一个新的“OpenAI”连接。
  3. 将基础 URL 设置为 http://host.docker.internal:4000/v1(如有必要,请调整端口号)。
  4. 对于 API 密钥,使用您在步骤 2 中定义的 LITELLM_MASTER_KEY 值(例如 your_secret_key)。

恭喜!您已成功迁移到外部 litellm 设置,从而增强了 Open WebUI 安装的灵活性和可维护性。

从 Ollama WebUI 迁移内容到 Open WebUI

鉴于最近从 Ollama WebUI 更名为 Open WebUI,Docker 镜像名称也相应更改。对于那些以前使用 Ollama WebUI 并希望开始使用新镜像的用户,需要执行一些额外步骤。

更新至 Open WebUI 而不保留数据

如果您想更新到新的镜像但不想保留之前的任何数据(如对话、提示、文档等),可以执行以下步骤:

危险

执行这些步骤将删除所有当前配置选项、聊天记录等。仅保留 LLM 模型。

docker rm -f ollama-webui
docker pull ghcr.io/open-webui/open-webui:main
[插入您使用新 Docker 镜像名称时等效的安装命令]
docker volume rm ollama-webui

例如,本地安装的命令是 docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main。对于其他安装命令,请参阅此 README 文档的相关部分。

更新至 Open WebUI 并保留数据

如果您希望更新到新的镜像,并迁移所有之前的设置(如对话、提示、文档等),可以执行以下步骤:

docker rm -f ollama-webui
docker pull ghcr.io/open-webui/open-webui:main
# 创建一个新卷,并使用临时容器将一个卷的内容复制到另一个卷,具体方法见 https://github.com/moby/moby/issues/31154#issuecomment-360531460
docker volume create --name open-webui
docker run --rm -v ollama-webui:/from -v open-webui:/to alpine ash -c "cd /from ; cp -av . /to"
[插入您使用新 Docker 镜像名称时等效的安装命令]

一旦确认所有数据都已迁移,您可以使用以下命令删除旧卷:

docker volume rm ollama-webui

来自本地 Git 仓库

如果您是从一个 Git 安装项目来的,并且使用了 docker compose up 命令在项目目录中运行,那么您的卷名称将带有文件夹前缀。 因此,如果您的 OpenWebUI 路径是 /home/myserver/ollama-webui/,则卷名称将是 "ollama-webui_open-webui" 和 "ollama-webui_ollama"。

要将内容复制到常规的 Docker 安装中,您可以运行类似的迁移命令。在这种情况下,命令如下:

docker rm -f open-webui
docker rm -f ollama
docker pull ghcr.io/open-webui/open-webui:main
docker pull ghcr.io/open-webui/open-webui:ollama
docker volume create --name open-webui
docker volume create --name ollama
docker run --rm -v ollama-webui_open-webui:/from -v open-webui:/to alpine ash -c "cd /from ; cp -av . /to"
docker run --rm -v ollama-webui_ollama:/from -v ollama:/to alpine ash -c "cd /from ; cp -av . /to"

根据您是否安装了 ollama 或者已经使用相同的卷名称,某些命令可能会报错,但通常可以忽略这些错误,因为我们是在覆盖。

然后,按照入门指南中的说明正常启动两个容器。

一旦确认所有数据都已迁移,您可以使用上述 docker volume rm 命令删除旧卷。