A modern web interface for Ollama — chat with your local models, privately. Clean design, essential chat features, and no data leaving your machine.
- 🚀 Real-time streaming responses
- 🧠 Reasoning model support — displays the thinking process (e.g. DeepSeek R1) in a collapsible block, with a toggle to turn it on/off
- 💬 Multi-conversation management
- 🔄 Conversation history
- 📝 Markdown and code syntax highlighting support
- 🌓 Clean and modern UI design
- 📋 List available models
- 🔄 Auto-select first available model
- 🎯 Easy model switching
- ⚙️ Configurable Ollama server URL
- 💾 Settings persistence
- 📤 Export chat history to JSON
- 📥 Import chat history from JSON
- Ollama installed and running on your machine
- Node.js 20.9+ installed (for development; required by Next.js 16)
- Docker (optional, for containerized deployment)
- Using Docker Compose (includes Ollama service):
wget https://raw.githubusercontent.com/oslook/ollama-webui/main/docker-compose.yml
docker compose up -d- Using Docker directly:
docker run -d -p 3000:3000 ghcr.io/oslook/ollama-webui:latest- Clone the repository:
git clone https://github.com/oslook/ollama-webui.git
cd ollama-webui- Install dependencies:
bun install- Start the development server:
bun run dev- Open http://localhost:3000 in your browser
- Ensure your Ollama server is running (default: http://127.0.0.1:11434)
- Select a model from the dropdown menu
- Start chatting!
For reasoning models such as DeepSeek R1, use the Thinking toggle next to the message input to show or hide the model's reasoning process. When shown, it appears in a collapsible block above each answer.
- Click the settings icon (⚙️) to:
- Configure Ollama server URL
- Export chat history
- Import chat history
The browser talks to Ollama directly, so when this app is hosted on a public domain the Ollama server must allow cross-origin requests. On the Ollama host set:
OLLAMA_HOST=0.0.0.0
OLLAMA_ORIGINS=*then restart Ollama. Note that an HTTPS site cannot reach an http:// Ollama URL
(mixed content) — serve Ollama over HTTPS or put it behind a reverse proxy. See the
Ollama FAQ
for details.
latest: Latest stable releasemain: Latest development buildvX.Y.Z: Specific version releases
| Variable | Description | Default |
|---|---|---|
| NODE_ENV | Node environment | production |
| PORT | Port to run the server on | 3000 |
# Build the image
docker build -t ollama-webui .
# Run the container
docker run -d -p 3000:3000 ollama-webuiThe included docker-compose.yml provides two services:
ollama-webui: The web interfaceollama: The Ollama server (optional)
To use only the web interface:
docker compose up -d ollama-webuiTo run both services:
docker compose up -d- Next.js - React Framework
- React 19 - UI Library
- TypeScript - Type Safety
- Tailwind CSS - CSS Framework
- DaisyUI - UI Components
- Zustand - State management (persisted to localStorage)
- react-markdown - Markdown rendering
Feel free to submit issues and enhancement requests!
This project is licensed under the MIT License - see the LICENSE file for details.
Note: This project was generated by an AI agent and has been human-verified for functionality and best practices. The implementation combines modern web development patterns with practical user experience considerations.
