Setup took 15 minutes with Docker, 45 without
The Docker command is `docker run -d -p 3000:8080 -v open-webui:/app/backend/data --name open-webui ghcr.io/open-webui/open-webui:main`. It pulled the image, started, and I had a login screen at localhost:3000. Without Docker you need Python 3.11, Node 20, and about 15 pip dependencies. The first user created becomes admin. Connecting to my local Ollama instance required zero config: Open WebUI auto-detected it at `http://localhost:11434`.
The RAG feature is what makes it worth running
I uploaded 96 markdown review files from saas.pet into Open WebUI's knowledge base. Now I can ask 'what are the common pricing complaints across all video tools' and it reads all 96 files, finds the relevant sections, and synthesizes an answer with citations. This is the feature that ChatGPT and Claude charge $20/month for. It runs entirely on my machine, which means my review data never leaves my computer. The embedding model runs on CPU and takes about 2 seconds per document on first indexing.
Model switching is instant but context handling varies
I have 6 models loaded in Ollama: DeepSeek-V4, Kimi-K2.6, qwen-coder, Llama 3.3, Mistral, and Gemma. Open WebUI lets me switch models mid-conversation with a dropdown. I typically start a coding question with qwen-coder, then switch to DeepSeek for reasoning tasks, all in the same chat history. The one gotcha: different models have different context window sizes, and Open WebUI does not warn you when you exceed the limit. The model just starts hallucinating or truncating silently.
The UI is 90% of ChatGPT quality
Dark mode, markdown rendering, code blocks with syntax highlighting, conversation search, prompt templates, and a model playground. The chat interface feels nearly identical to ChatGPT. You can pin conversations, export as JSON, and share individual responses as links. The settings panel is deep: you can adjust temperature, top-p, context length, and system prompts per model. The one missing feature from ChatGPT is the side-by-side model comparison view.
What I would not use it for
The mobile experience is just the desktop site scaled down. No native app and the PWA is sluggish on iOS. Voice input works but is clunky. Multi-user support exists but the admin panel for managing users and quotas is basic. I would not deploy this for a team of 10+ without adding nginx auth in front. And if you need web search integration, you have to configure it manually with a search API key, which is an extra step that ChatGPT handles automatically.