Open WebUI 0.12.4: our test log
Open WebUI 0.12.4 installed with uv in 11.6 s (6,977 MB in the virtualenv), was healthy about 11 to 12 s after start, and answered a chat through its API in 0.68 s using a local Ollama model.
Tested by us on 2026-10-25. Local open-weight model, not the vendor's hosted models. A smoke test on a CPU-only box, not a benchmark.
Result at a glance
| Field | Value |
|---|---|
| Result | Passed |
| Version tested | 0.12.4 |
| Date and time | 2026-10-25, 23:02 to 23:26 CDT (America/Chicago) |
| Task | Install open-webui with uv, start it against a local Ollama (OLLAMA_BASE_URL=http://127.0.0.1:11434) with an empty data directory, create a local admin account, and send one chat completion request through Open WebUI's own OpenAI-style API to the local model. Pass means HTTP 200 and an answer containing 42. |
| Model used | Qwen2.5-3B-Instruct (Q4_K_M) through Ollama 0.40.11 |
| Hardware | Linux x86_64 virtual machine (Debian 13), 8 vCPU (Intel Xeon, 1 thread per core), 15 GiB RAM, no GPU |
| Install (uv, Python 3.12) | 11.6 s, 6,977 MB |
| Time to healthy | about 11 to 12 s |
| Idle memory (RSS) | about 1,152 MB |
| Chat request | 0.68 s |
What we found
- Chat through Open WebUI's API returned "42" with HTTP 200 in 0.68 s; its own usage block reported 24 prompt tokens and 3 completion tokens.
- The installed environment is very large (6,977 MB) ; plan disk accordingly. We did not inspect which dependencies account for it.
- Startup printed a CORS warning (allow origin * by default) and an insecure-key-length warning from the JWT library for our short test secret; both are configuration points to fix in a real deployment.
What we ran, step by step
| Step | Wall time | Exit code | Notes |
|---|---|---|---|
| Install with uv on Python 3.12 | 11.6 s | 0 | open-webui 0.12.4; 6,977 MB in the virtualenv (a large dependency set). Load 6.10. |
| Start the server | n/a | 0 | Health endpoint returned 200 after about 11 to 12 s. RSS about 1.15 GB while idle. |
| Chat request | 0.68 s | 0 | HTTP 200 in 0.682 s. |
# Install with uv on Python 3.12
uv venv -p 3.12 work/py/open-webui && VIRTUAL_ENV=work/py/open-webui uv pip install --no-cache -q open-webui
# Start the server
DATA_DIR=work/owui-data3 OLLAMA_BASE_URL=http://127.0.0.1:11434 open-webui serve --port <port>
# Chat request
POST /api/chat/completions with model qwen2.5-3b:latestRaw output (excerpts)
{"id":"qwen2.5-3b:latest-2e7c387b-abc5-4dbd-93da-8e6cf26c1eca","created":1792988710,"model":"qwen2.5-3b:latest","choices":[{"index":0,"logprobs":null,"finish_reason":"stop","message":{"role":"assistant","content":"42"}}],"object":"chat.completion","usage":{"input_tokens":24,"output_tokens":3,"total_tokens":27,"prompt_tokens":24,"completion_tokens":3,"response_token/s":10.93,"prompt_token/s":68.47,"total_duration":631495510,"load_duration":2663423,"prompt_eval_count":24,"prompt_eval_duration":350540000,"eval_count":3,"eval_duration":274475000,"approximate_total":"0h0m0s","completion_tokens_details":{"reasoning_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}}}
HTTP 200 in 0.682456sGotchas and things that broke
- The first API call returned "Not authenticated" until we created a local admin user on a fresh data directory and used a bearer token; the browser UI sign-up flow was not exercised.
- Model id must match what Ollama lists (here qwen2.5-3b:latest).
What we did not test
- The browser UI, RAG over documents, web search, multi-user roles, and Docker deployment.
- One request; a smoke test, not a load test.
Reproduce it
Versions change. These commands install whatever is latest on the day you run them unless a version is pinned, so expect different results later. The version we measured is in the table above.
uv venv -p 3.12 .venv && VIRTUAL_ENV=.venv uv pip install open-webui
DATA_DIR=./data OLLAMA_BASE_URL=http://127.0.0.1:11434 .venv/bin/open-webui serve --port <port>How to read this test
Every number on this page was measured on this one machine, which also ran other jobs, so timings are indicative and vary run to run. A pass means our small task worked once or as stated, a fail means it did not work as we ran it; neither says how the tool behaves with a vendor's frontier model, on a GPU, or at scale. Where a tool could not run without an account or a GPU, we say so instead of guessing.
See the testing rig for the hardware, the local model and the rules we follow, and the test hub for every other test.
Related tests: workflow automation
- Flowise: Flowise failed to install from npm on Node 24.22.1 after 106.2 s: the better-sqlite3 native build needed a C++ toolchain this machine lacks.
- Langflow: Langflow 1.13.0 installed in 19.76 s (1.7 GB) and its backend was healthy 91.5 s after launch, serving 26 starter flows and 416 components.
- n8n: n8n 2.44.6 installed from npm on Node 24 in 1 min 54 s (2,343 packages), imported a three-node workflow from the CLI and executed it: a Code node returned 42 and a request to a local model returned "42".
FAQ
How much disk does Open WebUI need?
Our uv virtualenv was 6,977 MB for version 0.12.4, before any data or models.
Sources
- Open WebUI repository (fetched 2026-10-25)
Related
Markdown version for agents: /tests/open-webui.md