← All lessons
Lesson 23 Local Setup 8:42

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.

ApproachVerdict
Open port on the routerAvoid
Private network between your devicesThe right choice
Outbound tunnel with authentication in frontAcceptable, more moving parts
Home network onlySafe, 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:

ExpectationReality
“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

ConceptIn one line
What it isChatGPT-style web interface, on top of Ollama
HistoryConversations saved and searchable
RAGUpload documents and ask questions about them
Multi-userOne installation, several separate accounts
Remote accessPrivate network, never an open port on the router
Outside accessPrivate network, never an open router port
BackupConversations and documents live in the container: save them elsewhere
Built-in RAGRetrieves chunks, does not read everything: great for specific questions
LimitGlobal summaries and large archives need a purpose-built pipeline

Related lessons

  • Ollama

    The runtime that became the standard for running models locally: one command to start, an OpenAI-compatible API to build anything on.

  • LM Studio

    The graphical interface to download, try and serve models. On Apple Silicon it has an extra card: MLX format and tool calling that actually works.

Watch on YouTube