| sidebar_position | 2 |
|---|---|
| title | Quick Start |
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem';
import DockerCompose from './tab-docker/DockerCompose.md'; import Extension from './tab-docker/DockerDesktopExtension.md'; import Podman from './tab-docker/Podman.md'; import PodmanQuadlet from './tab-docker/PodmanQuadlet.md'; import PodmanKubePlay from './tab-docker/PodmanKubePlay.md'; import ManualDocker from './tab-docker/ManualDocker.md'; import DockerSwarm from './tab-docker/DockerSwarm.md'; import WSL from './tab-docker/WSL.md'; import DockerUpdating from './tab-docker/DockerUpdating.md'; import Helm from './tab-kubernetes/Helm.md'; import Venv from './tab-python/Venv.md'; import Pip from './tab-python/Pip.md'; import Uv from './tab-python/Uv.md'; import Conda from './tab-python/Conda.md'; import PythonUpdating from './tab-python/PythonUpdating.md'; import PythonCompat from './tab-python/_PythonCompat.md';
Get Open WebUI running on your machine. Pick your preferred method below.
Open WebUI works on macOS, Linux (x86_64 and ARM64, including Raspberry Pi and NVIDIA DGX Spark), and Windows.
- Docker: Officially supported and recommended for most users. Requires Docker installed.
- Python: Suitable for low-resource environments or manual setups
- Kubernetes: Ideal for enterprise deployments requiring scaling and orchestration
<TabItem value="compose" label="Docker Compose">
<div className='mt-5'>
<DockerCompose />
</div>
</TabItem>
<TabItem value="extension" label="Extension">
<div className='mt-5'>
<Extension />
</div>
</TabItem>
<TabItem value="podman" label="Podman">
<div className='mt-5'>
<Podman />
</div>
</TabItem>
<TabItem value="podman-quadlet" label="Quadlets">
<div className='mt-5'>
<PodmanQuadlet />
</div>
</TabItem>
<TabItem value="podman-kube-play" label="Kube Play">
<div className='mt-5'>
<PodmanKubePlay />
</div>
</TabItem>
<TabItem value="swarm" label="Swarm">
<div className='mt-5'>
<DockerSwarm />
</div>
</TabItem>
<TabItem value="wsl" label="WSL">
<div className='mt-5'>
<WSL />
</div>
</TabItem>
</Tabs>
<TabItem value="uv" label="uv">
<div className='mt-5'>
<Uv />
</div>
<PythonUpdating />
</TabItem>
<TabItem value="conda" label="Conda">
<div className='mt-5'>
<Conda />
</div>
<PythonUpdating />
</TabItem>
<TabItem value="venv" label="Venv">
<div className='mt-5'>
<Venv />
</div>
<PythonUpdating />
</TabItem>
</Tabs>
Download the desktop app from github.com/open-webui/desktop. It runs Open WebUI natively on your system without Docker or manual setup.
:::info For production deployments, install via Docker or Python. :::
### Pinokio.computer Installation For installation via Pinokio.computer, visit their website:
[https://pinokio.computer/](https://pinokio.computer/)
Support for this installation method is provided through their website.
</TabItem>
</Tabs>
Docker: http://localhost:3000. Python and the desktop app: http://localhost:8080. The first start takes a minute.
Nothing loads? Run docker logs -f open-webui (docker compose logs -f with Compose) and wait for Application startup complete. If it never appears, see Startup & Docker Failures. Port already taken: change the left number in -p 3000:8080, or run open-webui serve --port 9999 with Python.
The first screen says Get started with Open WebUI and offers Create Admin Account. That first account is the administrator: it manages users and every instance-wide setting. Everything, including this login, stays in your own volume.
Sign-up switches itself off once the admin account exists. To let other people join, turn on New Sign Ups under your avatar > Settings > Admin > Authentication; new accounts then wait as Pending until you approve them in the Admin Panel. Note the admin password: losing it locks you out of instance settings, see Reset Admin Password.
:::note Two settings areas Your avatar > Settings is yours alone (theme, language). The Admin section inside it applies to the whole instance. Understanding Settings explains the split. :::
Open WebUI has no models of its own. Go to your avatar > Settings > Admin > Connections.
Ollama on this machine? It is picked up automatically at http://host.docker.internal:11434 from Docker (that is what --add-host in step 1 is for) or http://localhost:11434 from Python, and shows under Manage Ollama API Connections. As the admin, download a model by typing its name into the model selector of a new chat and confirming the pull. Ollama on another machine: -e OLLAMA_BASE_URL=http://server:11434, or set the URL on the connection.
An API key from OpenAI, Anthropic or any OpenAI-compatible provider? Click the + next to Manage OpenAI API Connections, enter the provider URL (OpenAI: https://api.openai.com/v1) and your key, then Save. Models are listed automatically.
Guides: Ollama · OpenAI · Anthropic · OpenAI-compatible APIs and local servers · all providers
:::tip Model list empty?
Ollama on the host has to listen on 0.0.0.0 when Open WebUI runs in Docker: Connection to Ollama Server. For API providers, check the URL and key; some do not publish a model list and need the model IDs entered under Model IDs on the connection: OpenAI-compatible providers.
:::
Click New Chat, pick a model in the selector inside the message box, type, press Enter. Drop a file into the chat to ask questions about it.
No models in the selector: back to step 4. The reply stays empty or the chat hangs behind a reverse proxy: WebSocket troubleshooting.
That is the whole install. Everything below is optional.
Essentials for Open WebUI continues from here. It covers what most people set up in their first week:
| Plugins | Tools and Functions from the community catalog; the feature you are missing usually exists as one. |
| Tool calling | Native mode lets the model decide when to search, read files or save memory. |
| Task models | Titles, tags and autocomplete run on a model of their own; point them at a small one. |
| Context management | Why long chats hit a wall and how Context Compaction handles it. |
| Basic RAG | Chat with your own documents, in a chat or as a knowledge base. |
| Web search | Pick a search provider and the model searches when a question needs it. |
| Open Terminal | A sandboxed shell the model can build and run things in. |
Keep it running
- Update: pull the new image and recreate the container with the step 1 command, same
WEBUI_SECRET_KEY; your data is in the volume. Updating - Back up the volume before every update: Backup & Restore
- Share it with others on your network or team: Sharing Open WebUI. Read the hardening guide before exposing it beyond your machine.
- Install it as an app on your phone or desktop: Open WebUI as an App
- Outbound calls: a stock install makes these on its own. A version check to GitHub, off with
ENABLE_VERSION_UPDATE_CHECK=false. A model-list request to the default OpenAI connection, gone once you delete that connection or setENABLE_OPENAI_API=false. An update check for the local embedding model on Hugging Face at every start, off withRAG_EMBEDDING_MODEL_AUTO_UPDATE=false.
Want an autonomous agent with terminal, file and web access? Connect an Agent. Questions: Discord. Bugs: GitHub Issues.
