Llms

Setting Up Ollama With Open WebUI — A Local ChatGPT Alternative

Published 2026-07-20 ~444 words Tags: ollama, open-webui, self-hosting, docker

Open WebUI (formerly Ollama WebUI) gives you a ChatGPT-style interface for your local LLMs. Combined with Ollama, it's the closest you can get to a self-hosted equivalent of ChatGPT or Claude.

The Stack

Ollama (model server)  ←  Open WebUI (frontend)  ←  Browser
     ↕
Local GPUs / CPU

Installation

The easiest way is with Docker:

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

If Ollama is on the same machine (port 11434), Open WebUI auto-discovers it. If Ollama is on another machine, set:

docker run -d -p 3000:8080 \
  -e OLLAMA_BASE_URL=http://your-server:11434 \
  -v open-webui:/app/backend/data \
  --name open-webui \
  --restart always \
  ghcr.io/open-webui/open-webui:main

First Login

Open http://localhost:3000. Create an admin account — this is local auth, no email needed. After signup, you'll see the chat interface with all your downloaded Ollama models available in the dropdown.

Key Features

Model switching. Change models mid-conversation from the dropdown. Good for starting with a fast model and switching to a smarter one for complex questions.

RAG (Retrieval-Augmented Generation). Upload documents (PDF, txt, md) and Open WebUI chunks them into a vector store. The model answers based on your documents. No separate vector DB needed — it uses ChromaDB under the hood.

Code syntax highlighting. Responses with code blocks get proper highlighting. Languages auto-detect.

Prompt templates. Save reusable prompts as templates. Works well for system prompts you use frequently.

Multi-user. Other people on your network can create accounts at http://your-ip:3000/auth. Each user has their own chat history.

Advanced Config

Custom model parameters. In Settings → Model, you can set default temperature, top_p, and context length per model.

Web search. Connect a SearXNG instance to give the models web search ability. Set the URL in Admin Settings → Web Search.

Multi-modal. If you have LLaVA or another vision model loaded in Ollama, Open WebUI lets you upload images and ask questions about them.

Running Without Docker

If you prefer no Docker:

git clone https://github.com/open-webui/open-webui.git
cd open-webui
cp .env.example .env
# Edit .env with your settings
pip install -r requirements.txt
./start.sh

Requires Python 3.11+ and node.js for the frontend build.

Tips

Keep Ollama running. Open WebUI connects to Ollama on startup. If Ollama isn't running, you'll see "no models available" in the dropdown.

Default port. Open WebUI uses 3001 without Docker, 8080 inside Docker (mapped to 3000). Adjust your tunnel/proxy accordingly.

Storage. Chats and documents live in the Docker volume. Back up open-webui:/app/backend/data if you care about chat history.

Memory. Open WebUI itself is lightweight (~200MB RAM). The model memory is what matters — that's Ollama's concern.