Run Open WebUI, a self-hosted chat interface for Ollama and OpenAI-compatible APIs.
72
Run Open WebUI, a self-hosted chat interface for Ollama and OpenAI-compatible APIs.
This image is the official Open WebUI
image ghcr.io/open-webui/open-webui:latest. The image does not change it. Each
build pulls the newest release, runs the smoke test, and publishes the tested image.
Open WebUI gives a web chat for local models in Ollama and for OpenAI-compatible APIs. It also has user accounts, document search (RAG), and tool servers. The image includes the default embedding models, so document search works without a download.
The server listens on port 8080. Its data is in /app/backend/data. The upstream
health check calls /health.
| Tag | Meaning | Platform |
|---|---|---|
latest | Latest successful build from main with the newest Open WebUI release. | linux/amd64 |
View all tags on Docker Hub.
The latest tag changes when a new build passes its tests.
docker pull stden/open-webui:latest
Create a secret key once and keep it. Open WebUI signs the login sessions with it.
openssl rand -hex 32 > webui-secret.key
docker run -d --name open-webui --restart unless-stopped \
-p 127.0.0.1:3000:8080 \
-e WEBUI_SECRET_KEY="$(cat webui-secret.key)" \
-v open-webui:/app/backend/data \
stden/open-webui:latest
Wait until the server is ready. The first start can take a minute.
until curl -fsS http://127.0.0.1:3000/health; do sleep 2; done
Open http://127.0.0.1:3000 and sign up. The first account becomes the administrator. Do this immediately after the first start.
To use Ollama on the same computer, start the container with these options:
--add-host=host.docker.internal:host-gateway \
-e OLLAMA_BASE_URL=http://host.docker.internal:11434
To use an OpenAI-compatible API, add -e OPENAI_API_KEY. Set OPENAI_API_BASE_URL
for a provider other than OpenAI. You can also add connections later in the admin
settings.
The data stays in the open-webui volume. Use the same secret key.
docker pull stden/open-webui:latest
docker rm -f open-webui
# Run the command from step 1 again.
docker run --rm -v open-webui:/data:ro -v "$PWD":/backup alpine \
tar czf /backup/open-webui-backup.tgz -C /data .
WEBUI_SECRET_KEY. Without it, the container makes a key outside the data
volume. A new container then gets a new key, and all users must sign in again./app/backend/data. Docker copies the bundled embedding
models into a new named volume. A bind mount hides them, and the server must then
download the models.127.0.0.1 as in the tutorial. For
access from other computers, use a reverse proxy with HTTPS.-e OPENAI_API_KEY without a value.
Do not write a key in a Dockerfile, a script in git, or a shell history.latest tag changes. Pin a digest, such
as stden/open-webui@sha256:..., and update when you are ready.The smoke test starts the server with a temporary data directory and without a
model backend. It checks /health, the configuration, the web page, the first
sign-up as administrator, an authenticated session, the models API, and that a
request without a token fails.
Content type
Image
Digest
sha256:a658e8268…
Size
1.5 GB
Last updated
about 12 hours ago
docker pull stden/open-webui