Skip to content
← Tools / Skills
ToolOpen WebUI/10 trustVerified
Open WebUI logo

Open WebUI

Self-hosted, extensible ChatGPT-style interface for LLMs — point it at Ollama or any OpenAI-compatible API.

Visit official site →

About

Open WebUI is a self-hosted web UI for large language models: multi-model chat with mid-conversation switching, RAG over uploaded documents, tools/functions, pipelines, web search, code interpreter, and voice input/TTS, with multi-user support and role-based access. It connects to Ollama, OpenAI-compatible APIs, or vLLM — the models themselves stay wherever you run them.

Deployment is a single Docker image (ghcr.io/open-webui/open-webui) in variants including a 196MB :slim image, :cuda for Nvidia GPUs, and :ollama with Ollama bundled. Important: it uses a custom, non-OSI "Open WebUI License" — not open source in the OSI sense. Removing "Open WebUI" branding in deployments with more than 50 end users in any rolling 30-day window is a material license breach without written permission or an enterprise license.

What it can do

  • • ChatGPT-style multi-model chat with conversation history, search, and mid-conversation model switching
  • • RAG over uploaded documents (PDF/Office via external extractors on slim; built-in on :main)
  • • Tools/functions and pipelines for extending behavior; web search provider integrations
  • • Code interpreter (Pyodide in slim; bundled Python packages in :main), voice input via Whisper/STT, TTS replies
  • • Multi-user accounts with admin panel and role-based access; single-user (no-login) mode option
  • • OpenAI-compatible API surface so existing clients and agents can talk to it

Setup

  1. Install Docker. Generate a secret key: openssl rand -hex 32.
  2. Run the container (verified against both the official docs and repo README):

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

  1. Open http://localhost:3000 and create the first account — it becomes the admin. Do this before exposing the instance to a network.
  2. Connect a model backend: point it at Ollama on the host (OLLAMA_BASE_URL=http://host.docker.internal:11434), or add OpenAI-compatible API keys in the admin panel.
  3. For production, pin a version tag (e.g. :vX.Y.Z) instead of the rolling :main tag — the docs recommend this explicitly. Set OFFLINE_MODE=true on air-gapped instances to block Hugging Face traffic and the version check.

Prerequisites

Docker; an LLM backend (Ollama, OpenAI-compatible API, or the bundled :ollama image). ~1.6GB for :main, ~196MB for :slim (slim needs external services for embeddings/voice/RAG).

Use cases

chatdatavisionaudiottscode

Works with

Generic APIAny agent (.md)

Trust score — 9/10

/10 trustVerified

Scored 9/10 (verified tier, metrics-v1). Evidence: 154,792 GitHub stars (log-scaled vs catalog peers); last push 0d ago; 42 releases/12mo; 188 open issues. Manual review: custom license with anti-rebranding clause; rolling :main tags; image-size figures provider-reported. License: custom non-OSI Open WebUI License (anti-rebranding clause >50 users).

★ 154,790 GitHub stars

How the trust score is built

Full methodology →
Adoption · stars/downloads, log-scaled vs peers
9.5/10
Maintenance · recency, releases, issue load
10.0/10
Openness · license + docs
5.8/10
Manual review · sanity read + red-flag check
7.0/10
  • · 154,792 GitHub stars (log-scaled vs catalog peers)
  • · last push 0d ago; 42 releases/12mo; 188 open issues
  • · manual review: custom license with anti-rebranding clause; rolling :main tags; image-size figures provider-reported

Sources

Every fact above was checked against these sources. Where a claim comes from the provider and couldn't be independently verified, the text says so.