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

Open WebUI test record
FieldValue
ResultPassed
Version tested0.12.4
Date and time2026-10-25, 23:02 to 23:26 CDT (America/Chicago)
TaskInstall 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 usedQwen2.5-3B-Instruct (Q4_K_M) through Ollama 0.40.11
HardwareLinux 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 healthyabout 11 to 12 s
Idle memory (RSS)about 1,152 MB
Chat request0.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

Commands run, wall-clock time and exit code
StepWall timeExit codeNotes
Install with uv on Python 3.1211.6 s0open-webui 0.12.4; 6,977 MB in the virtualenv (a large dependency set). Load 6.10.
Start the servern/a0Health endpoint returned 200 after about 11 to 12 s. RSS about 1.15 GB while idle.
Chat request0.68 s0HTTP 200 in 0.682 s.
Exact commands (paths shortened)
# 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:latest

Raw output (excerpts)

Chat response (raw)
{"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.682456s

Gotchas 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.

  • 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".

All test logs · How we test

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

Markdown version for agents: /tests/open-webui.md