Manual control and high performance.
- +Zero-config automatic HTTPS.
- +Browse the full category of guides.
diff --git a/docs/getting-started/advanced-topics/monitoring/index.md b/docs/reference/monitoring/index.md similarity index 97% rename from docs/getting-started/advanced-topics/monitoring/index.md rename to docs/reference/monitoring/index.md index 5e0a097f39..2a7402dbc6 100644 --- a/docs/getting-started/advanced-topics/monitoring/index.md +++ b/docs/reference/monitoring/index.md @@ -69,7 +69,7 @@ To go beyond basic availability, you can monitor the `/api/models` endpoint. Thi **API Endpoint Details:** -See the [Open WebUI API documentation](https://docs.openwebui.com/getting-started/api-endpoints/#-retrieve-all-models) for full details about the `/api/models` endpoint and its response structure. +See the [Open WebUI API documentation](https://docs.openwebui.com/reference/api-endpoints/#-retrieve-all-models) for full details about the `/api/models` endpoint and its response structure. **How to Test with `curl` (Authenticated):** @@ -180,8 +180,8 @@ This approach limits the potential impact if the monitoring API key is compromis If you don't see the API key generation option in your account settings: -- **Check global setting**: Verify that an administrator has enabled API keys globally under **Admin Panel** > **Settings** > **General** > **Enable API Keys**. See [`ENABLE_API_KEYS`](/getting-started/env-configuration#enable_api_keys). -- **Check your permissions**: Verify that your user account or group has been granted the "API Keys" feature permission under **Features Permissions**. See [`USER_PERMISSIONS_FEATURES_API_KEYS`](/getting-started/env-configuration#user_permissions_features_api_keys). +- **Check global setting**: Verify that an administrator has enabled API keys globally under **Admin Panel** > **Settings** > **General** > **Enable API Keys**. See [`ENABLE_API_KEYS`](/reference/env-configuration#enable_api_keys). +- **Check your permissions**: Verify that your user account or group has been granted the "API Keys" feature permission under **Features Permissions**. See [`USER_PERMISSIONS_FEATURES_API_KEYS`](/reference/env-configuration#user_permissions_features_api_keys). ### Using Uptime Kuma for Model Connectivity Monitoring 🐻 diff --git a/docs/getting-started/advanced-topics/monitoring/otel.md b/docs/reference/monitoring/otel.md similarity index 100% rename from docs/getting-started/advanced-topics/monitoring/otel.md rename to docs/reference/monitoring/otel.md diff --git a/docs/getting-started/advanced-topics/network-diagrams.mdx b/docs/reference/network-diagrams.mdx similarity index 100% rename from docs/getting-started/advanced-topics/network-diagrams.mdx rename to docs/reference/network-diagrams.mdx diff --git a/docs/troubleshooting/audio.mdx b/docs/troubleshooting/audio.mdx index cee60d187b..52df8a58bd 100644 --- a/docs/troubleshooting/audio.mdx +++ b/docs/troubleshooting/audio.mdx @@ -1,6 +1,6 @@ --- sidebar_position: 3 -title: "Audio Troubleshooting" +title: "Audio" --- import { TopBanners } from "@site/src/components/TopBanners"; @@ -99,7 +99,7 @@ services: - AUDIO_TTS_OPENAI_API_KEY=not-needed ``` -→ See full guide: [OpenAI Edge TTS](/features/audio/text-to-speech/openai-edge-tts-integration) +→ See full guide: [OpenAI Edge TTS](/features/media-generation/audio/text-to-speech/openai-edge-tts-integration) ### Browser-Only Setup (No Backend Config Needed) @@ -191,7 +191,7 @@ docker exec open-webui bash -lc "pip show datasets" ``` :::tip -Consider using an external TTS service like [OpenAI Edge TTS](/features/audio/text-to-speech/openai-edge-tts-integration) or [Kokoro](/features/audio/text-to-speech/Kokoro-FastAPI-integration) instead of local Transformers TTS to avoid these dependency conflicts. +Consider using an external TTS service like [OpenAI Edge TTS](/features/media-generation/audio/text-to-speech/openai-edge-tts-integration) or [Kokoro](/features/media-generation/audio/text-to-speech/Kokoro-FastAPI-integration) instead of local Transformers TTS to avoid these dependency conflicts. ::: #### 2. Using External TTS Instead of Local @@ -423,7 +423,7 @@ curl http://your-tts-service:port/health | `AUDIO_STT_OPENAI_API_KEY` | API key for OpenAI-compatible STT | | `DEEPGRAM_API_KEY` | Deepgram API key | -For a complete list of audio environment variables, see [Environment Variable Configuration](/getting-started/env-configuration#audio). +For a complete list of audio environment variables, see [Environment Variable Configuration](/reference/env-configuration#audio). --- diff --git a/docs/troubleshooting/connection-error.mdx b/docs/troubleshooting/connection-error.mdx index a49b32c969..6d1af6ee3d 100644 --- a/docs/troubleshooting/connection-error.mdx +++ b/docs/troubleshooting/connection-error.mdx @@ -1,6 +1,6 @@ --- sidebar_position: 0 -title: "Server Connectivity Issues" +title: "Connection Errors" --- We're here to help you get everything set up and running smoothly. Below, you'll find step-by-step instructions tailored for different scenarios to solve common connection issues. @@ -269,7 +269,7 @@ Manual database manipulation should be a last resort. Always back up your databa | `RESET_CONFIG_ON_START` | `false` | Reset database config to env var values on startup | | `ENABLE_PERSISTENT_CONFIG` | `true` | Whether database config takes precedence over env vars | -See the [Environment Configuration](/getting-started/env-configuration#aiohttp_client_timeout_model_list) documentation for more details. +See the [Environment Configuration](/reference/env-configuration#aiohttp_client_timeout_model_list) documentation for more details. ## 🐢 Slow Performance or Timeouts on Low-Spec Hardware @@ -287,7 +287,7 @@ Disable database session sharing: DATABASE_ENABLE_SESSION_SHARING=false ``` -For PostgreSQL on adequate hardware, enabling this setting may improve performance. See the [DATABASE_ENABLE_SESSION_SHARING](/getting-started/env-configuration#database_enable_session_sharing) documentation for details. +For PostgreSQL on adequate hardware, enabling this setting may improve performance. See the [DATABASE_ENABLE_SESSION_SHARING](/reference/env-configuration#database_enable_session_sharing) documentation for details. ## 🔒 SSL Connection Issue with Hugging Face @@ -355,7 +355,7 @@ If you are having trouble connecting to MCP tools (e.g. "Failed to connect to MC * **Authentication**: Ensure you aren't using "Bearer" without a token. * **Filters**: Try adding a comma to the Function Name Filter List. -See the [MCP Feature Documentation](/features/mcp#troubleshooting) for detailed troubleshooting steps. +See the [MCP Feature Documentation](/features/extensibility/mcp#troubleshooting) for detailed troubleshooting steps. ## 🔐 SSL/TLS Errors with Web Search diff --git a/docs/troubleshooting/image-generation.md b/docs/troubleshooting/image-generation.md index 40796d26ec..9debb96284 100644 --- a/docs/troubleshooting/image-generation.md +++ b/docs/troubleshooting/image-generation.md @@ -64,8 +64,8 @@ For advanced configuration, you can set the following environment variables. **Gemini** - `IMAGES_GEMINI_API_KEY`: API Key for Gemini. -- [View Gemini Configuration Guide](/features/image-generation-and-editing/gemini) +- [View Gemini Configuration Guide](/features/media-generation/image-generation-and-editing/gemini) :::tip -For a complete list of environment variables and detailed configuration options, please refer to the [Environment Configuration Guide](/getting-started/env-configuration). +For a complete list of environment variables and detailed configuration options, please refer to the [Environment Configuration Guide](/reference/env-configuration). ::: diff --git a/docs/troubleshooting/index.mdx b/docs/troubleshooting/index.mdx index 046c3056ee..eaaefa7fee 100644 --- a/docs/troubleshooting/index.mdx +++ b/docs/troubleshooting/index.mdx @@ -11,7 +11,7 @@ import { TopBanners } from "@site/src/components/TopBanners"; Encountering issues? Don't worry, we're here to help! 😊 Start with this important step: - 🔄 Make sure you're using the **latest version** of the software. -- 💾 **Check for Configuration Persistence:** Open WebUI prioritizes settings stored in its internal database over environment variables for certain settings (marked as `PersistentConfig`). If your environment changes (like `ENABLE_SIGNUP=True`) seem to be ignored, see the **[Environment Variable Configuration](/getting-started/env-configuration#important-note-on-persistentconfig-environment-variables)** page for how to force updates or manually edit the database. +- 💾 **Check for Configuration Persistence:** Open WebUI prioritizes settings stored in its internal database over environment variables for certain settings (marked as `PersistentConfig`). If your environment changes (like `ENABLE_SIGNUP=True`) seem to be ignored, see the **[Environment Variable Configuration](/reference/env-configuration#important-note-on-persistentconfig-environment-variables)** page for how to force updates or manually edit the database. With this project constantly evolving, updates and fixes are regularly added. Keeping your software up-to-date is crucial to take advantage of all the enhancements and fixes, ensuring the best possible experience. 🚀 diff --git a/docs/troubleshooting/manual-database-migration.md b/docs/troubleshooting/manual-database-migration.md index 16861ef700..c173740fbd 100644 --- a/docs/troubleshooting/manual-database-migration.md +++ b/docs/troubleshooting/manual-database-migration.md @@ -1,6 +1,6 @@ --- sidebar_position: 900 -title: Manual Alembic Database Migration +title: "Database Migration" sidebar_label: Manual Migration description: Complete guide for manually running Alembic database migrations when Open WebUI's automatic migration fails or requires direct intervention. keywords: [alembic, migration, database, troubleshooting, sqlite, postgresql, docker] @@ -481,7 +481,7 @@ There are three ways to resolve this, listed from safest to most lossy: #### Option 1: Restore from Backup (Recommended) -Restore your database from the backup you created in [Step 1](#step-1-backup-your-database), then run `alembic upgrade head` on the clean backup. This guarantees the full migration — including all data backfills — completes correctly. +Restore your database from the backup you created in [Step 1](#step-1-create-and-verify-backup), then run `alembic upgrade head` on the clean backup. This guarantees the full migration — including all data backfills — completes correctly. #### Option 2: Drop the Table and Re-Run diff --git a/docs/troubleshooting/multi-replica.mdx b/docs/troubleshooting/multi-replica.mdx index a3f18fa1de..5be1572461 100644 --- a/docs/troubleshooting/multi-replica.mdx +++ b/docs/troubleshooting/multi-replica.mdx @@ -1,6 +1,6 @@ --- sidebar_position: 10 -title: "Multi-Replica / High Availability / Concurrency" +title: "Scaling & HA" --- # Multi-Replica, High Availability & Concurrency Troubleshooting @@ -11,12 +11,12 @@ This guide addresses common issues encountered when deploying Open WebUI in **mu Before troubleshooting specific errors, ensure your deployment meets these **absolute requirements** for a multi-replica setup. Missing any of these will cause instability, login loops, or data loss. -1. **Shared Secret Key:** [`WEBUI_SECRET_KEY`](/getting-started/env-configuration#webui_secret_key) **MUST** be identical on all replicas. -2. **External Database:** You **MUST** use an external PostgreSQL database (see [`DATABASE_URL`](/getting-started/env-configuration#database_url)). SQLite is **NOT** supported for multiple instances. -3. **Redis for WebSockets:** [`ENABLE_WEBSOCKET_SUPPORT=True`](/getting-started/env-configuration#enable_websocket_support) and [`WEBSOCKET_MANAGER=redis`](/getting-started/env-configuration#websocket_manager) with a valid [`WEBSOCKET_REDIS_URL`](/getting-started/env-configuration#websocket_redis_url) are required. +1. **Shared Secret Key:** [`WEBUI_SECRET_KEY`](/reference/env-configuration#webui_secret_key) **MUST** be identical on all replicas. +2. **External Database:** You **MUST** use an external PostgreSQL database (see [`DATABASE_URL`](/reference/env-configuration#database_url)). SQLite is **NOT** supported for multiple instances. +3. **Redis for WebSockets:** [`ENABLE_WEBSOCKET_SUPPORT=True`](/reference/env-configuration#enable_websocket_support) and [`WEBSOCKET_MANAGER=redis`](/reference/env-configuration#websocket_manager) with a valid [`WEBSOCKET_REDIS_URL`](/reference/env-configuration#websocket_redis_url) are required. 4. **Shared Storage:** A persistent volume (RWX / ReadWriteMany if possible, or ensuring all replicas map to the same underlying storage for `data/`) is critical for RAG (uploads/vectors) and generated images. -5. **External Vector Database (Recommended):** While embedded Chroma works with shared storage, using a dedicated external Vector DB (e.g., [PGVector](/getting-started/env-configuration#pgvector_db_url), Milvus, Qdrant) is **highly recommended** to avoid file locking issues and improve performance. -6. **Database Session Sharing (Optional):** For PostgreSQL deployments with adequate resources, consider enabling [`DATABASE_ENABLE_SESSION_SHARING=True`](/getting-started/env-configuration#database_enable_session_sharing) to improve performance under high concurrency. +5. **External Vector Database (Recommended):** While embedded Chroma works with shared storage, using a dedicated external Vector DB (e.g., [PGVector](/reference/env-configuration#pgvector_db_url), Milvus, Qdrant) is **highly recommended** to avoid file locking issues and improve performance. +6. **Database Session Sharing (Optional):** For PostgreSQL deployments with adequate resources, consider enabling [`DATABASE_ENABLE_SESSION_SHARING=True`](/reference/env-configuration#database_enable_session_sharing) to improve performance under high concurrency. --- @@ -54,7 +54,7 @@ env: - **Missing Redis:** WebSockets are defaulting to in-memory, so events on Replica A (e.g., LLM generation finish) are not broadcast to the user connected to Replica B. **Solution:** -1. **Configure CORS:** Ensure [`CORS_ALLOW_ORIGIN`](/getting-started/env-configuration#cors_allow_origin) includes your public domain *and* http/https variations. +1. **Configure CORS:** Ensure [`CORS_ALLOW_ORIGIN`](/reference/env-configuration#cors_allow_origin) includes your public domain *and* http/https variations. If you see logs like `engineio.base_server:_log_error_once:354 - https://yourdomain.com is not an accepted origin`, you must update this variable. It accepts a **semicolon-separated list** of allowed origins. @@ -143,7 +143,7 @@ Enabling session sharing can improve performance under high concurrency: DATABASE_ENABLE_SESSION_SHARING=true ``` -See [DATABASE_ENABLE_SESSION_SHARING](/getting-started/env-configuration#database_enable_session_sharing) for details. +See [DATABASE_ENABLE_SESSION_SHARING](/reference/env-configuration#database_enable_session_sharing) for details. #### Connection Pool Sizing @@ -172,7 +172,7 @@ For example, with `DATABASE_POOL_SIZE=15`, `DATABASE_POOL_MAX_OVERFLOW=20`, 3 re ::: -See [DATABASE_POOL_SIZE](/getting-started/env-configuration#database_pool_size) for details. +See [DATABASE_POOL_SIZE](/reference/env-configuration#database_pool_size) for details. --- @@ -213,7 +213,7 @@ While Open WebUI is designed to be stateless with proper Redis configuration, en ## Related Documentation -- [Environment Variable Configuration](/getting-started/env-configuration) +- [Environment Variable Configuration](/reference/env-configuration) - [Optimization, Performance & RAM Usage](/troubleshooting/performance) - [Troubleshooting Connection Errors](/troubleshooting/connection-error) - [Logging Configuration](/getting-started/advanced-topics/logging) diff --git a/docs/troubleshooting/performance.md b/docs/troubleshooting/performance.md index 678eb956d2..9fe16ffe39 100644 --- a/docs/troubleshooting/performance.md +++ b/docs/troubleshooting/performance.md @@ -1,6 +1,6 @@ --- sidebar_position: 15 -title: "Optimization, Performance & RAM Usage" +title: "Performance & RAM" --- # Optimization, Performance & RAM Usage @@ -91,7 +91,7 @@ By default, Open WebUI saves chats **after generation is complete**. While savin - **Env Var**: `ENABLE_REALTIME_CHAT_SAVE=False` (Default) - **Effect**: Chats are saved only when the generation is complete (or periodically). -- **Recommendation**: **DO NOT ENABLE `ENABLE_REALTIME_CHAT_SAVE` in production.** It is highly recommended to keep this `False` to prevent database connection exhaustion and severe performance degradation under concurrent load. See the [Environment Variable Configuration](/getting-started/env-configuration#enable_realtime_chat_save) for details. +- **Recommendation**: **DO NOT ENABLE `ENABLE_REALTIME_CHAT_SAVE` in production.** It is highly recommended to keep this `False` to prevent database connection exhaustion and severe performance degradation under concurrent load. See the [Environment Variable Configuration](/reference/env-configuration#enable_realtime_chat_save) for details. ### Database Session Sharing @@ -367,22 +367,22 @@ If resource usage is critical, disable automated features that constantly trigge ## 🔗 Environment Variable References -For detailed information on all available variables, see the [Environment Configuration](/getting-started/env-configuration) guide. +For detailed information on all available variables, see the [Environment Configuration](/reference/env-configuration) guide. | Variable | Description & Link | | :--- | :--- | -| `TASK_MODEL` | [Task Model (Local)](/getting-started/env-configuration#task_model) | -| `TASK_MODEL_EXTERNAL` | [Task Model (External)](/getting-started/env-configuration#task_model_external) | -| `ENABLE_BASE_MODELS_CACHE` | [Cache Model List](/getting-started/env-configuration#enable_base_models_cache) | -| `MODELS_CACHE_TTL` | [Model Cache TTL](/getting-started/env-configuration#models_cache_ttl) | -| `ENABLE_QUERIES_CACHE` | [Queries Cache](/getting-started/env-configuration#enable_queries_cache) | -| `DATABASE_URL` | [Database URL](/getting-started/env-configuration#database_url) | -| `ENABLE_REALTIME_CHAT_SAVE` | [Realtime Chat Save](/getting-started/env-configuration#enable_realtime_chat_save) | -| `CHAT_RESPONSE_STREAM_DELTA_CHUNK_SIZE` | [Streaming Chunk Size](/getting-started/env-configuration#chat_response_stream_delta_chunk_size) | -| `THREAD_POOL_SIZE` | [Thread Pool Size](/getting-started/env-configuration#thread_pool_size) | -| `RAG_EMBEDDING_ENGINE` | [Embedding Engine](/getting-started/env-configuration#rag_embedding_engine) | -| `AUDIO_STT_ENGINE` | [STT Engine](/getting-started/env-configuration#audio_stt_engine) | -| `ENABLE_IMAGE_GENERATION` | [Image Generation](/getting-started/env-configuration#enable_image_generation) | -| `ENABLE_AUTOCOMPLETE_GENERATION` | [Autocomplete](/getting-started/env-configuration#enable_autocomplete_generation) | -| `RAG_SYSTEM_CONTEXT` | [RAG System Context](/getting-started/env-configuration#rag_system_context) | -| `DATABASE_ENABLE_SESSION_SHARING` | [Database Session Sharing](/getting-started/env-configuration#database_enable_session_sharing) | +| `TASK_MODEL` | [Task Model (Local)](/reference/env-configuration#task_model) | +| `TASK_MODEL_EXTERNAL` | [Task Model (External)](/reference/env-configuration#task_model_external) | +| `ENABLE_BASE_MODELS_CACHE` | [Cache Model List](/reference/env-configuration#enable_base_models_cache) | +| `MODELS_CACHE_TTL` | [Model Cache TTL](/reference/env-configuration#models_cache_ttl) | +| `ENABLE_QUERIES_CACHE` | [Queries Cache](/reference/env-configuration#enable_queries_cache) | +| `DATABASE_URL` | [Database URL](/reference/env-configuration#database_url) | +| `ENABLE_REALTIME_CHAT_SAVE` | [Realtime Chat Save](/reference/env-configuration#enable_realtime_chat_save) | +| `CHAT_RESPONSE_STREAM_DELTA_CHUNK_SIZE` | [Streaming Chunk Size](/reference/env-configuration#chat_response_stream_delta_chunk_size) | +| `THREAD_POOL_SIZE` | [Thread Pool Size](/reference/env-configuration#thread_pool_size) | +| `RAG_EMBEDDING_ENGINE` | [Embedding Engine](/reference/env-configuration#rag_embedding_engine) | +| `AUDIO_STT_ENGINE` | [STT Engine](/reference/env-configuration#audio_stt_engine) | +| `ENABLE_IMAGE_GENERATION` | [Image Generation](/reference/env-configuration#enable_image_generation) | +| `ENABLE_AUTOCOMPLETE_GENERATION` | [Autocomplete](/reference/env-configuration#enable_autocomplete_generation) | +| `RAG_SYSTEM_CONTEXT` | [RAG System Context](/reference/env-configuration#rag_system_context) | +| `DATABASE_ENABLE_SESSION_SHARING` | [Database Session Sharing](/reference/env-configuration#database_enable_session_sharing) | diff --git a/docs/troubleshooting/rag.mdx b/docs/troubleshooting/rag.mdx index 9a0aa66f9d..5488c75f16 100644 --- a/docs/troubleshooting/rag.mdx +++ b/docs/troubleshooting/rag.mdx @@ -1,6 +1,6 @@ --- sidebar_position: 3 -title: "Troubleshooting RAG (Retrieval-Augmented Generation)" +title: "RAG" --- Retrieval-Augmented Generation (RAG) enables language models to reason over external content—documents, knowledge bases, and more—by retrieving relevant info and feeding it into the model. But when things don't work as expected (e.g., the model "hallucinates" or misses relevant info), it's often not the model's fault—it's a context issue. @@ -144,7 +144,7 @@ Open WebUI implements various limits to ensure system stability and prevent abus * **Max File Size:** Controlled by `RAG_FILE_MAX_SIZE` (default: Unlimited). Configurable in **Admin Panel > Settings > Documents > General > Max Upload Size**. * **Max File Count:** Controlled by `RAG_FILE_MAX_COUNT` (default: Unlimited). Configurable in **Admin Panel > Settings > Documents > General > Max Upload Count**. * **Allowed File Extensions:** Controlled by `RAG_ALLOWED_FILE_EXTENSIONS` (default: All). Configurable in **Admin Panel > Settings > Documents > General > Allowed File Extensions**. -* **Folder Uploads:** Subject to the `FOLDER_MAX_FILE_COUNT` [environment variable](/getting-started/env-configuration/#folder_max_file_count) (defaults to 100). This limit applies to the number of files directly associated with a folder. +* **Folder Uploads:** Subject to the `FOLDER_MAX_FILE_COUNT` [environment variable](/reference/env-configuration/#folder_max_file_count) (defaults to 100). This limit applies to the number of files directly associated with a folder. * **Knowledge Base Uploads:** * **File Limit:** Subject to the same `RAG_FILE_MAX_SIZE` limit as chats, but **not** subject to the `RAG_FILE_MAX_COUNT` limit, allowing for unlimited file uploads. * **RAG Enforcement:** All files uploaded to a Knowledge Base are automatically indexed. However, similar to chat uploads, Knowledge Bases can also be used in **Full Context Mode** (accessible in chat settings), which feeds the full document content to the model instead of using vector search retrieval. @@ -238,7 +238,7 @@ def wait_for_processing(token, file_id, timeout=300): | `failed` | Processing failed (check error field) | :::tip -For complete API workflow examples including proper status checking, see the [API Endpoints documentation](/getting-started/api-endpoints#checking-file-processing-status). +For complete API workflow examples including proper status checking, see the [API Endpoints documentation](/reference/api-endpoints#checking-file-processing-status). ::: --- @@ -353,7 +353,7 @@ If you are running a version with this fix and still experiencing worker death, RAG_EMBEDDING_MODEL=nomic-embed-text ``` -4. **Optionally set a safety timeout** via [`RAG_EMBEDDING_TIMEOUT`](/getting-started/env-configuration#rag_embedding_timeout) to abort abnormally long embedding operations (does not affect health checks). +4. **Optionally set a safety timeout** via [`RAG_EMBEDDING_TIMEOUT`](/reference/env-configuration#rag_embedding_timeout) to abort abnormally long embedding operations (does not affect health checks). --- diff --git a/docs/troubleshooting/sso.mdx b/docs/troubleshooting/sso.mdx index c100790753..36d4a71104 100644 --- a/docs/troubleshooting/sso.mdx +++ b/docs/troubleshooting/sso.mdx @@ -1,6 +1,6 @@ --- sidebar_position: 4 -title: "Troubleshooting OAUTH / SSO Issues" +title: "SSO & OAuth" --- OAUTH or Single Sign-On (SSO) lets you secure Open WebUI with modern authentication, but when users encounter login problems, the solution is often simple—if you know where to look. Most of the time, one of these key issues below is the culprit. Here's how to hunt them down and fix SSO headaches fast! 🚦 @@ -62,7 +62,7 @@ ENABLE_OAUTH_SIGNUP=true ``` ✅ Solutions: -- **Always reference the official [environment configuration documentation](https://docs.openwebui.com/getting-started/env-configuration/)** for exact variable names +- **Always reference the official [environment configuration documentation](https://docs.openwebui.com/reference/env-configuration/)** for exact variable names - Double-check your deployment environment: - Ensure all required environment variables are set exactly as documented - If self-hosting, confirm these variables are present in your Docker Compose, Kubernetes manifest, or `.env` file diff --git a/docs/troubleshooting/web-search.mdx b/docs/troubleshooting/web-search.mdx index 2e95e6e0f1..b2e963e3cb 100644 --- a/docs/troubleshooting/web-search.mdx +++ b/docs/troubleshooting/web-search.mdx @@ -1,6 +1,6 @@ --- sidebar_position: 4 -title: "Troubleshooting Web Search" +title: "Web Search" --- Web Search in Open WebUI allows language models to access real-time information from the internet. When things don't work as expected, this guide will help you diagnose and fix common issues. @@ -23,7 +23,7 @@ This happens because the web content fetcher doesn't use your `http_proxy`/`http 2. Enable **Trust Proxy Environment** 3. Save changes -Alternatively, set the environment variable [`WEB_SEARCH_TRUST_ENV`](../getting-started/env-configuration#web_search_trust_env): +Alternatively, set the environment variable [`WEB_SEARCH_TRUST_ENV`](/reference/env-configuration#web_search_trust_env): ```bash WEB_SEARCH_TRUST_ENV=True @@ -90,7 +90,7 @@ If web searches are timing out: ## Environment Variables Reference -For a comprehensive list of all web search environment variables, see the [Environment Configuration documentation](../getting-started/env-configuration#web-search). +For a comprehensive list of all web search environment variables, see the [Environment Configuration documentation](/reference/env-configuration#web-search). Key variables: @@ -111,4 +111,4 @@ If you're still experiencing problems: 1. Check the Open WebUI logs for detailed error messages 2. Verify your search engine configuration is correct 3. Test connectivity from the Open WebUI container to your search engine -4. Review all [Web Search environment variables](../getting-started/env-configuration#web-search) for additional configuration options +4. Review all [Web Search environment variables](/reference/env-configuration#web-search) for additional configuration options diff --git a/docs/tutorials/deployment/index.mdx b/docs/tutorials/deployment/index.mdx index 6d25ec9bc6..a9c0afb420 100644 --- a/docs/tutorials/deployment/index.mdx +++ b/docs/tutorials/deployment/index.mdx @@ -1,6 +1,6 @@ --- -sidebar_position: 1000 -title: "Deployment & Community Guides" +sidebar_position: 5 +title: "Community Guides" --- import { TopBanners } from "@site/src/components/TopBanners"; diff --git a/docs/tutorials/https/_category_.json b/docs/tutorials/https/_category_.json index 254b95d438..c143f474cf 100644 --- a/docs/tutorials/https/_category_.json +++ b/docs/tutorials/https/_category_.json @@ -1,6 +1,6 @@ { "label": "HTTPS", - "position": 200, + "position": 10, "link": { "type": "generated-index" } diff --git a/docs/tutorials/https/caddy.md b/docs/tutorials/https/caddy.md index b1431a15c5..8d2a39d373 100644 --- a/docs/tutorials/https/caddy.md +++ b/docs/tutorials/https/caddy.md @@ -56,7 +56,7 @@ cd ~/open-webui ### Installing OpenWebUI -Create a `docker-compose.yml` file in the `~/open-webui` directory. I've left in a commented section for setting some environment varibles for Qdrant, but you can follow that for any other [environment variables](https://docs.openwebui.com/getting-started/env-configuration) you might need to set. +Create a `docker-compose.yml` file in the `~/open-webui` directory. I've left in a commented section for setting some environment varibles for Qdrant, but you can follow that for any other [environment variables](https://docs.openwebui.com/reference/env-configuration) you might need to set. ```yaml services: diff --git a/docs/tutorials/integrations/_category_.json b/docs/tutorials/integrations/_category_.json index 36497a8d43..c081ec17bd 100644 --- a/docs/tutorials/integrations/_category_.json +++ b/docs/tutorials/integrations/_category_.json @@ -1,6 +1,6 @@ { "label": "Integrations", - "position": 2, + "position": 20, "link": { "type": "generated-index" } diff --git a/docs/tutorials/integrations/auth-identity/_category_.json b/docs/tutorials/integrations/auth-identity/_category_.json new file mode 100644 index 0000000000..a7ddcdab4c --- /dev/null +++ b/docs/tutorials/integrations/auth-identity/_category_.json @@ -0,0 +1,6 @@ +{ + "label": "Auth & Identity", + "position": 2, + "collapsible": true, + "collapsed": true +} diff --git a/docs/tutorials/integrations/azure-ad-ds-ldap.mdx b/docs/tutorials/integrations/auth-identity/azure-ad-ds-ldap.mdx similarity index 99% rename from docs/tutorials/integrations/azure-ad-ds-ldap.mdx rename to docs/tutorials/integrations/auth-identity/azure-ad-ds-ldap.mdx index 44218712e2..364a86d418 100644 --- a/docs/tutorials/integrations/azure-ad-ds-ldap.mdx +++ b/docs/tutorials/integrations/auth-identity/azure-ad-ds-ldap.mdx @@ -1,5 +1,5 @@ --- -title: "Azure AD Domain Services (LDAPS) Integration" +title: "Azure AD LDAP" --- :::warning diff --git a/docs/tutorials/tips/dual-oauth-configuration.mdx b/docs/tutorials/integrations/auth-identity/dual-oauth-configuration.mdx similarity index 98% rename from docs/tutorials/tips/dual-oauth-configuration.mdx rename to docs/tutorials/integrations/auth-identity/dual-oauth-configuration.mdx index 9dd3e8caaa..e7ce2eea14 100644 --- a/docs/tutorials/tips/dual-oauth-configuration.mdx +++ b/docs/tutorials/integrations/auth-identity/dual-oauth-configuration.mdx @@ -1,5 +1,5 @@ --- -title: Dual OAuth Configuration (Microsoft & Google) +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. diff --git a/docs/tutorials/integrations/entra-group-name-sync.md b/docs/tutorials/integrations/auth-identity/entra-group-name-sync.md similarity index 93% rename from docs/tutorials/integrations/entra-group-name-sync.md rename to docs/tutorials/integrations/auth-identity/entra-group-name-sync.md index 6aec23f6fe..5c1fdaf996 100644 --- a/docs/tutorials/integrations/entra-group-name-sync.md +++ b/docs/tutorials/integrations/auth-identity/entra-group-name-sync.md @@ -1,6 +1,6 @@ --- sidebar_position: 15 -title: "Microsoft Entra ID Group Name Sync" +title: "Entra ID Group Sync" --- :::warning @@ -17,7 +17,7 @@ This tutorial explains how to configure Microsoft Entra ID to return group **nam ## Prerequisites -- An Open WebUI instance configured with [Microsoft OAuth](/features/auth/sso#microsoft) +- An Open WebUI instance configured with [Microsoft OAuth](/features/access-security/auth/sso#microsoft) - An Azure account with permissions to modify App Registrations - Access to the Microsoft Entra admin center - Basic understanding of Microsoft Entra ID application configuration @@ -30,7 +30,7 @@ To get human-readable group names in Open WebUI, you need to: 2. Modify the application manifest to use `cloud_displayname` 3. Set `groupMembershipClaims` to `ApplicationGroup` only 4. Assign security groups to the Enterprise Application -5. Configure Open WebUI environment variables for [OAuth Group Management](/features/auth/sso#oauth-group-management) +5. Configure Open WebUI environment variables for [OAuth Group Management](/features/access-security/auth/sso#oauth-group-management) :::info Key Requirement @@ -140,7 +140,7 @@ Ensure your App Registration has the required Microsoft Graph permissions: ## Step 5: Configure Open WebUI Environment Variables -Configure the following environment variables for your Open WebUI deployment. For more details on each variable, see the [environment variable documentation](/getting-started/env-configuration). +Configure the following environment variables for your Open WebUI deployment. For more details on each variable, see the [environment variable documentation](/reference/env-configuration). ```bash # Required: Your public WebUI address @@ -201,9 +201,9 @@ Admin users' group memberships are **not** automatically updated via OAuth group ## Additional Resources -- [SSO (OAuth, OIDC, Trusted Header)](/features/auth/sso) - OAuth configuration overview -- [OAuth Group Management](/features/auth/sso#oauth-group-management) - Group synchronization details -- [Groups](/features/rbac/groups) - Group management in Open WebUI +- [SSO (OAuth, OIDC, Trusted Header)](/features/access-security/auth/sso) - OAuth configuration overview +- [OAuth Group Management](/features/access-security/auth/sso#oauth-group-management) - Group synchronization details +- [Groups](/features/access-security/rbac/groups) - Group management in Open WebUI - [SSO Troubleshooting Guide](/troubleshooting/sso) - Common OAuth issues and solutions -- [Environment Configuration](/getting-started/env-configuration) - All environment variables +- [Environment Configuration](/reference/env-configuration) - All environment variables - [Microsoft Optional Claims Documentation](https://learn.microsoft.com/en-us/entra/identity-platform/optional-claims) - Microsoft's official documentation diff --git a/docs/tutorials/integrations/okta-oidc-sso.md b/docs/tutorials/integrations/auth-identity/okta-oidc-sso.md similarity index 99% rename from docs/tutorials/integrations/okta-oidc-sso.md rename to docs/tutorials/integrations/auth-identity/okta-oidc-sso.md index f5f2e3758a..8cd36e6871 100644 --- a/docs/tutorials/integrations/okta-oidc-sso.md +++ b/docs/tutorials/integrations/auth-identity/okta-oidc-sso.md @@ -214,5 +214,5 @@ Restart your Open WebUI instance after setting these environment variables. * **Groups Not Syncing:** Verify that the `OAUTH_GROUP_CLAIM` environment variable matches the claim name configured in the Okta ID Token settings. Ensure the user has logged out and back in after group changes - a login flow is required to update OIDC. Remember admin groups are not synced. * **Configuration Errors:** Review the Open WebUI server logs for detailed error messages related to OIDC configuration. -* Refer to the official [Open WebUI SSO Documentation](/features/auth/sso). +* Refer to the official [Open WebUI SSO Documentation](/features/access-security/auth/sso). * Consult the [Okta Developer Documentation](https://developer.okta.com/docs/). diff --git a/docs/tutorials/integrations/backend-controlled-ui-compatible-flow.md b/docs/tutorials/integrations/backend-controlled-ui-compatible-flow.md index 054423e248..f6cb1ad972 100644 --- a/docs/tutorials/integrations/backend-controlled-ui-compatible-flow.md +++ b/docs/tutorials/integrations/backend-controlled-ui-compatible-flow.md @@ -1,6 +1,6 @@ --- sidebar_position: 2 -title: "Backend-Controlled, UI-Compatible API Flow" +title: "Backend-Controlled API Flow" --- :::warning diff --git a/docs/tutorials/integrations/custom-ca.md b/docs/tutorials/integrations/custom-ca.md index bb66d20226..ba5773fa34 100644 --- a/docs/tutorials/integrations/custom-ca.md +++ b/docs/tutorials/integrations/custom-ca.md @@ -1,6 +1,6 @@ --- sidebar_position: 14 -title: "Setting up with Custom CA Store" +title: "Custom CA Store" --- :::warning diff --git a/docs/tutorials/integrations/dev-tools/_category_.json b/docs/tutorials/integrations/dev-tools/_category_.json new file mode 100644 index 0000000000..91f73f2f37 --- /dev/null +++ b/docs/tutorials/integrations/dev-tools/_category_.json @@ -0,0 +1,6 @@ +{ + "label": "Dev Tools", + "position": 4, + "collapsible": true, + "collapsed": true +} diff --git a/docs/tutorials/integrations/browser-search-engine.md b/docs/tutorials/integrations/dev-tools/browser-search-engine.md similarity index 97% rename from docs/tutorials/integrations/browser-search-engine.md rename to docs/tutorials/integrations/dev-tools/browser-search-engine.md index 173a6519d7..686a7b6c65 100644 --- a/docs/tutorials/integrations/browser-search-engine.md +++ b/docs/tutorials/integrations/dev-tools/browser-search-engine.md @@ -20,7 +20,7 @@ Open WebUI allows you to integrate directly into your web browser. This tutorial Before you begin, ensure that: - You have Chrome or another supported browser installed. -- The `WEBUI_URL` environment variable is set correctly, either using Docker environment variables or in the `.env` file as specified in the [Getting Started](https://docs.openwebui.com/getting-started/env-configuration) guide. +- The `WEBUI_URL` environment variable is set correctly, either using Docker environment variables or in the `.env` file as specified in the [Getting Started](https://docs.openwebui.com/reference/env-configuration) guide. ### Step 1: Set the WEBUI_URL Environment Variable diff --git a/docs/tutorials/integrations/continue-dev.md b/docs/tutorials/integrations/dev-tools/continue-dev.md similarity index 96% rename from docs/tutorials/integrations/continue-dev.md rename to docs/tutorials/integrations/dev-tools/continue-dev.md index d4369af0be..65f610052b 100644 --- a/docs/tutorials/integrations/continue-dev.md +++ b/docs/tutorials/integrations/dev-tools/continue-dev.md @@ -1,6 +1,6 @@ --- sidebar_position: 13 -title: "Continue.dev VS Code Extension with Open WebUI" +title: "Continue.dev" --- :::warning @@ -153,7 +153,7 @@ env: This is a crucial step: you need to direct the continue.dev extension requests to your Open WebUI instance. Either use an actual domain name if the instance is hosted somewhere (e.g., `https://example.com/api`) or your localhost setup (e.g., `http://localhost:3000/api`). -You can find more information about the URLs in the [API Endpoints guide](/getting-started/api-endpoints). +You can find more information about the URLs in the [API Endpoints guide](/reference/api-endpoints). ```yaml apiBase: http://localhost:3000/api @@ -164,7 +164,7 @@ apiBase: http://localhost:3000/api ### API Key To authenticate with your Open WebUI instance, you'll need to generate an API key. -Follow the instructions in [this guide](https://docs.openwebui.com/getting-started/advanced-topics/monitoring#authentication-setup-for-api-key-) to create it. +Follow the instructions in [this guide](https://docs.openwebui.com/reference/monitoring#authentication-setup-for-api-key-) to create it. ```yaml apiKey: YOUR_OPEN_WEBUI_API_KEY diff --git a/docs/tutorials/integrations/firefox-sidebar.md b/docs/tutorials/integrations/dev-tools/firefox-sidebar.md similarity index 95% rename from docs/tutorials/integrations/firefox-sidebar.md rename to docs/tutorials/integrations/dev-tools/firefox-sidebar.md index 882a38a0b5..b7fa38f6ff 100644 --- a/docs/tutorials/integrations/firefox-sidebar.md +++ b/docs/tutorials/integrations/dev-tools/firefox-sidebar.md @@ -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-conversations/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 diff --git a/docs/tutorials/integrations/iterm2.md b/docs/tutorials/integrations/dev-tools/iterm2.md similarity index 92% rename from docs/tutorials/integrations/iterm2.md rename to docs/tutorials/integrations/dev-tools/iterm2.md index 55e94854e6..6355e6f42b 100644 --- a/docs/tutorials/integrations/iterm2.md +++ b/docs/tutorials/integrations/dev-tools/iterm2.md @@ -18,7 +18,7 @@ Whenever you forget a command or need a quick bash script for a repetitive task, ## Why connect to your Open WebUI instance? -Open WebUI provides a simple and straightforward way to interact with your LLMs via its [API Endpoints](/getting-started/api-endpoints). This is particularly beneficial if you are running your own LLMs locally. Furthermore, you can leverage all your implemented features, monitoring, and other capabilities. +Open WebUI provides a simple and straightforward way to interact with your LLMs via its [API Endpoints](/reference/api-endpoints). This is particularly beneficial if you are running your own LLMs locally. Furthermore, you can leverage all your implemented features, monitoring, and other capabilities. ## Prerequisites @@ -30,7 +30,7 @@ Unzip the file and move the application into your **Applications** folder. ### 2. Generate your Open WebUI API key To authenticate with your Open WebUI instance, you'll need to generate an API key. -Follow the instructions in [this guide](https://docs.openwebui.com/getting-started/advanced-topics/monitoring#authentication-setup-for-api-key-) to create it. +Follow the instructions in [this guide](https://docs.openwebui.com/reference/monitoring#authentication-setup-for-api-key-) to create it. ## Configuration @@ -92,7 +92,7 @@ Set your preferred amount of tokens here. Typically, your inference tool will al This is a crucial step: you need to direct the iTerm2 AI plugin requests to your Open WebUI instance. Either use an actual domain name if the instance is hosted somewhere (e.g., `https://example.com/api/chat/completions`) or your localhost setup (e.g., `http://localhost:8080/api/chat/completions`). -You can find more information about the URLs in the [API Endpoints guide](/getting-started/api-endpoints). +You can find more information about the URLs in the [API Endpoints guide](/reference/api-endpoints). --- diff --git a/docs/tutorials/integrations/jupyter.md b/docs/tutorials/integrations/dev-tools/jupyter.md similarity index 100% rename from docs/tutorials/integrations/jupyter.md rename to docs/tutorials/integrations/dev-tools/jupyter.md diff --git a/docs/tutorials/integrations/llm-providers/_category_.json b/docs/tutorials/integrations/llm-providers/_category_.json new file mode 100644 index 0000000000..7ffcf70685 --- /dev/null +++ b/docs/tutorials/integrations/llm-providers/_category_.json @@ -0,0 +1,6 @@ +{ + "label": "LLM Providers", + "position": 1, + "collapsible": true, + "collapsed": true +} diff --git a/docs/tutorials/integrations/amazon-bedrock.md b/docs/tutorials/integrations/llm-providers/amazon-bedrock.md similarity index 100% rename from docs/tutorials/integrations/amazon-bedrock.md rename to docs/tutorials/integrations/llm-providers/amazon-bedrock.md diff --git a/docs/tutorials/integrations/azure-openai/azure-cli-auth.mdx b/docs/tutorials/integrations/llm-providers/azure-openai/azure-cli-auth.mdx similarity index 100% rename from docs/tutorials/integrations/azure-openai/azure-cli-auth.mdx rename to docs/tutorials/integrations/llm-providers/azure-openai/azure-cli-auth.mdx diff --git a/docs/tutorials/integrations/azure-openai/index.mdx b/docs/tutorials/integrations/llm-providers/azure-openai/index.mdx similarity index 100% rename from docs/tutorials/integrations/azure-openai/index.mdx rename to docs/tutorials/integrations/llm-providers/azure-openai/index.mdx diff --git a/docs/tutorials/integrations/azure-openai/workload-identity-auth.mdx b/docs/tutorials/integrations/llm-providers/azure-openai/workload-identity-auth.mdx similarity index 100% rename from docs/tutorials/integrations/azure-openai/workload-identity-auth.mdx rename to docs/tutorials/integrations/llm-providers/azure-openai/workload-identity-auth.mdx diff --git a/docs/tutorials/integrations/deepseekr1-dynamic.md b/docs/tutorials/integrations/llm-providers/deepseekr1-dynamic.md similarity index 99% rename from docs/tutorials/integrations/deepseekr1-dynamic.md rename to docs/tutorials/integrations/llm-providers/deepseekr1-dynamic.md index 8666a327e1..2f83a3da1b 100644 --- a/docs/tutorials/integrations/deepseekr1-dynamic.md +++ b/docs/tutorials/integrations/llm-providers/deepseekr1-dynamic.md @@ -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). diff --git a/docs/tutorials/integrations/ipex_llm.md b/docs/tutorials/integrations/llm-providers/ipex_llm.md similarity index 96% rename from docs/tutorials/integrations/ipex_llm.md rename to docs/tutorials/integrations/llm-providers/ipex_llm.md index 52e7a7a3df..cdfd697510 100644 --- a/docs/tutorials/integrations/ipex_llm.md +++ b/docs/tutorials/integrations/llm-providers/ipex_llm.md @@ -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/). ::: diff --git a/docs/tutorials/integrations/minimax.md b/docs/tutorials/integrations/llm-providers/minimax.md similarity index 100% rename from docs/tutorials/integrations/minimax.md rename to docs/tutorials/integrations/llm-providers/minimax.md diff --git a/docs/tutorials/integrations/monitoring/_category_.json b/docs/tutorials/integrations/monitoring/_category_.json new file mode 100644 index 0000000000..1acd5a1379 --- /dev/null +++ b/docs/tutorials/integrations/monitoring/_category_.json @@ -0,0 +1,6 @@ +{ + "label": "Monitoring", + "position": 3, + "collapsible": true, + "collapsed": true +} diff --git a/docs/tutorials/integrations/helicone.md b/docs/tutorials/integrations/monitoring/helicone.md similarity index 98% rename from docs/tutorials/integrations/helicone.md rename to docs/tutorials/integrations/monitoring/helicone.md index 3f3125fa82..5fd77297e9 100644 --- a/docs/tutorials/integrations/helicone.md +++ b/docs/tutorials/integrations/monitoring/helicone.md @@ -1,5 +1,5 @@ --- -title: "Monitor your LLM requests with Helicone" +title: "Helicone" sidebar_position: 19 --- diff --git a/docs/tutorials/integrations/langfuse.md b/docs/tutorials/integrations/monitoring/langfuse.md similarity index 98% rename from docs/tutorials/integrations/langfuse.md rename to docs/tutorials/integrations/monitoring/langfuse.md index 9754716510..0bd92e4354 100644 --- a/docs/tutorials/integrations/langfuse.md +++ b/docs/tutorials/integrations/monitoring/langfuse.md @@ -1,6 +1,6 @@ --- sidebar_position: 20 -title: "Monitoring and Debugging with Langfuse" +title: "Langfuse" --- ## Langfuse Integration with Open WebUI diff --git a/docs/tutorials/integrations/onedrive-sharepoint.mdx b/docs/tutorials/integrations/onedrive-sharepoint.mdx index 0433ad8727..8ecfcfc441 100644 --- a/docs/tutorials/integrations/onedrive-sharepoint.mdx +++ b/docs/tutorials/integrations/onedrive-sharepoint.mdx @@ -1,6 +1,6 @@ --- sidebar_position: 32 -title: "Integrate with OneDrive & SharePoint" +title: "OneDrive & SharePoint" --- :::info diff --git a/docs/tutorials/integrations/redis.md b/docs/tutorials/integrations/redis.md index 7bdde6268a..afd199aa27 100644 --- a/docs/tutorials/integrations/redis.md +++ b/docs/tutorials/integrations/redis.md @@ -625,7 +625,7 @@ REDIS_KEY_PREFIX="openwebui-dev" - [Redis Documentation](https://redis.io/docs) - [Valkey Documentation](https://valkey.io/docs/) - [Docker Compose Documentation](https://docs.docker.com/compose/overview/) -- [Open WebUI Environment Variables](https://docs.openwebui.com/getting-started/env-configuration/) +- [Open WebUI Environment Variables](https://docs.openwebui.com/reference/env-configuration/) - [sysctl Documentation](https://man7.org/linux/man-pages/man8/sysctl.8.html) ### Getting Help diff --git a/docs/tutorials/maintenance/_category_.json b/docs/tutorials/maintenance/_category_.json index 53e8c37ec6..b1d37c6aae 100644 --- a/docs/tutorials/maintenance/_category_.json +++ b/docs/tutorials/maintenance/_category_.json @@ -1,6 +1,6 @@ { "label": "Maintenance", - "position": 5, + "position": 30, "link": { "type": "generated-index" } diff --git a/docs/tutorials/maintenance/database.mdx b/docs/tutorials/maintenance/database.mdx index 598c365655..0bdaa01511 100644 --- a/docs/tutorials/maintenance/database.mdx +++ b/docs/tutorials/maintenance/database.mdx @@ -1,6 +1,6 @@ --- sidebar_position: 310 -title: "Exporting and Importing Database" +title: "Exporting & Importing DB" --- :::warning diff --git a/docs/tutorials/offline-mode.mdx b/docs/tutorials/maintenance/offline-mode.mdx similarity index 87% rename from docs/tutorials/offline-mode.mdx rename to docs/tutorials/maintenance/offline-mode.mdx index 0e30dae8dd..b3a4a8fefc 100644 --- a/docs/tutorials/offline-mode.mdx +++ b/docs/tutorials/maintenance/offline-mode.mdx @@ -9,7 +9,7 @@ import { TopBanners } from "@site/src/components/TopBanners"; :::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](../contributing.mdx). +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](/contributing). ::: @@ -77,7 +77,7 @@ Consider if you need to start the application offline from the beginning of your ### I: Speech-To-Text -The local `whisper` installation does not include the model by default. In this regard, you can follow the [guide](/features/audio/speech-to-text/stt-config.md) only partially if you want to use an external model/provider. To use the local `whisper` application, you must first download the model of your choice (e.g. [Huggingface - Systran](https://huggingface.co/Systran)). +The local `whisper` installation does not include the model by default. In this regard, you can follow the [guide](/features/media-generation/audio/speech-to-text/stt-config) only partially if you want to use an external model/provider. To use the local `whisper` application, you must first download the model of your choice (e.g. [Huggingface - Systran](https://huggingface.co/Systran)). ```python from faster_whisper import WhisperModel @@ -92,7 +92,7 @@ faster_whisper_kwargs = { WhisperModel(**faster_whisper_kwargs) ``` -The contents of the download directory must be copied to `/app/backend/data/cache/whisper/models/` within your Open WebUI deployment. It makes sense to directly declare your `whisper` model via the [environment variable](https://docs.openwebui.com/getting-started/env-configuration#whisper_model), like this: `WHISPER_MODEL=Systran/faster-whisper-large-v3`. +The contents of the download directory must be copied to `/app/backend/data/cache/whisper/models/` within your Open WebUI deployment. It makes sense to directly declare your `whisper` model via the [environment variable](https://docs.openwebui.com/reference/env-configuration#whisper_model), like this: `WHISPER_MODEL=Systran/faster-whisper-large-v3`. ### I: Text-To-Speech @@ -100,7 +100,7 @@ The default local transformer can already handle the text-to-speech function. If ### I: Embedding Model -For various purposes, you will need an embedding model (e.g. [RAG](/features/rag)). You will first have to download such a model of your choice (e.g. [Huggingface - sentence-transformers](https://huggingface.co/sentence-transformers)). +For various purposes, you will need an embedding model (e.g. [RAG](/features/chat-conversations/rag)). You will first have to download such a model of your choice (e.g. [Huggingface - sentence-transformers](https://huggingface.co/sentence-transformers)). ```python from huggingface_hub import snapshot_download @@ -108,7 +108,7 @@ from huggingface_hub import snapshot_download snapshot_download(repo_id="sentence-transformers/all-MiniLM-L6-v2", cache_dir="/path/of/your/choice") ``` -The contents of the download directory must be copied to `/app/backend/data/cache/embedding/models/` within your Open WebUI deployment. It makes sense to directly declare your embedding model via the [environment variable](https://docs.openwebui.com/getting-started/env-configuration#rag_embedding_model), like this: `RAG_EMBEDDING_MODEL=sentence-transformers/all-MiniLM-L6-v2`. +The contents of the download directory must be copied to `/app/backend/data/cache/embedding/models/` within your Open WebUI deployment. It makes sense to directly declare your embedding model via the [environment variable](https://docs.openwebui.com/reference/env-configuration#rag_embedding_model), like this: `RAG_EMBEDDING_MODEL=sentence-transformers/all-MiniLM-L6-v2`. ## Approach II diff --git a/docs/tutorials/maintenance/s3-storage.md b/docs/tutorials/maintenance/s3-storage.md index ad5844ec6f..d79a0b7d2c 100644 --- a/docs/tutorials/maintenance/s3-storage.md +++ b/docs/tutorials/maintenance/s3-storage.md @@ -52,7 +52,7 @@ In order to configure this option, you need to gather the following environment For a complete list of the available S3 endpoint URLs, see: [Amazon S3 Regular Endpoints](https://docs.aws.amazon.com/general/latest/gr/s3.html) -See all the `Cloud Storage` configuration options in the [Open-WebUI Cloud Storage Config](https://docs.openwebui.com/getting-started/env-configuration#cloud-storage) documentation. +See all the `Cloud Storage` configuration options in the [Open-WebUI Cloud Storage Config](https://docs.openwebui.com/reference/env-configuration#cloud-storage) documentation. ## 2. Run Open-WebUI diff --git a/docs/tutorials/tips/_category_.json b/docs/tutorials/tips/_category_.json index 9189b71228..51d9d4c60b 100644 --- a/docs/tutorials/tips/_category_.json +++ b/docs/tutorials/tips/_category_.json @@ -1,6 +1,6 @@ { "label": "Tips & Tricks", - "position": 0, + "position": 50, "link": { "type": "generated-index" } diff --git a/docs/tutorials/tips/one-click-ollama-launcher.mdx b/docs/tutorials/tips/one-click-ollama-launcher.mdx index 9dfccde9fd..4a2de17a3c 100644 --- a/docs/tutorials/tips/one-click-ollama-launcher.mdx +++ b/docs/tutorials/tips/one-click-ollama-launcher.mdx @@ -1,6 +1,6 @@ --- sidebar_position: 21 -title: "One-Click Ollama + Open WebUI Launcher" +title: "Ollama Launcher" --- :::warning diff --git a/docs/tutorials/tips/rag-tutorial.md b/docs/tutorials/tips/rag-tutorial.md index ebb119aa18..2264446e98 100644 --- a/docs/tutorials/tips/rag-tutorial.md +++ b/docs/tutorials/tips/rag-tutorial.md @@ -1,6 +1,6 @@ --- sidebar_position: 3 -title: "Open WebUI RAG Tutorial" +title: "RAG Tutorial" --- :::warning diff --git a/docs/tutorials/tips/sqlite-database.md b/docs/tutorials/tips/sqlite-database.md index 5795a78211..818bd17453 100644 --- a/docs/tutorials/tips/sqlite-database.md +++ b/docs/tutorials/tips/sqlite-database.md @@ -1,6 +1,6 @@ --- sidebar_position: 11 -title: "SQLite Database Overview" +title: "Database Schema" --- :::warning @@ -553,6 +553,33 @@ Things to know about the tag table: | settings | JSON | nullable | User preferences | | info | JSON | nullable | Additional user info | | oauth_sub | Text | UNIQUE | OAuth subject identifier | +| scim | JSON | nullable | SCIM provisioning data | + +Things to know about the user table: + +- Uses UUID for primary key +- One-to-One relationship with `auth` table (shared id) +- One-to-One relationship with `oauth_session` table (via `user_id` foreign key) + +The `scim` field's expected structure: + +```python +{ + "