Compare commits

...

18 Commits

Author SHA1 Message Date
Timothy Jaeryang Baek
ef117cfebf Update index.mdx 2025-11-25 18:12:38 -05:00
Timothy Jaeryang Baek
d56be4c247 Update license.mdx 2025-11-25 16:22:30 -05:00
Timothy Jaeryang Baek
c6b1a83d7e Update license.mdx 2025-11-25 07:43:59 -05:00
Classic298
fd288d3f2e Merge pull request #846 from open-webui/dev 2025-11-25 12:08:36 +01:00
Classic298
b83be510fe Update env-configuration.mdx 2025-11-25 08:27:36 +01:00
Classic298
f7d55528af Update env-configuration.mdx 2025-11-24 23:12:36 +01:00
Classic298
b1fb7f9f5a Update env-configuration.mdx 2025-11-24 23:11:47 +01:00
Classic298
2f3768eaba Update env-configuration.mdx 2025-11-24 22:11:14 +01:00
Classic298
1d27a09ef3 Merge pull request #845 from open-webui/main 2025-11-24 22:05:23 +01:00
Classic298
88cfaa45c5 Update env-configuration.mdx 2025-11-24 19:24:55 +01:00
Classic298
f259caed08 Rename compatibility.mdx‎ to compatibility.mdx 2025-11-24 16:30:22 +01:00
Classic298
7e59becd58 Update connection-error.mdx 2025-11-24 14:33:42 +01:00
Classic298
80662a5af7 Update connection-error.mdx 2025-11-24 14:30:15 +01:00
Classic298
7e748f922b Update connection-error.mdx 2025-11-24 14:19:40 +01:00
Classic298
160cacb4a9 Update env-configuration.mdx 2025-11-24 14:16:39 +01:00
Timothy Jaeryang Baek
37a6efa2d3 Update license.mdx 2025-11-24 05:24:22 -05:00
Timothy Jaeryang Baek
5adf72e0ec Update team.mdx 2025-11-24 04:47:47 -05:00
Timothy Jaeryang Baek
1f3124525e Update team.mdx 2025-11-24 04:47:00 -05:00
6 changed files with 136 additions and 28 deletions

View File

@@ -63,11 +63,11 @@ If you are a **consulting agency**, **AI services provider**, **solutions provid
Please understand:
- We proactively select partners who align with our mission, vision, and values.
- Being on our waitlist does not guarantee a response. If we feel theres a strong fit, youll hear from us.
- We receive a high volume of requests and cannot respond to every inquiry. Please do not follow up or send additional messages.
- We prioritize mature organizations, companies less than 5 years old are not eligible, except in truly exceptional cases.
- Our program is currently at full capacity. We will reach out at our discretion should an opportunity arise.
- We proactively select partners who **align with our mission, vision, and values**.
- Being on our waitlist **does not guarantee a response**. If we feel theres a strong fit, youll hear from us.
- We receive **a high volume of requests** and cannot respond to every inquiry. Please **do not follow up** or send additional messages.
- We prioritize mature organizations, companies **less than 5 years old are not eligible**, except in truly exceptional cases.
- Our program is currently at **full capacity**. We will reach out at our discretion should an opportunity arise.
<details>
<summary>**If you have an end-client** who is ready to move forward with us and is committed to purchasing a rebrand (enterprise) license immediately...</summary>

View File

@@ -12,7 +12,7 @@ As new variables are introduced, this page will be updated to reflect the growin
:::info
This page is up-to-date with Open WebUI release version [v0.6.35](https://github.com/open-webui/open-webui/releases/tag/v0.6.35), but is still a work in progress to later include more accurate descriptions, listing out options available for environment variables, defaults, and improving descriptions.
This page is up-to-date with Open WebUI release version [v0.6.39](https://github.com/open-webui/open-webui/releases/tag/v0.6.39), but is still a work in progress to later include more accurate descriptions, listing out options available for environment variables, defaults, and improving descriptions.
:::
@@ -200,6 +200,12 @@ is also being used and set to `True`. **Never disable this if OAUTH/SSO is not b
- Default: `0`
- Description: Sets the thread pool size for FastAPI/AnyIO blocking calls. By default (when set to `0`) FastAPI/AnyIO use `40` threads. In case of large instances and many concurrent users, it may be needed to increase `THREAD_POOL_SIZE` to prevent blocking.
:::info
If you are running larger instances, you WILL NEED to set this to a higher value like multiple hundreds if not thousands (e.g. `1000`) otherwise your app may get stuck the default pool size (which is 40 threads) is full and will not react anymore.
:::
#### `MODELS_CACHE_TTL`
- Type: `int`
@@ -1614,6 +1620,14 @@ If you want to use Milvus, be careful when upgrading Open WebUI (crate backups a
:::
| Collection Variable | Default Name (Suffix) | Trigger / Routing Logic in the Code | Purpose |
| :--- | :--- | :--- | :--- |
| `HASH_BASED_COLLECTION` | `_hash_based` | Collection name is a **63-char hex string** (SHA256 hash). | Caching direct URL fetches (Websites) with the `#` feature. |
| `MEMORY_COLLECTION` | `_memories` | Collection name starts with **`user-memory-`**. | Storing user-specific long-term memories of the experimental memory system. |
| `FILE_COLLECTION` | `_files` | Collection name starts with **`file-`**. | Storing uploaded documents (PDFs, DOCX, etc.). |
| `WEB_SEARCH_COLLECTION`| `_web_search` | Collection name starts with **`web-search-`**. | Storing transient results from search engine queries. |
| `KNOWLEDGE_COLLECTION` | `_knowledge` | **Everything else** (Default fallback). | Storing explicitly created Knowledge Bases. |
:::info
**Migration from Legacy Mode to Multitenancy**
@@ -2153,25 +2167,94 @@ Note: this configuration assumes that AWS credentials will be available to your
- Type: `str`
- Default: `http://docling:5001`
- Description: Specifies the URL for the Docling server. Requires Docling version 1.0.0 or later.
- Description: Specifies the URL for the Docling server. Requires Docling version 2.0.0 or later for full compatibility with the new parameter-based configuration system.
- Persistence: This environment variable is a `PersistentConfig` variable.
#### `DOCLING_OCR_ENGINE`
:::warning
**Docling 2.0.0+ Required**
The Docling integration has been refactored to use server-side parameter passing. If you are using Docling:
1. Upgrade to Docling server version 2.0.0 or later
2. Migrate all individual `DOCLING_*` configuration variables to the `DOCLING_PARAMS` JSON object
3. Remove all deprecated `DOCLING_*` environment variables from your configuration
4. Add `DOCLING_API_KEY` if your server requires authentication
The old individual environment variables (`DOCLING_OCR_ENGINE`, `DOCLING_OCR_LANG`, etc.) are no longer supported and will be ignored.
:::
#### `DOCLING_API_KEY`
- Type: `str`
- Default: `tesseract`
- Description: Specifies the OCR engine used by Docling.
Supported values include: `tesseract` (default), `easyocr`, `ocrmac`, `rapidocr`, and `tesserocr`.
- Default: `None`
- Description: Sets the API key for authenticating with the Docling server. Required when the Docling server has authentication enabled.
- Persistence: This environment variable is a `PersistentConfig` variable.
#### `DOCLING_OCR_LANG`
#### `DOCLING_PARAMS`
- Type: `str` (JSON)
- Default: `{}`
- Description: Specifies all Docling processing parameters in JSON format. This is the primary configuration method for Docling processing options. All previously individual Docling settings are now configured through this single JSON object.
**Supported Parameters:**
- `do_ocr` (bool): Enable OCR processing
- `force_ocr` (bool): Force OCR even when text layer exists
- `ocr_engine` (str): OCR engine to use (`tesseract`, `easyocr`, `ocrmac`, `rapidocr`, `tesserocr`)
- `ocr_lang` (str): OCR language codes (e.g., `eng,fra,deu,spa`)
- `pdf_backend` (str): PDF processing backend
- `table_mode` (str): Table extraction mode
- `pipeline` (str): Processing pipeline to use
- `do_picture_description` (bool): Enable image description generation
- `picture_description_mode` (str): Mode for picture descriptions
- `picture_description_local` (str): Local model for picture descriptions
- `picture_description_api` (str): API endpoint for picture descriptions
- `vlm_pipeline_model_api` (str): Vision-language model API configuration
- Example:
```json
{
"do_ocr": true,
"ocr_engine": "tesseract",
"ocr_lang": "eng,fra,deu,spa",
"force_ocr": false,
"do_picture_description": true,
"picture_description_mode": "api",
"vlm_pipeline_model_api": "openai://gpt-4o"
}
```
- Type: `str`
- Default: `eng,fra,deu,spa` (when using the default `tesseract` engine)
- Description: Specifies the OCR language(s) to be used with the configured `DOCLING_OCR_ENGINE`.
The format and available language codes depend on the selected OCR engine.
- Persistence: This environment variable is a `PersistentConfig` variable.
:::info
**Migration from Individual Docling Variables**
If you were previously using individual `DOCLING_*` environment variables (such as `DOCLING_OCR_ENGINE`, `DOCLING_OCR_LANG`, etc.), these are now deprecated. You must migrate to using `DOCLING_PARAMS` as a single JSON configuration object.
**Example Migration:**
```bash
# Old configuration (deprecated)
DOCLING_OCR_ENGINE=tesseract
DOCLING_OCR_LANG=eng,fra
DOCLING_DO_OCR=true
# New configuration (required)
DOCLING_PARAMS='{"do_ocr": true, "ocr_engine": "tesseract", "ocr_lang": "eng,fra"}'
```
:::
:::warning
When setting this environment variable in a `.env` file, ensure proper JSON formatting and escape quotes as needed:
```
DOCLING_PARAMS="{\"do_ocr\": true, \"ocr_engine\": \"tesseract\", \"ocr_lang\": \"eng,fra,deu,spa\"}"
```
:::
## Retrieval Augmented Generation (RAG)
### Core Configuration
@@ -2369,9 +2452,36 @@ When configuring `RAG_FILE_MAX_SIZE` and `RAG_FILE_MAX_COUNT`, ensure that the v
- Type: `int`
- Default: `1`
- Description: Controls how many text chunks are embedded in a single API request when using external embedding providers (Ollama, OpenAI, or Azure OpenAI). Higher values (20-100+; max 16000) process documents faster by sending more API requests, but may exceed API rate limits, while lower values (1-10) are more stable but slower. Default is 1 (safest option if you are API rate limit constrained, but slowest option). This setting only applies to external embedding engines, not the default SentenceTransformers engine.
- Description: Controls how many text chunks are embedded in a single API request when using external embedding providers (Ollama, OpenAI, or Azure OpenAI). Higher values (20-100+; max 16000 (not recommended)) may process documents faster by sending less, but larger API requests. Some external APIs do not support batching or sending more than 1 chunk per request. In such casey you must leave this at `1`. Default is 1 (safest option if the API does not support batching / more than 1 chunk per request). This setting only applies to external embedding engines, not the default SentenceTransformers engine.
- Persistence: This environment variable is a `PersistentConfig` variable.
:::info
Check if your API and embedding model supports batched processing.
Only increase this variable's value if it does - otherwise you might run into unexpected issues.
:::
#### `ENABLE_ASYNC_EMBEDDING`
- Type: `bool`
- Default: `true`
- Description: Runs embedding tasks asynchronously (parallelized) for maximum performance. Only works for Ollama, OpenAI and Azure OpenAI, does not affect sentence transformer setups.
- Persistence: This environment variable is a `PersistentConfig` variable.
:::tip
It may be needed to increase the value of `THREAD_POOL_SIZE` if many other users are simultaneously using your Open WebUI instance while having async embeddings turned on to prevent
:::warning
Enabling this will potentially send thousands of requests per minute.
If you are embedding locally, ensure that you can handle this amount of requests, otherwise turn this off to return to sequential embedding (slower but will always work).
If you are embedding externally via API, ensure your rate limits are high enough to handle parallel embedding.
(Usually, OpenAI can handle thousands of embedding requests per minute, even on the lowest API tier).
:::
#### `RAG_EMBEDDING_CONTENT_PREFIX`
- Type: `str`

View File

@@ -13,20 +13,18 @@ import { TopBanners } from "@site/src/components/TopBanners";
:::tip
**Here's the TL;DR:**
To keep Open WebUI thriving for the long term, weve introduced a **lightweight branding protection clause** that helps us sustain the project while ensuring **every user** continues to benefit from rapid innovation **without resorting to gated features or paywalled functionality**. Branding requirements **only apply to larger deployments (50+ users)**. Deployments with 50 or fewer users may fully rebrand if they choose.
To keep Open WebUI thriving for the long term, weve introduced a **lightweight branding protection clause** with Open WebUI v0.6.6+ that helps us sustain the project while ensuring **every user** continues to benefit from rapid innovation **without resorting to gated features or paywalled functionality**. Branding requirements **only apply to larger deployments (50+ users)**. Deployments with 50 or fewer users may fully rebrand if they choose.
As a small, independent team building mission-critical AI tooling, we rely on fair attribution to **support ongoing development, security, and quality**, all without restricting real users, contributors, or businesses who use Open WebUI responsibly.
And for those who prefer a fully permissive path, **[anyone can still fork from v0.6.5 with zero restrictions and build from there however they choose](https://github.com/open-webui/open-webui/blob/main/LICENSE_HISTORY)**. Its a simple, balanced step that protects the ecosystem, strengthens the project, and **ensures we can sustain our mission of empowering everyone**.
:::
If you've been following Open WebUIs journey, you know our mission has always been: empower everyone with cutting-edge AI, no strings attached. Open WebUI is an independent project, built and maintained by a small, dedicated core team. Over the last year, weve poured **countless hours, late nights, and real financial resources** into making this tool world-class, **and we trust our users enough to keep it free and open**.
But with Open WebUIs rapid growth and success, we started seeing a pattern we couldnt ignore: **bad actors taking our work, stripping the branding, selling it as their own, and giving nothing back.** Thats not open source, thats exploitation. When organizations profit off our efforts, misrepresent our work, and box out the real community, it threatens the very spirit of what were trying to build.
But with Open WebUIs rapid growth, we began seeing a pattern that put real pressure on the projects **long-term sustainability**: some groups were stripping out the branding, repackaging our work as their own, and monetizing it without any acknowledgment or participation. This wasnt just about credit, it created confusion for end users, **obscured the projects availability as a free software**, and made it harder for people to understand where the software came from. Worse, these same groups often came back to us for fixes, support, and updates, effectively turning our small team into **unpaid labor** for products they were profiting from, quietly shifting the burden of their commercial offerings. That dynamic ultimately drained time, focus, our limited bandwidth and resources away from the people were actually here to serve: **the real community**.
Thats why weve acted: **with Open WebUI v0.6.6+ (April 2025), our license remains permissive, but now adds a fair-use branding protection clause**. This update does **not** impact genuine users, contributors, or anyone who simply wants to use the software in good faith. If youre a real contributor, a small team, or an organization adopting Open WebUI for internal use, **nothing changes for you**. This change **only affects those who intend to exploit the projects goodwill**: stripping away its identity, falsely representing it, and never giving back.
Thats why weve acted: **with Open WebUI v0.6.6+ (April 2025), our license remains permissive, but now adds a fair-use branding protection clause**. This update does **not** impact genuine users, contributors, or anyone who simply wants to use the software in good faith. If youre a real contributor, a small team, or an organization adopting Open WebUI for internal use, **nothing changes for you**. This change **only affects those who intend to exploit the projects goodwill**.
In plain terms:
- **Open WebUI is still free and permissively licensed.**
@@ -55,7 +53,7 @@ Open WebUIs license now:
- **You may NOT alter, remove, or obscure any “Open WebUI” branding** (name, logo, UI marks, etc.) in any deployment or distribution, except in the circumstances below.
- Branding must remain clearly visible, unless:
1. **You have 50 or fewer users** in a 30-day period;
2. **You are a substantive contributor**, and have gotten written permission from us for an internal deployment;
2. **You qualify as a substantive contributor [^1]**, meaning someone who has maintained at least a full year or more of consistent, non-trivial weekly contributions to the project, and have gotten written permission from us for an internal deployment;
3. **Youve secured an enterprise license** from us which explicitly allows branding changes.
- **CLA required for new contributions** after v0.6.5 (v0.6.6+) under the updated license.
@@ -75,11 +73,13 @@ This is not legal advice, refer to the full [LICENSE](https://github.com/open-we
**Absolutely.** You can change, extend, and customize the code or the user interface for your organizations needs, but youre required to keep “Open WebUI” branding visible *unless*:
- Your deployment is for **50 or fewer users in any 30-day window**; or
- Youre a substantive project contributor **and** have received written permission to adjust branding for an internal deployment; or
- You qualify as a substantive project contributor [^1] **and** have received written permission to adjust branding for an internal deployment; or
- Youve secured an **enterprise license** with us that explicitly allows branding changes.
If you remove or modify branding without meeting these criteria, thats a material breach of the license.
[^1]: “Substantive contributor” refers to individuals who have demonstrated **long-term, high-quality, non-trivial weekly contributions for a minimum of a full year or more**, with further criteria determined by our internal policy. As external contributions often introduce more overhead than value, this status **applies only in exceptional cases and is evaluated individually**.
### 3. Arent these clauses contradictory? BSD-3 says you cant use your name to promote forks, but also requires branding?!
**Good question!** Our branding requirement means you **maynt falsely promote** your fork as “endorsed by” or “officially part of” Open WebUI (BSD-3-Clause, section 3), but it *must* still acknowledge its origins for transparency.

View File

@@ -17,7 +17,7 @@ Passionate about open-source AI? [Join our team →](https://careers.openwebui.c
:::
Our team is led by the dedicated creator and founder, [Tim J. Baek](https://github.com/tjbck). Although Tim is currently the only official full-time member of the core development team, were also supported by talented team members from our company who work hard behind the scenes to make this project great. In addition, we are incredibly fortunate to have a community of **[amazing contributors](https://github.com/open-webui/open-webui/graphs/contributors)** who find this project valuable and actively participate in its continued success.
Our team is led by the dedicated creator and founder, [Tim J. Baek](https://github.com/tjbck). Were supported by talented team members from our company who work hard behind the scenes to make this project great. In addition, we are incredibly fortunate to have a community of **[amazing contributors](https://github.com/open-webui/open-webui/graphs/contributors)** who find this project valuable and actively participate in its continued success.
### 💓 Our Contributors
@@ -38,7 +38,5 @@ Beyond our contributors, Open WebUI, Inc. has an incredible global team working
We greatly appreciate enthusiasm and thoughtful suggestions from our community. At the same time, **we're not looking for unsolicited governance recommendations or guidance on how to operate**—we know exactly how we want to run our project (just as, for example, you wouldn't tell OpenAI how to run theirs). Open WebUI maintains strong, opinionated leadership because that's precisely what we believe is necessary to build something truly great, fast-moving, and purposeful.
If our leadership and governance style align with your views, we're thrilled to have your continued support and contributions. However, if you fundamentally disagree with our direction, **one of the key benefits of our open-source license is the freedom to fork the project and implement your preferred approach.**
Thank you for respecting our perspective and for your continued support and contributions. We're excited to keep building with the community around the vision we've established together!

View File

@@ -68,7 +68,7 @@ The `CORS_ALLOW_ORIGIN` setting is crucial for WebSocket functionality. If you s
### Reverse Proxy / SSL/TLS Configuration
For reverse proxy and TLS setups, check our [tutorials here](docs/tutorials/https).
For reverse proxy and TLS setups, check our [tutorials here](/category/https).
### WebSocket Troubleshooting