# How to Run Open WebUI with Ollama (Docker)

> Give your local Ollama models a ChatGPT-style web interface with one Docker command — first login, model picker, and fixes.

- Canonical: https://guides-ai.pages.dev/guides/open-webui-with-ollama/
- Plate 09.10 · Topic: Local LLMs (https://guides-ai.pages.dev/topics/local-llm/)
- Published: 06 Sept 2026 · 3 min read
- Source site: guides-ai — https://guides-ai.pages.dev/

Open WebUI is a self-hosted chat interface. Point it at Ollama and you get chat history, file uploads, and multiple users on top of your local models.

## 1. Check Ollama is up

```bash
curl http://localhost:11434/api/tags
```

Returns JSON listing your installed models. If it fails, start Ollama first — see [Ollama on macOS and Linux](/guides/run-local-llm-ollama-macos-linux/) or [on Windows](/guides/run-local-llm-ollama-windows/).

## 2. Start Open WebUI

```bash
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
```

Runs the container in the background on port 3000, makes your host machine reachable from inside the container as `host.docker.internal` (needed on Linux), and stores all data in a named volume so it survives restarts and upgrades.

On Windows, run the same command in PowerShell as one line, or swap the trailing `\` for backticks.

No Docker? `pip install open-webui` then `open-webui serve` works on Python 3.11 and serves on port 8080 instead.

## 3. First login

Open `http://localhost:3000` and sign up. **The first account created becomes the administrator** — it controls user management and system settings, so make it yours before sharing the URL.

Running it only for yourself and want no login screen at all? Add `-e WEBUI_AUTH=False` to the `docker run` command. You cannot switch that setting back later.

## 4. Pick a model

The model selector sits at the top of a new chat and lists every model Ollama has. Type a name that is not installed yet — for example `gemma3:4b` — and Open WebUI offers to pull it for you.

If the list is empty, Open WebUI is not reaching Ollama. Go to **Settings > Admin > Connections**, find **Manage Ollama API Connections**, and set the URL to:

```text
http://host.docker.internal:11434
```

That is the container's route back to Ollama on your host. A plain `localhost` there means *inside the container*, which is why the default sometimes finds nothing.

## Upgrading

```bash
docker rm -f open-webui
docker pull ghcr.io/open-webui/open-webui:main
```

Removes the container and fetches the newer image; re-run the command from step 2. Your chats live in the `open-webui` volume, not the container, so nothing is lost.

---

Next: [call Ollama from your own code](/guides/call-ollama-api/) or [serve a model with vLLM](/guides/vllm-serve-openai-compatible/).
