Open WebUI
A ChatGPT of your own: web interface, conversation history, documents to ask questions about, and multiple users. All on your machine.
The video loads only if you ask: no request to YouTube before the click.
The video is in Italian; this page is the written version in English.
Ollama gives you a terminal prompt, LM Studio a window on your laptop. Open WebUI adds what both lack: a real chat interface, reachable from a browser, with conversation history and multiple accounts. Effectively a ChatGPT running in your own house.
It uses Ollama as its engine, so it replaces nothing: it adds the layer you need when usage stops being an experiment and becomes daily.
What you gain
History. Conversations persist, can be found again, and picked up. Sounds minor until you need an answer from three weeks ago.
Built-in RAG. Upload PDFs, notes or text documents and ask questions about them: the technique from the embeddings lesson, with the interface already built. Probably the feature that convinces most people who arrive out of curiosity.
Multiple users. Each person gets an account and their own conversations. Useful at home or in a small team, with a single model running on a single machine.
Images. With a vision-capable model, you upload them straight into the chat.
A prompt library. Prompts you reuse get saved and recalled instead of being rewritten every time.
Access from outside: be careful
The interesting jump is using your models from your phone, away from home. The right way to do that is not opening a port on your router.
The sane approach is a private network between your own devices — the kind that creates an encrypted virtual network — so the interface stays reachable only from inside, with nothing exposed to the internet. Alternatively, an outbound tunnel with authentication in front.
The principle holds generally, and bears repeating: applications holding your data stay private; only what is public by nature goes on the internet.
Things to keep in mind
It needs updating: it is software exposed to a browser, and updates carry security fixes. Worth putting in a container so updating costs one command.
The built-in RAG is convenient and generic: great to start with, less controllable than a hand-built pipeline once documents become numerous or highly specific.
And remember the model is still the one you run locally: a nice interface does not make it smarter.
Reaching it from outside, without opening ports
This is the step nearly everyone wants — using your own models from your phone — and the one where the worst mistake is made: opening a port on the router.
Open WebUI has its own authentication, but exposing a self-hosted application to the internet means entrusting its security to how promptly you update it. Not a theoretical risk: it is how home services get compromised.
| Approach | Verdict |
|---|---|
| Open port on the router | Avoid |
| Private network between your devices | The right choice |
| Outbound tunnel with authentication in front | Acceptable, more moving parts |
| Home network only | Safe, but no access from outside |
With a private network the interface stays reachable only from your own devices: from your phone you use it as if you were home, and from the internet it does not exist.
What you lose if the container disappears
Open WebUI holds a lot that is not obviously inside it: accounts, the history of every conversation, uploaded documents with their indexes, saved prompts and settings.
If the data does not live in an external folder, recreating the container takes all of it away. The kind of loss you notice afterwards, when you need a conversation from two months ago.
Two proportionate precautions: an external folder for the data, so it survives container updates, and a periodic copy alongside your other backups. Note the models are not here — those can be re-downloaded. The only truly irrecoverable thing is the history, and since it is not in any cloud, if you do not save it nobody does.
The built-in RAG: what to expect
It is the feature that convinces people most on first use — upload a PDF and ask questions — and also the easiest to misunderstand.
What it does: it splits the document into chunks, computes their embeddings, and when you ask a question retrieves the closest chunks and puts them in the model’s context. Exactly the mechanism from the embeddings lesson, with the interface already built.
What that means in practice:
| Expectation | Reality |
|---|---|
| “It read the whole document” | It reads only the chunks retrieved for that question |
| “It can summarise the entire PDF” | Poorly: a global summary needs all the text, not chunks |
| “It finds anything in there” | Only if the question resembles the chunk semantically |
| “It works the same with 100 documents” | The more material, the more precise retrieval must be |
Specific questions work well (“what does the contract say about termination?”), global ones badly (“what is this about in general?”), because no single chunk holds the answer.
Two things that improve results a lot: clean documents — a badly scanned PDF produces unreadable chunks and retrieval cannot work miracles — and questions using the document’s own words, because semantic similarity helps but literal matching helps more.
When you need better — many documents, high precision, codes and acronyms — you move to a hand-built pipeline with hybrid search and reranking. The built-in RAG is generic by design: convenient, not tunable.
Managing models without leaving the interface
A convenient detail people miss: from here you can view, pull and remove Ollama models without touching a terminal. Useful mainly for periodic cleanup, the maintenance everyone postpones — every model is gigabytes, and after a few months of experiments you have far more than you use.
In short
| Concept | In one line |
|---|---|
| What it is | ChatGPT-style web interface, on top of Ollama |
| History | Conversations saved and searchable |
| RAG | Upload documents and ask questions about them |
| Multi-user | One installation, several separate accounts |
| Remote access | Private network, never an open port on the router |
| Outside access | Private network, never an open router port |
| Backup | Conversations and documents live in the container: save them elsewhere |
| Built-in RAG | Retrieves chunks, does not read everything: great for specific questions |
| Limit | Global summaries and large archives need a purpose-built pipeline |
- Open WebUI
- RAG
- Self-hosting