Privacy-first web interface for local AI models. Clean, minimal UI for Ollama with extensible plugin system. No data leaves your device.
  • TypeScript 76%
  • JavaScript 23.4%
  • CSS 0.3%
  • Shell 0.2%
Find a file
2026-08-15 12:46:37 -04:00
.githooks refactor: improve release changelog generation 2026-06-30 14:26:54 -04:00
.github chore(ci): switch CodeQL to advanced setup with rate-limit rule excluded 2026-08-15 12:46:37 -04:00
backend chore(release): 0.22.1 2026-08-15 12:26:12 -04:00
bin feat(platform): Complete foundation 2026-08-14 03:26:26 -04:00
deploy docs(deploy): add team environment example 2026-08-14 07:02:51 -04:00
docs docs: add frontmatter to data portability guide 2026-08-15 11:17:42 -04:00
examples feat(tts): Add LongCat voice cloning 2026-08-12 12:10:14 -04:00
frontend chore(release): 0.22.1 2026-08-15 12:26:12 -04:00
helm/libre-webui chore(release): 0.22.1 2026-08-15 12:26:12 -04:00
homebrew feat(platform): Complete foundation 2026-08-14 03:26:26 -04:00
plugins fix: Resolve plugin API roots 2026-08-13 08:18:14 -04:00
scripts fix(plugins): re-discover a due catalog before rejecting an unknown model 2026-08-15 12:12:18 -04:00
.dockerignore fix(events): linear chunk events, retention sweep, stream cleanup (#200) 2026-08-15 03:11:45 -04:00
.env.production fix(security): harden authentication and deployment defaults 2026-08-03 06:27:42 -04:00
.gitattributes chore(release): 0.6.1 2026-01-25 08:23:01 -05:00
.gitignore refactor: move the desktop app to its own repo 2026-08-09 10:10:32 -04:00
.gitmessage feat: add automated release system with conventional commits 2025-07-07 13:55:32 -04:00
.npmrc fix: resolve high severity vulnerabilities and fix npm ci compatibility 2026-03-01 13:20:58 -05:00
.prettierignore feat: add code formatting and linting setup with Prettier and ESLint 2025-06-16 12:22:13 -04:00
.prettierrc.json feat: add code formatting and linting setup with Prettier and ESLint 2025-06-16 12:22:13 -04:00
CHANGELOG.md chore(release): 0.22.1 2026-08-15 12:26:12 -04:00
CHARTER.md fix: harden content handling and public metadata 2026-08-03 16:15:58 -04:00
CONTRIBUTING.md chore(ci): enforce capability gates 2026-08-14 13:45:46 -04:00
CONTRIBUTORS.md docs: credit new contributors 2026-08-09 04:07:50 -04:00
DESIGN.md docs(work): document isolated workspace release 2026-07-26 15:47:16 -04:00
docker-compose.dev.external-ollama.yml feat(platform): add safe scaling foundations 2026-08-13 12:18:51 -04:00
docker-compose.dev.gpu.yml feat(platform): add safe scaling foundations 2026-08-13 12:18:51 -04:00
docker-compose.dev.yml feat(platform): add safe scaling foundations 2026-08-13 12:18:51 -04:00
docker-compose.external-ollama.yml feat(platform): add safe scaling foundations 2026-08-13 12:18:51 -04:00
docker-compose.gpu.yml feat(platform): add safe scaling foundations 2026-08-13 12:18:51 -04:00
docker-compose.ollama-host.yml fix(security): harden authentication and deployment defaults 2026-08-03 06:27:42 -04:00
docker-compose.socket-proxy.yml feat(platform): Complete foundation 2026-08-14 03:26:26 -04:00
docker-compose.team.test.yml feat(platform): Complete foundation 2026-08-14 03:26:26 -04:00
docker-compose.team.work.yml feat(platform): Complete foundation 2026-08-14 03:26:26 -04:00
docker-compose.team.yml feat(platform): Complete foundation 2026-08-14 03:26:26 -04:00
docker-compose.yml feat(platform): add safe scaling foundations 2026-08-13 12:18:51 -04:00
Dockerfile fix(security): harden CI and runtime image 2026-08-14 14:03:33 -04:00
LICENSE feat: Update CHANGELOG and README with new background image features and improvements 2025-07-05 20:35:39 -04:00
nginx.conf fix(work): proxy remote previews through app origin 2026-08-01 18:55:07 -04:00
package-lock.json chore(release): 0.22.1 2026-08-15 12:26:12 -04:00
package.json chore(release): 0.22.1 2026-08-15 12:26:12 -04:00
README.md feat(platform): add safe scaling foundations 2026-08-13 12:18:51 -04:00
screenshot.png docs: refresh the README screenshot 2026-08-06 14:42:36 -04:00
SECURITY.md fix(security): harden CI and runtime image 2026-08-14 14:03:33 -04:00


Libre WebUI

The local-first AI workspace you control.

Chat with local or cloud models, search your documents, create artifacts, and run agentic tasks in isolated workspaces—all from a self-hosted interface.

Private by default · Provider-flexible · No application telemetry · Apache 2.0


Latest release npm version Apache 2.0 License Main branch checks GitHub stars

Website · Documentation · Releases · Quick start


Libre WebUI self-hosted AI workspace

What is Libre WebUI?

Libre WebUI is a self-hosted AI workspace for people who want control over their models, data, providers, and interface.

Use local models through Ollama, connect the providers you choose, search your own documents, create interactive artifacts, and give model-driven tasks an isolated workspace with files, tools, a terminal, and a live preview.

It runs on your machine, server, or cluster. Libre WebUI is not a hosted AI service and does not require a cloud account for local inference.

Why Libre WebUI?

  • Local-first: Use Ollama and other local inference backends.
  • Provider-flexible: Connect cloud providers or OpenAI-compatible endpoints when you choose.
  • Private by default: Libre WebUI ships without application telemetry or analytics.
  • Built for work: Turn conversations into documents, code, websites, SVG, JSON, and other artifacts.
  • Isolated tasks: Work provides a persistent project environment with sandboxed commands, files, diffs, and previews.
  • Open source: Use, modify, redistribute, and fork the core project under the Apache License 2.0.
  • Self-hosted: Keep the interface, conversations, and configuration on infrastructure you control.

When you use a remote provider, that provider receives the requests you send to it. Local-first does not mean that remote inference is invisible.

Quick start

Requirements

Start with npm

npx libre-webui@latest

Open http://localhost:8080.

The first account created on a fresh installation becomes the administrator.

Connect a local model

Install Ollama, then pull a model:

ollama pull gemma4:12b

Libre WebUI can now use Ollama for local inference. No cloud account or API key is required.

Start with Docker

Clone the repository and start the default stack:

git clone https://github.com/libre-webui/libre-webui.git
cd libre-webui
docker compose up -d

See the Docker deployment guide for production configuration, external Ollama, GPU support, networking, and persistent storage.

Features

Feature Description
Chat Conversations with local models, remote providers, and compatible endpoints
Local inference Ollama support with no required cloud account
Provider plugins Chat, image, embedding, and speech providers through an extensible plugin layer
Document search Search and chat with PDF and plain-text documents
Artifacts Generate and preview HTML, SVG, JSON, code, and multi-file projects
Workspaces Persistent, task-scoped environments with files, terminal, diffs, and previews
Agents Optional integration with installed agent CLIs and Libre Claw
Accounts Local accounts, roles, optional OAuth, rate limits, and configurable signup
Deployment npm, Docker Compose, Kubernetes, Helm, and desktop client
Interface Tabs, global search, themes, adaptive accents, and 25 locales including Arabic RTL

Models and providers

Ollama is the default local path, but Libre WebUI is designed to avoid provider lock-in.

Supported integrations include:

  • Ollama and Ollama Cloud
  • OpenAI
  • Anthropic
  • Google Gemini
  • Groq
  • Mistral
  • OpenRouter
  • Hugging Face
  • GitHub Models
  • Moonshot AI / Kimi Code
  • ComfyUI
  • ElevenLabs
  • Qwen3-TTS
  • Kyutai TTS
  • MLX LM on Apple Silicon
  • OpenAI-compatible services

Provider availability can change between releases. See the provider documentation for current configuration instructions.

Credentials can be supplied through deployment environment variables or stored in encrypted, user-scoped settings.

Work: an isolated workspace for every task

Work gives a model a persistent project environment where it can build, modify, and preview files.

Each task includes:

Work task
├── Persistent conversation and run history
├── Dedicated workspace volume
├── Policy-checked command sandbox
└── Files · Activity · Terminal · Preview

Work can allow a model to:

  • Read, create, edit, move, delete, and search files
  • Run bounded shell commands
  • Start and stop a browser preview
  • Produce syntax-highlighted code
  • Show file diffs
  • Continue work in the same environment later

Work is disabled for regular users by default and never falls back to executing commands directly on the host.

Important security limitations

Containers are not virtual machines. Work tasks have outbound internet access by design, and administrators should review the deployment model before enabling agentic execution.

The default Docker Compose setup mounts the Docker socket so Work can create task containers. This gives the application root-equivalent control of the host. Every Libre WebUI administrator should therefore be treated as a host administrator when using that configuration.

For stronger isolation, use:

  • The Docker socket proxy configuration
  • Kubernetes-based Work sandboxes
  • A separate host or cluster dedicated to Libre WebUI

Read the complete Work security documentation before enabling it for untrusted users.

Privacy and security

Libre WebUI ships without application telemetry or analytics.

When using a local provider such as Ollama, prompts and responses remain on the infrastructure where that provider runs. When using a remote provider, prompts, responses, documents, and tool results may be sent to that provider as part of the request.

For multi-user deployments, Libre WebUI supports:

  • Local accounts and roles
  • bcrypt password hashing
  • JWT sessions
  • Login and signup rate limits
  • Optional Cloudflare Turnstile
  • Optional GitHub and Hugging Face OAuth
  • AES-256-GCM encryption for sensitive application values
  • Persistent SQLite storage
  • Configurable data directories

Application-layer encryption is not full-disk encryption or end-to-end encryption. For production deployments, use HTTPS, stable secrets, access-controlled storage, backups, and disk encryption where appropriate.

Optional agent integrations

Libre WebUI can expose installed Claude Code or Codex CLIs as chat models when they are configured on the server.

This uses the credentials available to the Libre WebUI server user. Treat this as equivalent to granting the selected agent shell access on that system.

Disable this feature with:

AGENT_CLI_MODELS_ENABLED=false

For broader automation, the optional Libre Claw integration provides a separate agent runtime for workflows involving files, shell, Git, browsers, HTTP, web search, MCP, memory, approvals, and schedules.

Deployment options

Deployment Command or link Use case
npm npx libre-webui@latest Fast local start
Docker Compose docker compose up -d Persistent self-hosted deployment
External Ollama docker compose -f docker-compose.external-ollama.yml up -d Use an existing Ollama instance
NVIDIA Docker docker compose -f docker-compose.gpu.yml up -d GPU-enabled local inference
Kubernetes helm install libre-webui oci://ghcr.io/libre-webui/charts/libre-webui Cluster deployment
Desktop client GitHub Releases Desktop interface over a managed backend
Source npm install && npm run dev Development

For production deployments:

  1. Set stable JWT_SECRET and ENCRYPTION_KEY values.
  2. Persist the application data directory.
  3. Back up the database and encryption key together.
  4. Use HTTPS through a trusted reverse proxy.
  5. Review the Docker socket and Work security model.
  6. Disable public signup unless it is explicitly required.

See the deployment documentation for details.

Documentation

Contributing

Contributions are welcome, including:

  • Bug fixes
  • Tests
  • Documentation
  • Translations
  • Provider integrations
  • UI improvements
  • Security reviews
git clone https://github.com/libre-webui/libre-webui.git
cd libre-webui
git checkout dev
npm install
npm run dev

Create a branch, make your changes, add tests and documentation where appropriate, and open a pull request against dev.

Please read:

Report security vulnerabilities privately rather than through public issues.

License and stewardship

Libre WebUI is licensed under the Apache License 2.0.

You may use, modify, redistribute, and fork the project under the terms of that license.

Kroonen AI funds development and provides optional deployment, integration, security review, training, customization, and support services. Commercial services do not change the Apache 2.0 license of the core project.

The projects independence and community commitments are described in the Community & Ethical Charter.


Build with the models you choose. Keep control of the workspace around them.

Star Libre WebUI on GitHub



Apache 2.0 · Copyright © 2025present Kroonen AI, Inc. and Libre WebUI contributors