2 AM, 4 GB of Docker, and a Very Simple Question
I just wanted to ask Llama 3.2 about a regex.
That's it. One prompt. One answer. 30 seconds of work.
Here's what actually happened:
- Open Docker Desktop
- Wait for the Open WebUI container to wake up
- Watch it silently consume 500 MB of RAM
- Open a browser tab pointed at
localhost:3000 - Finally type the question
- Get my answer
- Notice the container is still running, eating my battery at 3 AM
For a chat window. A chat window for a local model.
I closed my laptop, stared at the ceiling, and decided: this is no longer acceptable.
The State of Ollama UIs on Linux (It's Not Great)
If you've tried to put a UI on Ollama on Linux, you've hit this wall. Your options are basically:
| Tool | Installed Size | What You Need | Reality |
|---|---|---|---|
| Open WebUI | 500MB+ | Docker daemon + container runtime | Heavy, always-on background process |
| Lobe Chat / Hollama | 100MB+ | Node.js + npm install
|
A web server you have to start and stop |
| Msty / Jan | 200–400MB | Bundled Electron runtime | A whole Chromium browser to send text |
| Browser extensions | N/A | A specific browser | Limited, can't do file uploads properly |
| Just use the CLI | 0MB | Memorize every flag | Writing JSON by hand just to send an image |
None of these feel like software. They feel like workarounds. And the worst part? Ollama itself is fantastic on Linux — fast, lean, runs anywhere. The problem was never the model. It was everything wrapped around it.
So I Did the Only Sane Thing: Built My Own
Meet Ollama Chat — a native Linux desktop app for Ollama that weighs 3.5MB installed, uses ~50MB of RAM, and ships as a proper .deb package.
itslokeshx
/
ollama-chat
Native Linux desktop chat app for Ollama with real-time streaming, model switching, and file/image uploads—no Docker or Node.js required.
📋 Table of Contents
- 🤔 Why I built this
- ⬇ Installation
- 🎯 Getting Started
- ✨ Features
- 🖼 Screenshots
- 🛠 Tech Stack
- 🏗 Build from Source
- 🤝 Contributing
- 📄 License
🤔 Why I built this
If you use Ollama on Linux, you already know the pain.
You install Ollama, pull a model, and then... you're stuck in a terminal forever. Want to switch models? Type a command. Want to use a different model mid-chat? Stop, remember the command, switch, start again. Want to upload an image? Hope you know the exact syntax. Want a chat interface like Claude or ChatGPT? Linux users are left behind — Ollama has a beautiful native UI for macOS, but Linux gets nothing.
…
It's not a web server. It's not a Docker container. It's not an Electron app. It's a real native window with native titlebar controls, sitting in your application menu like any other app you actually use.
The Stack (And Why Tauri Is the Real Hero)
| Layer | Tech | Why |
|---|---|---|
| Runtime | Tauri 2.0 | Rust + system WebKit, no bundled Chromium |
| UI | React 18 + TypeScript | Type-safe, component-driven |
| Styling | Tailwind v4 + Radix UI | Accessible, themeable, fast |
| State | Zustand | No boilerplate, no Redux |
| Build | Vite 5 | Fast dev, tiny production output |
| Packaging |
.deb + .AppImage
|
Real Linux install methods |
Tauri is the architectural decision that makes this whole thing possible. Electron apps ship a full Chromium + Node.js runtime — that's why they're 150–300MB. Tauri uses the system's existing WebKit renderer plus a thin Rust backend. Result: a real native app, 1/50th the size.
The Features That Actually Matter
I'm not going to give you a feature checklist. Here's what I use every day:
- Real-time streaming — token by token, the way LLMs are meant to feel
- Smart model picker with tier grouping (Frontier 70B+, Balanced 7–34B, Efficient <7B) and capability badges (vision, tools, thinking)
- Drag & drop images into the chat — works with LLaVA, Qwen2-VL, LLaMA3.2-Vision
- System prompt presets — Engineer, Writer, Analyst, Terminal, Concise
- Pull and delete models from inside the app, with a live progress bar
- Full model info — parameters, context length, quantization, size
- Export conversations as Markdown or JSON
- Light / Dark / System themes
3-Minute Setup
\`bash
1. Install Ollama (skip if you already have it)
curl -fsSL https://ollama.com/install.sh | sh
2. Pull a model
ollama pull llama3.2
3. Install Ollama Chat
wget https://github.com/itslokeshx/ollama-chat/releases/download/v1.0.0/Ollama.Chat_1.0.0_amd64.deb
sudo dpkg -i Ollama.Chat_1.0.0_amd64.deb
4. Start Ollama and launch
ollama serve &
ollama-chat
`\
That's it. No Docker, no Node, no web server, no localhost:3000.
The Numbers Don't Lie
| App | Installed | RAM | Cold Launch |
|---|---|---|---|
| Open WebUI (Docker) | 500MB+ | ~400MB | 5–10s |
| Lobe Chat (npm) | 100MB+ | ~200MB | 2–4s |
| Msty (Electron) | 250MB+ | ~300MB | 2–3s |
| Ollama Chat | 3.5MB | ~50MB | <1s |
3.5MB. I had to double-check. Then I triple-checked. Then I checked the .deb file size on disk and laughed.
Build It Yourself
It's MIT licensed, open source, and about 200 lines away from working:
\bash
git clone https://github.com/itslokeshx/ollama-chat
cd ollama-chat
npm install
npm run tauri dev
\\
If you want a real .deb:
\bash
npm run tauri build
sudo dpkg -i src-tauri/target/release/bundle/deb/Ollama.Chat_1.0.0_amd64.deb
\\
If You Try It
I'm building this in the open. Roadmap lives on the repo: cloud model support, conversation sync, plugin system. If you want a feature, open an issue. If you want to build it, open a PR.
Now I want to hear from you: what's the most absurd dependency you've installed just to do something simple? I just want to feel less alone in this.


Top comments (0)