Detailed content
🖼️ Why a graphical interface
The terminal was great for your first "hello": it proves the model runs. But for use for real in everyday use it gets tiring — no history, no easy model switching, no way to attach a PDF. A graphical interface solves that and gives you a ChatGPT that lives on your machine.
🆕 New here?
"Graphical user interface" (GUI) is the window with buttons, text boxes, and menus — the opposite of the command-line terminal. "Backend" is the invisible component that does the heavy lifting (here, the Ollama running the model); the interface just talks to it and displays the result nicely on screen.
✗ Terminal only
- ✗Closed the window, lost the conversation
- ✗Switching models = typing the command again
- ✗You can’t attach a file or image
- ✗No searching old chats
✓ Graphical interface
- ✓Saved and searchable history
- ✓Menu to switch models with one click
- ✓Attach documents, images, and code
- ✓Several chats open side by side
🌐 Open WebUI: what it is
O Open WebUI is an open-source web front end that connects to Ollama — or any API compatible with OpenAI’s — and gives you a complete chat interface. It runs on your own machine and opens in your browser, usually at localhost:3000.
🆕 New here?
"Web front end" is the part you see and click, served as a web page. "localhost" is a nickname for the your own machine — when you open localhost:3000, nothing goes out to the internet; the browser only talks to a program running right there, on port 3000.
🔑 The central idea
Open WebUI separates who shows of who thinks:
- •Open WebUI handles the interface: chats, history, attachments, login.
- •Ollama handles the brain: loads the model and generates the text.
- •The two communicate through a local API — and everything stays on your machine, offline.
📋 What you get right away
- Chat with history, folder organization, and search.
- Switch models from the menu (all the ones you downloaded in Ollama appear).
- Support for multiple users with login — useful for family or your team.
- Upload documents to ask questions about them (the basis of RAG, the topic of module 3.6).
🐳 Launching with Docker
The cleanest way to install Open WebUI is with Docker. One command downloads the entire application, ready to go, and brings it online — without touching your system dependencies.
🆕 New here?
"Docker" packages a program with everything it needs in an isolated "box" (a container). You don't install libraries one by one: run the container and it works the same on any machine. Install Docker Desktop (Windows/macOS) or the Docker Engine (Linux) before continuing.
Ollama already running
Make sure Ollama from module 3.1 is active (ollama list shows your models). This is the backend the interface will use.
Run the container
A single docker run downloads the image and starts Open WebUI already connected to the Ollama on your machine.
Open in browser
Access localhost:3000, create the first account (it becomes the admin account) and start chatting.
⌨️ Practical example: start Open WebUI
Objective: get the chat interface running, connected to your Ollama. Paste into the terminal (all on one line).
Reading the command: -d runs in the background · -p 3000:8080 opens port 3000 on your PC · --add-host lets the container find Ollama on the host machine · -v open-webui:... keeps your chats even if the container restarts.
How to check: open http://localhost:3000 in your browser. Did the account creation screen appear? It’s up. Run docker ps and check the container open-webui with status Up.
💡 Practical tip
On Linux, if the container can't see Ollama, run Ollama with OLLAMA_HOST=0.0.0.0 to accept connections from the Docker network. To update the interface afterward: docker pull ghcr.io/open-webui/open-webui:main and recreate the container—your chats are saved in the volume.
🖥️ LM Studio: desktop alternative
Not everyone wants to work with Docker. The LM Studio is a desktop app you install like any other program: it downloads models in the GGUF, comes with a built-in chat and also starts a local server—all in one window.
🆕 New here?
"GGUF" is the file format used to package open models so they can run on CPU/GPU — you’ll explore this in more depth in module 3.3. "Embedded local server" means that LM Studio also provides an API on your machine, just like Ollama, for your apps to connect to.
✓ Prefer LM Studio when
- ✓You want to click and install, without a terminal or Docker
- ✓Likes to explore and download GGUF models from a visual storefront
- ✓You want to adjust parameters with sliders and see the effect right away
- ✓Chat and a local server in the same window are enough for you
⚙️ Prefer Ollama + Open WebUI when
- •You want to run it as an always-on service, without an app open on screen
- •You need multiple users to log in through the browser
- •You'll access it from other devices over the network (Tailscale)
- •You want to script everything from the command line
🤝 It’s not “one or the other”
Both paths lead to the same place: a local model with chat and an API. Many people use LM Studio to try and compare models on the desktop, and the Ollama + Open WebUI for the lab that stays on, serving the whole house. Start with whatever feels easiest for you today.
🔌 Connecting the interface ↔ backend
With Open WebUI up and running, all that’s left is to point the interface to the backend right. When Ollama is on the same machine, it usually works right away; if something doesn’t show up, it’s almost always the connection URL.
Point to Ollama
In Settings → Connections, the Ollama URL should be http://host.docker.internal:11434 (interface in Docker) or http://localhost:11434 (direct installation).
Choose the model
At the top of the chat, the selector lists all the models you downloaded (ollama pull). Switch between a qwen2.5:7b and a gemma2:2b without restarting anything.
Define the system prompt
In the model (or chat) settings, you write the system prompt — the background instruction that gives it personality and rules: “respond in Brazilian Portuguese, concisely, with examples.” Covered in depth in module 3.4.
🧭 If a model doesn’t appear
- Confirm that it exists: ollama list in the terminal.
- Confirm that Ollama responds: curl http://localhost:11434/api/tags should return the list.
- In Open WebUI, check the connection URL and click check/update.
🚀 Features that unlock real-world use
The interface isn't just aesthetic: it opens doors the terminal couldn't. Before listing the features, get a clear mental model of the stack — browser → Open WebUI → Ollama → model, one layer inside another:
Read from the outside in: everything happens in the your browser. O Open WebUI receives your question and sends it to the Ollama, which triggers the model (in purple). The response returns through the cyan layer to the screen. No arrow leaves the machine.
🎯 What the interface unlocks
- •Multiple chats: a conversation for each topic, organized and searchable.
- •Document RAG: upload PDFs and ask questions about them — the foundation of module 3.6.
- •Prompt profiles: save reusable system prompts ("reviewer," "translator," "tutor").
- •Users: separate accounts with login — the whole household or team using a single lab.
Self-check (optional): in Open WebUI, who is the backend that actually generates the text?
📌 Module summary
Next module:
3.3 — Choosing and downloading the right model