docs/docs/migration.mdx
Timothy J. Baek ea54a4bbac doc: our team
2024-06-04 13:29:12 -07:00

88 lines
3.7 KiB
Plaintext

---
sidebar_position: 650
title: "🔄 Migration"
---
import { TopBanners } from "@site/src/components/TopBanners";
<TopBanners />
## Migrating from Internal to External LiteLLM
Previous versions of Open WebUI ran `litellm` internally. To improve modularity and flexibility, we recommend running `litellm` in its own dedicated container. This guide will walk you through the migration process.
### 1. Download Your `config.yaml` File
Before making any changes, download your existing `config.yaml` file from the Open WebUI Admin Settings window. This file contains your current `litellm` configuration.
![LiteLLM config.yaml Download](/img/migration_litellm_config.png)
### 2. Run a Standalone `litellm` Container
Use the following `docker run` command to launch a dedicated `litellm` container:
```bash
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
```
- Replace `./config.yaml` with the actual path to the downloaded `config.yaml` file.
- Set a secure API key for `LITELLM_MASTER_KEY`. This ensures controlled access to your `litellm` instance.
### 3. Connect `litellm` to Open WebUI
Once the `litellm` container is up and running:
1. Go to the Open WebUI settings.
2. Under "Connections," add a new "OpenAI" connection.
3. Set the Base URL to `http://host.docker.internal:4000/v1` (adjust the port if necessary).
4. For the API Key, use the `LITELLM_MASTER_KEY` value you defined in step 2 (e.g., `your_secret_key`).
Congratulations! You've successfully migrated to an external `litellm` setup, enhancing the flexibility and maintainability of your Open WebUI installation.
## Migrating your contents from Ollama WebUI to Open WebUI
Given recent name changes from [Ollama WebUI to Open WebUI](https://github.com/open-webui/open-webui/discussions/602), the docker image has been renamed. Additional steps are required to update for those people that used Ollama WebUI previously and want to start using the new images.
## Updating to Open WebUI without keeping your data
If you want to update to the new image but don't want to keep any previous data like conversations, prompts, documents, etc. you can perform the following steps:
:::danger
Performing these steps will erase all your current configuration options, chat history, etc. Only LLM Models will be preserved
:::
```bash
docker rm -f ollama-webui
docker pull ghcr.io/open-webui/open-webui:main
[insert the equivalent command that you used to install with the new Docker image name]
docker volume rm ollama-webui
```
For example, for local installation it would be `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`. For other installation commands, check the relevant parts of this README document.
If you want to update to the new image migrating all your previous settings like conversations, prompts, documents, etc. you can perform the following steps:
```bash
docker rm -f ollama-webui
docker pull ghcr.io/open-webui/open-webui:main
# Creates a new volume and uses a temporary container to copy from one volume to another as per 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"
[insert the equivalent command that you used to install with the new Docker image name]
```
Once you verify that all the data has been migrated you can erase the old volume using the following command:
```bash
docker volume rm ollama-webui
```