mirror of
https://github.com/open-webui/docs.git
synced 2026-03-27 13:28:37 +07:00
complete docs overhaul
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"label": "Integrations",
|
||||
"position": 2,
|
||||
"position": 20,
|
||||
"link": {
|
||||
"type": "generated-index"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"label": "Auth & Identity",
|
||||
"position": 2,
|
||||
"collapsible": true,
|
||||
"collapsed": true
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
title: "Azure AD Domain Services (LDAPS) Integration"
|
||||
title: "Azure AD LDAP"
|
||||
---
|
||||
|
||||
:::warning
|
||||
@@ -0,0 +1,65 @@
|
||||
---
|
||||
slug: /tutorials/tips/dual-oauth-configuration
|
||||
title: "Dual OAuth Setup"
|
||||
sidebar_label: Dual OAuth Configuration
|
||||
sidebar_position: 100
|
||||
description: Learn how to configure both Microsoft and Google OAuth providers simultaneously in Open WebUI using an unofficial community workaround.
|
||||
---
|
||||
|
||||
# 🔐 Dual OAuth Configuration (Microsoft & Google)
|
||||
|
||||
:::caution Unofficial Workaround
|
||||
This configuration is a community-contributed workaround and is **not officially supported** by the Open WebUI team. While it works in current versions, behavior may change in future updates. This tutorial serves as a demonstration for advanced users.
|
||||
:::
|
||||
|
||||
## Overview
|
||||
|
||||
While Open WebUI officially supports only one **OpenID Connect (OIDC)** provider at a time via the `OPENID_PROVIDER_URL` variable, it is possible to support both **Microsoft** and **Google** simultaneously.
|
||||
|
||||
The trick is to configure one provider (e.g., Microsoft) as the primary OIDC provider and the other (e.g., Google) as a standard OAuth provider by utilizing Open WebUI's built-in support for specific providers.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Access to your Open WebUI environment variables (Docker or local).
|
||||
- Client IDs and Secrets from both [Google Cloud Console](https://console.cloud.google.com/) and [Microsoft Azure/Entra ID](https://entra.microsoft.com/).
|
||||
- `OAUTH_MERGE_ACCOUNTS_BY_EMAIL=true` must be enabled to ensure users are mapped to the same account regardless of the provider used.
|
||||
|
||||
## Configuration logic
|
||||
|
||||
Open WebUI uses `OPENID_PROVIDER_URL` as a generic "catch-all" for OIDC. However, it also has native modules for Google and Microsoft. By leaving the `OPENID_PROVIDER_URL` for Microsoft and providing only the Client IDs for Google, the system can internalize both flows.
|
||||
|
||||
## Environment Variables
|
||||
|
||||
Add the following to your `docker-compose.yaml` or environment config:
|
||||
|
||||
```bash
|
||||
# Enable signup and account merging (CRITICAL)
|
||||
ENABLE_OAUTH_SIGNUP=true
|
||||
OAUTH_MERGE_ACCOUNTS_BY_EMAIL=true
|
||||
|
||||
# 1. Microsoft as the primary OIDC provider
|
||||
# This uses the generic OIDC flow via the OPENID_PROVIDER_URL
|
||||
MICROSOFT_CLIENT_ID=your_microsoft_client_id
|
||||
MICROSOFT_CLIENT_SECRET=your_microsoft_client_secret
|
||||
MICROSOFT_CLIENT_TENANT_ID=your_tenant_id
|
||||
MICROSOFT_REDIRECT_URI=https://your-webui.com/oauth/microsoft/callback
|
||||
OPENID_PROVIDER_URL=https://login.microsoftonline.com/your_tenant_id/v2.0/.well-known/openid-configuration
|
||||
|
||||
# 2. Google as a secondary OAuth provider
|
||||
# Note: Do NOT provide an OPENID_PROVIDER_URL for Google.
|
||||
# The system will use its internal Google OAuth implementation.
|
||||
GOOGLE_CLIENT_ID=your_google_client_id
|
||||
GOOGLE_CLIENT_SECRET=your_google_client_secret
|
||||
```
|
||||
|
||||
## Why This Works
|
||||
|
||||
1. **Microsoft** is handled via the generic OIDC flow because `OPENID_PROVIDER_URL` is set to the Microsoft endpoint.
|
||||
2. **Google** is handled via the dedicated internal Google OAuth module because the system detects `GOOGLE_CLIENT_ID` but sees that the global `OPENID_PROVIDER_URL` is already "claimed" by Microsoft or simply isn't needed for the built-in Google module.
|
||||
3. **Account Merging**: Since both providers return the user's email, `OAUTH_MERGE_ACCOUNTS_BY_EMAIL=true` ensures the user logs into the same profile whether they click "Sign in with Google" or "Sign in with Microsoft."
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
- **Redirect Mismatch**: Ensure your Redirect URIs in both consoles match your `WEBUI_URL`.
|
||||
- **Merge Failures**: Double-check that `OAUTH_MERGE_ACCOUNTS_BY_EMAIL` is set to `true`.
|
||||
- **Microsoft Logout**: Microsoft often requires the `OPENID_PROVIDER_URL` to handle the logout redirect correctly. If logout fails, ensure this URL is correct for your tenant.
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
sidebar_position: 15
|
||||
title: "Microsoft Entra ID Group Name Sync"
|
||||
title: "Entra ID Group Sync"
|
||||
---
|
||||
|
||||
:::warning
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
sidebar_position: 2
|
||||
title: "Backend-Controlled, UI-Compatible API Flow"
|
||||
title: "Backend-Controlled API Flow"
|
||||
---
|
||||
|
||||
:::warning
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
sidebar_position: 14
|
||||
title: "Setting up with Custom CA Store"
|
||||
title: "Custom CA Store"
|
||||
---
|
||||
|
||||
:::warning
|
||||
|
||||
6
docs/tutorials/integrations/dev-tools/_category_.json
Normal file
6
docs/tutorials/integrations/dev-tools/_category_.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"label": "Dev Tools",
|
||||
"position": 4,
|
||||
"collapsible": true,
|
||||
"collapsed": true
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
sidebar_position: 13
|
||||
title: "Continue.dev VS Code Extension with Open WebUI"
|
||||
title: "Continue.dev"
|
||||
---
|
||||
|
||||
:::warning
|
||||
@@ -1,115 +1,115 @@
|
||||
---
|
||||
sidebar_position: 4100
|
||||
title: "Firefox AI Chatbot Sidebar"
|
||||
---
|
||||
|
||||
:::warning
|
||||
|
||||
This tutorial is a community contribution and is not supported by the Open WebUI team. It serves only as a demonstration on how to customize Open WebUI for your specific use case. Want to contribute? Check out the contributing tutorial.
|
||||
|
||||
:::
|
||||
|
||||
## 🦊 Firefox AI Chatbot Sidebar
|
||||
|
||||
# Integrating Open WebUI as a Local AI Chatbot Browser Assistant in Mozilla Firefox
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Before integrating Open WebUI as a AI chatbot browser assistant in Mozilla Firefox, ensure you have:
|
||||
|
||||
- Open WebUI instance URL (local or domain)
|
||||
- Firefox browser installed
|
||||
|
||||
## Enabling AI Chatbot in Firefox
|
||||
|
||||
1. Click on the hamburger button (three horizontal lines button at the top right corner, just below the `X` button)
|
||||
2. Open up Firefox settings
|
||||
3. Click on the `Firefox Labs` section
|
||||
4. Toggle on `AI Chatbot`
|
||||
|
||||
Alternatively, you can enable AI Chatbot through the `about:config` page (described in the next section).
|
||||
|
||||
## Configuring about:config Settings
|
||||
|
||||
1. Type `about:config` in the Firefox address bar
|
||||
2. Click `Accept the Risk and Continue`
|
||||
3. Search for `browser.ml.chat.enabled` and toggle it to `true` if it's not already enabled through Firefox Labs
|
||||
4. Search for `browser.ml.chat.hideLocalhost` and toggle it to `false`
|
||||
|
||||
### browser.ml.chat.prompts.{#}
|
||||
|
||||
To add custom prompts, follow these steps:
|
||||
|
||||
1. Search for `browser.ml.chat.prompts.{#}` (replace `{#}` with a number, e.g., `0`, `1`, `2`, etc.)
|
||||
2. Click the `+` button to add a new prompt
|
||||
3. Enter the prompt label, value, and ID (e.g., `{"id":"My Prompt", "value": "This is my custom prompt.", "label": "My Prompt"}`)
|
||||
4. Repeat the process to add more prompts as desired
|
||||
|
||||
### browser.ml.chat.provider
|
||||
|
||||
1. Search for `browser.ml.chat.provider`
|
||||
2. Enter your Open WebUI instance URL, including any optional parameters (e.g., `https://my-open-webui-instance.com/?model=browser-productivity-assistant&temporary-chat=true&tools=jina_web_scrape`)
|
||||
|
||||
## URL Parameters for Open WebUI
|
||||
|
||||
The following URL parameters can be used to customize your Open WebUI instance:
|
||||
|
||||
### Models and Model Selection
|
||||
|
||||
- `models`: Specify multiple models (comma-separated list) for the chat session (e.g., `/?models=model1,model2`)
|
||||
- `model`: Specify a single model for the chat session (e.g., `/?model=model1`)
|
||||
|
||||
### YouTube Transcription
|
||||
|
||||
- `youtube`: Provide a YouTube video ID to transcribe the video in the chat (e.g., `/?youtube=VIDEO_ID`)
|
||||
|
||||
### Web Search
|
||||
|
||||
- `web-search`: Enable web search functionality by setting this parameter to `true` (e.g., `/?web-search=true`)
|
||||
|
||||
### Tool Selection
|
||||
|
||||
- `tools` or `tool-ids`: Specify a comma-separated list of tool IDs to activate in the chat (e.g., `/?tools=tool1,tool2` or `/?tool-ids=tool1,tool2`)
|
||||
|
||||
### Call Overlay
|
||||
|
||||
- `call`: Enable a video or call overlay in the chat interface by setting this parameter to `true` (e.g., `/?call=true`)
|
||||
|
||||
### Initial Query Prompt
|
||||
|
||||
- `q`: Set an initial query or prompt for the chat (e.g., `/?q=Hello%20there`)
|
||||
|
||||
### Temporary Chat Sessions
|
||||
|
||||
- `temporary-chat`: Mark the chat as a temporary session by setting this parameter to `true` (e.g., `/?temporary-chat=true`)
|
||||
- *Note: Document processing is frontend-only in temporary chats. Complex files requiring backend parsing may not work.*
|
||||
|
||||
See https://docs.openwebui.com/features/chat-features/url-params for more info on URL parameters and how to use them.
|
||||
|
||||
## Additional about:config Settings
|
||||
|
||||
The following `about:config` settings can be adjusted for further customization:
|
||||
|
||||
- `browser.ml.chat.shortcuts`: Enable custom shortcuts for the AI chatbot sidebar
|
||||
- `browser.ml.chat.shortcuts.custom`: Enable custom shortcut keys for the AI chatbot sidebar
|
||||
- `browser.ml.chat.shortcuts.longPress`: Set the long press delay for shortcut keys
|
||||
- `browser.ml.chat.sidebar`: Enable the AI chatbot sidebar
|
||||
- `browser.ml.checkForMemory`: Check for available memory before loading models
|
||||
- `browser.ml.defaultModelMemoryUsage`: Set the default memory usage for models
|
||||
- `browser.ml.enable`: Enable the machine learning features in Firefox
|
||||
- `browser.ml.logLevel`: Set the log level for machine learning features
|
||||
- `browser.ml.maximumMemoryPressure`: Set the maximum memory pressure threshold
|
||||
- `browser.ml.minimumPhysicalMemory`: Set the minimum physical memory required
|
||||
- `browser.ml.modelCacheMaxSize`: Set the maximum size of the model cache
|
||||
- `browser.ml.modelCacheTimeout`: Set the timeout for model cache
|
||||
- `browser.ml.modelHubRootUrl`: Set the root URL for the model hub
|
||||
- `browser.ml.modelHubUrlTemplate`: Set the URL template for the model hub
|
||||
- `browser.ml.queueWaitInterval`: Set the interval for queue wait
|
||||
- `browser.ml.queueWaitTimeout`: Set the timeout for queue wait
|
||||
|
||||
## Accessing the AI Chatbot Sidebar
|
||||
|
||||
To access the AI chatbot sidebar, use one of the following methods:
|
||||
|
||||
- Press `CTRL+B` to open the bookmarks sidebar and switch to AI Chatbot
|
||||
- Press `CTRL+Alt+X` to open the AI chatbot sidebar directly
|
||||
---
|
||||
sidebar_position: 4100
|
||||
title: "Firefox AI Chatbot Sidebar"
|
||||
---
|
||||
|
||||
:::warning
|
||||
|
||||
This tutorial is a community contribution and is not supported by the Open WebUI team. It serves only as a demonstration on how to customize Open WebUI for your specific use case. Want to contribute? Check out the contributing tutorial.
|
||||
|
||||
:::
|
||||
|
||||
## 🦊 Firefox AI Chatbot Sidebar
|
||||
|
||||
# Integrating Open WebUI as a Local AI Chatbot Browser Assistant in Mozilla Firefox
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Before integrating Open WebUI as a AI chatbot browser assistant in Mozilla Firefox, ensure you have:
|
||||
|
||||
- Open WebUI instance URL (local or domain)
|
||||
- Firefox browser installed
|
||||
|
||||
## Enabling AI Chatbot in Firefox
|
||||
|
||||
1. Click on the hamburger button (three horizontal lines button at the top right corner, just below the `X` button)
|
||||
2. Open up Firefox settings
|
||||
3. Click on the `Firefox Labs` section
|
||||
4. Toggle on `AI Chatbot`
|
||||
|
||||
Alternatively, you can enable AI Chatbot through the `about:config` page (described in the next section).
|
||||
|
||||
## Configuring about:config Settings
|
||||
|
||||
1. Type `about:config` in the Firefox address bar
|
||||
2. Click `Accept the Risk and Continue`
|
||||
3. Search for `browser.ml.chat.enabled` and toggle it to `true` if it's not already enabled through Firefox Labs
|
||||
4. Search for `browser.ml.chat.hideLocalhost` and toggle it to `false`
|
||||
|
||||
### browser.ml.chat.prompts.{#}
|
||||
|
||||
To add custom prompts, follow these steps:
|
||||
|
||||
1. Search for `browser.ml.chat.prompts.{#}` (replace `{#}` with a number, e.g., `0`, `1`, `2`, etc.)
|
||||
2. Click the `+` button to add a new prompt
|
||||
3. Enter the prompt label, value, and ID (e.g., `{"id":"My Prompt", "value": "This is my custom prompt.", "label": "My Prompt"}`)
|
||||
4. Repeat the process to add more prompts as desired
|
||||
|
||||
### browser.ml.chat.provider
|
||||
|
||||
1. Search for `browser.ml.chat.provider`
|
||||
2. Enter your Open WebUI instance URL, including any optional parameters (e.g., `https://my-open-webui-instance.com/?model=browser-productivity-assistant&temporary-chat=true&tools=jina_web_scrape`)
|
||||
|
||||
## URL Parameters for Open WebUI
|
||||
|
||||
The following URL parameters can be used to customize your Open WebUI instance:
|
||||
|
||||
### Models and Model Selection
|
||||
|
||||
- `models`: Specify multiple models (comma-separated list) for the chat session (e.g., `/?models=model1,model2`)
|
||||
- `model`: Specify a single model for the chat session (e.g., `/?model=model1`)
|
||||
|
||||
### YouTube Transcription
|
||||
|
||||
- `youtube`: Provide a YouTube video ID to transcribe the video in the chat (e.g., `/?youtube=VIDEO_ID`)
|
||||
|
||||
### Web Search
|
||||
|
||||
- `web-search`: Enable web search functionality by setting this parameter to `true` (e.g., `/?web-search=true`)
|
||||
|
||||
### Tool Selection
|
||||
|
||||
- `tools` or `tool-ids`: Specify a comma-separated list of tool IDs to activate in the chat (e.g., `/?tools=tool1,tool2` or `/?tool-ids=tool1,tool2`)
|
||||
|
||||
### Call Overlay
|
||||
|
||||
- `call`: Enable a video or call overlay in the chat interface by setting this parameter to `true` (e.g., `/?call=true`)
|
||||
|
||||
### Initial Query Prompt
|
||||
|
||||
- `q`: Set an initial query or prompt for the chat (e.g., `/?q=Hello%20there`)
|
||||
|
||||
### Temporary Chat Sessions
|
||||
|
||||
- `temporary-chat`: Mark the chat as a temporary session by setting this parameter to `true` (e.g., `/?temporary-chat=true`)
|
||||
- *Note: Document processing is frontend-only in temporary chats. Complex files requiring backend parsing may not work.*
|
||||
|
||||
See https://docs.openwebui.com/features/chat-features/url-params for more info on URL parameters and how to use them.
|
||||
|
||||
## Additional about:config Settings
|
||||
|
||||
The following `about:config` settings can be adjusted for further customization:
|
||||
|
||||
- `browser.ml.chat.shortcuts`: Enable custom shortcuts for the AI chatbot sidebar
|
||||
- `browser.ml.chat.shortcuts.custom`: Enable custom shortcut keys for the AI chatbot sidebar
|
||||
- `browser.ml.chat.shortcuts.longPress`: Set the long press delay for shortcut keys
|
||||
- `browser.ml.chat.sidebar`: Enable the AI chatbot sidebar
|
||||
- `browser.ml.checkForMemory`: Check for available memory before loading models
|
||||
- `browser.ml.defaultModelMemoryUsage`: Set the default memory usage for models
|
||||
- `browser.ml.enable`: Enable the machine learning features in Firefox
|
||||
- `browser.ml.logLevel`: Set the log level for machine learning features
|
||||
- `browser.ml.maximumMemoryPressure`: Set the maximum memory pressure threshold
|
||||
- `browser.ml.minimumPhysicalMemory`: Set the minimum physical memory required
|
||||
- `browser.ml.modelCacheMaxSize`: Set the maximum size of the model cache
|
||||
- `browser.ml.modelCacheTimeout`: Set the timeout for model cache
|
||||
- `browser.ml.modelHubRootUrl`: Set the root URL for the model hub
|
||||
- `browser.ml.modelHubUrlTemplate`: Set the URL template for the model hub
|
||||
- `browser.ml.queueWaitInterval`: Set the interval for queue wait
|
||||
- `browser.ml.queueWaitTimeout`: Set the timeout for queue wait
|
||||
|
||||
## Accessing the AI Chatbot Sidebar
|
||||
|
||||
To access the AI chatbot sidebar, use one of the following methods:
|
||||
|
||||
- Press `CTRL+B` to open the bookmarks sidebar and switch to AI Chatbot
|
||||
- Press `CTRL+Alt+X` to open the AI chatbot sidebar directly
|
||||
@@ -1,4 +1,5 @@
|
||||
---
|
||||
slug: /tutorials/integrations/jupyter
|
||||
sidebar_position: 321
|
||||
title: "Jupyter Notebook Integration"
|
||||
---
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"label": "LLM Providers",
|
||||
"position": 1,
|
||||
"collapsible": true,
|
||||
"collapsed": true
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
sidebar_position: 1
|
||||
title: "Run DeepSeek R1 Dynamic 1.58-bit with Llama.cpp"
|
||||
title: "DeepSeek R1 Dynamic"
|
||||
---
|
||||
|
||||
A huge shoutout to **UnslothAI** for their incredible efforts! Thanks to their hard work, we can now run the **full DeepSeek-R1** 671B parameter model in its dynamic 1.58-bit quantized form (compressed to just 131GB) on **Llama.cpp**! And the best part? You no longer have to despair about needing massive enterprise-class GPUs or servers — it’s possible to run this model on your personal machine (albeit slowly for most consumer hardware).
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
sidebar_position: 11
|
||||
title: "Local LLM Setup with IPEX-LLM on Intel GPU"
|
||||
title: "IPEX-LLM (Intel GPU)"
|
||||
---
|
||||
|
||||
:::warning
|
||||
@@ -11,7 +11,7 @@ This tutorial is a community contribution and is not supported by the Open WebUI
|
||||
|
||||
:::note
|
||||
|
||||
This guide is verified with Open WebUI setup through [Manual Installation](../../getting-started/index.md).
|
||||
This guide is verified with Open WebUI setup through [Manual Installation](/getting-started/).
|
||||
|
||||
:::
|
||||
|
||||
6
docs/tutorials/integrations/monitoring/_category_.json
Normal file
6
docs/tutorials/integrations/monitoring/_category_.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"label": "Monitoring",
|
||||
"position": 3,
|
||||
"collapsible": true,
|
||||
"collapsed": true
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
title: "Monitor your LLM requests with Helicone"
|
||||
title: "Helicone"
|
||||
sidebar_position: 19
|
||||
---
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
sidebar_position: 20
|
||||
title: "Monitoring and Debugging with Langfuse"
|
||||
title: "Langfuse"
|
||||
---
|
||||
|
||||
## Langfuse Integration with Open WebUI
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
sidebar_position: 32
|
||||
title: "Integrate with OneDrive & SharePoint"
|
||||
title: "OneDrive & SharePoint"
|
||||
---
|
||||
|
||||
:::info
|
||||
|
||||
Reference in New Issue
Block a user