mirror of
https://github.com/open-webui/docs.git
synced 2026-11-05 01:38:13 +00:00
[GH-ISSUE #1194] Add Reference Architecture Diagrams & Component Overview #156
Labels
No labels
bug
documentation
documentation
duplicate
enhancement
enhancement
good first issue
good first issue
good first issue
help wanted
help wanted
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
open-webui/docs#156
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @Classic298 on GitHub (Apr 16, 2026).
Original GitHub issue: https://github.com/open-webui/docs/issues/1194
Add Reference Architecture Diagrams & Component Overview
Summary
Add a conceptual architecture overview and reference architecture diagrams showing how Open WebUI's components relate to each other. Diagrams should use component roles (not specific product names) to stay tool-agnostic.
Gap Analysis — What Exists vs What's Missing
What the docs already cover thoroughly
__event_emitter__,__event_call__), valves, rich UI embedding, and reserved arguments.What's actually missing
1. "What am I deploying?" conceptual overview — this is the primary gap.
The docs go from
docker run(quick-start) straight to production scaling (advanced topics). There's no page that explains the logical components inside a running Open WebUI instance and how they interact at a high level.A user who runs
docker runsuccessfully still doesn't understand what's inside the container or how it works architecturally: the web UI server, the inference connection layer, the RAG pipeline (content extraction → chunking → embedding → vector storage → retrieval), the database, file storage, the extensibility layer. The scaling guide mentions these components when telling you to swap them out (e.g., "switch from pypdf to Tika", "switch from SentenceTransformers to external embeddings"), but it assumes you already know what they are and why they exist.This is the gap that tripped up the sysadmin in the Discord conversation. He could follow the commands but couldn't reason about the system — he didn't have a mental model of the data flow. That's why he was confused about whether his bottleneck was Tika or the LLM.
2. Reference architecture diagrams for common deployment patterns.
The scaling guide has one diagram, but it's the fully-scaled production setup (load balancer → multiple pods → PostgreSQL + PGVector → Redis → shared storage). There are no diagrams for intermediate or common patterns. Most users' deployments sit somewhere between "single
docker run" and "full enterprise HA" — and there's no visual representation of those middle-ground architectures.3. Need-to-extension-type mapping (minor gap).
The extensibility docs are thorough in explaining what each extension type is and how to build one. The Tools page has a Tooling Taxonomy that distinguishes between types of tools. The Functions page explains the three function types with use cases. The extensibility overview has an Architecture at a Glance table.
What's slightly missing is a single, prominent "I want to do X → use Y" decision guide that a non-developer can scan. The existing tables map extension types to their properties, but don't map user problems to extension types. This is the "~90% of feature requests can be solved by a tool/filter/action" observation — people know what they want to accomplish but don't know which extension mechanism to reach for. This is a minor gap since the information is effectively there across multiple pages, but consolidating it into one quick-reference would reduce unnecessary feature requests.
What to Add
Part 1: Component Overview Page (primary addition)
A new page that explains the architecture of a running Open WebUI instance. Written for someone who successfully ran
docker runand now wants to understand what they deployed. Should cover:A single overview diagram with 1-2 paragraphs per component explaining what it does, why it exists, and what the default vs production alternatives are. This page should link forward to the scaling guide for production hardening.
Part 2: Reference Architecture Diagrams
5-6 simplified architecture diagrams using component roles (not specific tools):
Each diagram should show component boxes labeled by role, arrows showing data flow, relevant default ports, and clear system boundaries. Brief text under each explaining when/why you'd pick that pattern.
Part 3: Extensibility Quick-Reference (minor addition)
A small addition to the existing extensibility overview page — a "What do you want to do?" quick-reference that maps user needs to extension types. Something like:
This doesn't replace the existing thorough documentation — it's a quick-scan entry point that helps users identify which docs to read. The information is already spread across the plugin overview, tools page, functions page, and extensibility overview, but having it in one scannable table on the extensibility landing page would help route people faster.
Suggested Location
getting-started/architectureorgetting-started/how-it-works, linked from quick-start's "After You Install" sectionfeatures/extensibility/overview page, near the topNotes
@er-s-an commented on GitHub (Aug 13, 2026):
Hi @Classic298, I’d like to work on a focused first slice of this issue:
I would leave the additional deployment patterns and extensibility decision table for follow-up PRs, so the first contribution stays reviewable and easy to validate.
Before I start, would you prefer Mermaid or a static diagram, and should the page live under
getting-started/architectureorgetting-started/how-it-works?