Contents

Open WebUI Tutorial: Add a ChatGPT-Like Web Interface to Ollama

Terminal conversations are convenient, but sharing them with family or coworkers calls for a web interface. Open WebUI is one of the most popular open-source options. Its interface looks a lot like ChatGPT, and it has plenty of features:

  • Conversation history, switching between models, and Markdown and code display
  • Upload documents so the model can answer based on them (built-in RAG)
  • Multiple user accounts and permission management
  • Custom models (system prompts and parameters)
  • Supports Ollama and OpenAI-compatible APIs

If Ollama is already installed on your host:

docker run -d --name open-webui \
  -p 3000:8080 \
  --add-host=host.docker.internal:host-gateway \
  -v open-webui:/app/backend/data \
  --restart always \
  ghcr.io/open-webui/open-webui:main

Open http://localhost:3000. The account you create on the first visit becomes the administrator.

  • --add-host=host.docker.internal:host-gateway: Lets the container connect to Ollama on the host (required on Linux; Docker Desktop supports this name automatically).
  • -v open-webui:/app/backend/data: Saves accounts, conversation history, and settings.

To run both Ollama and Open WebUI with Docker, use the Compose example in Run Ollama with Docker.

Install with pip

If you don't want to use Docker (requires Python 3.11):

pip install open-webui
open-webui serve

The default URL is http://localhost:8080.

Can't connect to Ollama?

Go to Admin Settings → Connections and check the Ollama API URL:

SituationURL
Open WebUI is in Docker, Ollama is on the hosthttp://host.docker.internal:11434
Both are in the same Compose setuphttp://ollama:11434
Both are installed directly on the hosthttp://localhost:11434
Ollama is on another computerhttp://that-computer's-IP:11434 (set OLLAMA_HOST=0.0.0.0 on that computer)

On Linux, Ollama on the host listens only on 127.0.0.1 by default, so the container may not be able to connect. Set OLLAMA_HOST to 0.0.0.0 (and restrict external connections with a firewall), or run Open WebUI with --network host. In that case, use http://localhost:8080 as the URL.

Basic usage

  1. Select a model in the upper-left corner. Downloaded Ollama models appear automatically.
  2. Administrators can also enter a name directly in the model menu to download a new model (for example, qwen3:8b).
  3. Conversation history is saved in the left sidebar.

Ask questions about uploaded documents

Select + in the chat box to upload a PDF, Word document, or text file, then ask questions about its contents. Open WebUI automatically splits the text into chunks, generates embeddings, and retrieves relevant passages.

To use the same set of documents over time, create a knowledge base under Workspace → Knowledge and reference it with # during a conversation.

For better retrieval from Chinese documents, go to Admin Settings → Documents and switch the embedding model to a multilingual model (for example, use bge-m3 through Ollama). For an explanation of how this works, see Text embeddings and RAG.

Customize models

Under Workspace → Models → Create, you can configure any model with:

  • A system prompt (for example, “Always respond in Traditional Chinese”)
  • Parameters (temperature, context length)
  • A knowledge base to attach by default

Your custom model appears in every user's model menu, for example, “Customer Support Assistant” or “Code Review.”

Multiple users

  • Admin Settings → Users: New users are set to “Pending” by default after they register. They can use the service once an administrator approves them.
  • You can configure user groups and which models each group can use.
  • To let others on your local network use it, have them connect to http://your-computer-IP:3000.

Before making it available on the internet, put an HTTPS reverse proxy in front of it and disable public registration.

Update

docker pull ghcr.io/open-webui/open-webui:main
docker rm -f open-webui
# Recreate the container with your original docker run command; data in the Volume will be preserved

FAQs

The model list is empty

Open WebUI can't connect to Ollama. Check the URL as described above under “Can't connect to Ollama?” You can test it from inside the container:

docker exec open-webui curl -s http://host.docker.internal:11434/api/tags

Responses are slow

Open WebUI is only the interface. Speed depends on Ollama and your hardware. See GPU and performance tuning.

Forgot the administrator password

The administrator password is stored in the database in the Volume. The easiest method is to have another administrator reset it. If you have only one administrator, see the password reset instructions in the official Open WebUI documentation.

Updated October 12, 2026