LibreChat vs OpenWebUI vs Lobe Chat: Which to Self-Host in 2026?

LibreChat vs OpenWebUI vs Lobe Chat: Which to Self-Host in 2026?

You've decided you don't want your team's prompts (or your customers' chat history) sitting on someone else's GPU. Good call. Now comes the part nobody warns you about: picking a self-hosted ChatGPT clone is harder than picking the model behind it.

LibreChat, OpenWebUI, and Lobe Chat all look great in a 30-second demo. They diverge fast the moment you add real users, real documents, or real SSO. I deployed all three on the same VM, pointed them at the same Ollama and OpenAI keys, and put them in front of teammates for a week. Here's where they actually differ.

The three contenders

LibreChat

The "batteries included team chat" pick. Multi-provider out of the box (OpenAI, Anthropic, Google, Mistral, Ollama, Bedrock, Azure), conversation branching, OAuth / LDAP / OIDC, agents, RAG with a dedicated API, native MCP support, MongoDB for chat history, Meilisearch for full-text search. It's the heaviest of the three and the one that feels closest to a real internal ChatGPT for a company. Active dev, frequent releases.

OpenWebUI

The RAG and Ollama power user. Started life as Ollama WebUI, grew into the most polished interface for local models. Built-in document upload with collections, web search via SearXNG, function calling, Pipelines for Python middleware, image generation, voice. SQLite by default, Postgres for scale. Single-container deploy. Massive community traction, the one your AI-curious developer friends keep recommending.

Lobe Chat

The design-first pick. Slick UI, plugin marketplace, "agent" presets you can share, image generation, voice, artifacts panel for code. Next.js stack, lighter ops footprint. Lobe optimizes for individual users and small teams who care how the thing looks more than they care about LDAP groups.

Side-by-side

Capability LibreChat OpenWebUI Lobe Chat
Provider support 12+ incl. Bedrock, Azure 8+ incl. Ollama-native 10+
RAG / docs Yes, file + collections Yes, strongest (collections, web search) Yes, basic
Multi-user auth Local, OAuth, LDAP, OIDC Local, OAuth, OIDC, LDAP Local, OAuth, Clerk, Logto
MCP / tools Native MCP, agents Tools + Pipelines Plugin marketplace
Storage MongoDB + Meilisearch SQLite or Postgres Postgres or browser
Image gen DALL-E, SD, Flux DALL-E, A1111, ComfyUI DALL-E, Midjourney bridges
Idle RAM footprint ~1.5 GB ~600 MB ~400 MB
Best for Internal team chat Local-model power users Polished personal / SMB

Where each one actually shines

LibreChat wins when you need a real team product

If you're rolling this out to 30 people across marketing and engineering, LibreChat is the only one of the three that ships LDAP / OIDC and per-user model permissions without you wiring middleware. The agents feature ties tools, files, and prompts together in a way the other two don't quite match yet. Trade-off: more moving parts (MongoDB, Mongo Express, Meilisearch, RAG API), and the config file is the longest of the three.

OpenWebUI wins when you need serious RAG on local models

Drop a folder of PDFs into a collection, point it at Ollama, and you have private document Q&A in ten minutes. The web search integration is the cleanest of the three. Pipelines let you intercept and rewrite requests in Python, which is the cleanest extensibility story if you're comfortable writing Python middleware. If your stack is "Ollama on the box next to me," OpenWebUI is the default answer.

Lobe Chat wins when looks matter

It's the one I'd hand to a non-technical founder, a designer, or a customer-facing demo. The plugin marketplace lowers the bar for adding capabilities without touching YAML. The artifacts panel is genuinely nice for code and markdown side-by-side. Trade-off: enterprise auth and audit are thinner, and the plugin ecosystem is younger than what LibreChat's tools + MCP give you out of the box.

Deploy on Elestio (real numbers)

To make the comparison fair, run all three on the same baseline: MEDIUM (2c / 4 GB) at $16/month. That's enough headroom for LibreChat's MongoDB + Meilisearch containers, comfortably handles OpenWebUI with RAG enabled, and gives Lobe Chat room to grow into a small team. Scale up only when you actually hit a wall:

  • LibreChat: MEDIUM holds up to ~50 active users. Past that, go LARGE (4c / 8 GB) at $30/month.
  • OpenWebUI: MEDIUM handles RAG with on-box embeddings comfortably. LARGE if you're indexing thousands of documents.
  • Lobe Chat: MEDIUM is overkill for one person but right for a small team and gives you headroom for the plugin ecosystem.

Note: these are infrastructure costs only. LLM token spend lives on top, unless you point at a local Ollama instance on the same VM and pay nothing per token.

Deploy links:

Troubleshooting the three pitfalls everyone hits

"My OAuth login redirects to localhost." All three need correct public URLs (DOMAIN, WEBUI_URL, NEXTAUTH_URL depending on the tool). When you deploy on Elestio, set these to your assigned domain before configuring an OAuth provider. Fixing it after means re-issuing client secrets at Google or GitHub.

"Models work in the API test but not in the chat UI." LibreChat and OpenWebUI both require explicit model enablement after adding a provider. Test calls hit the provider directly; the dropdown only shows what you've allow-listed. Look for models.default in LibreChat's librechat.yaml, or the per-user model toggle in OpenWebUI's admin panel.

"RAG returns nothing relevant." You're probably running the default chunk size against PDFs with weird layout. OpenWebUI exposes chunk size in Admin > Documents; bump it to 1500 with 200 overlap and re-embed. LibreChat's RAG API service has its own env (CHUNK_SIZE, CHUNK_OVERLAP). Lobe's built-in RAG is the simplest but the least tunable; for serious doc workloads pick LibreChat or OpenWebUI.

So which one?

  • Building an internal company chat? LibreChat.
  • Running local models, want strong RAG? OpenWebUI.
  • Want a polished personal or SMB product? Lobe Chat.

If you genuinely can't decide, deploy two side by side for a week. They don't fight each other on a single VM if you give them different ports. Your team's actual behavior will pick the winner faster than any spec sheet.

Thanks for reading ❤️ See you in the next one 👋