Skip to content

Commit 1c5d457

Browse files
authored
Merge pull request #653 from open-webui/dev
Merge 0.6.21 dev changes into main
2 parents 4a6da68 + adb68eb commit 1c5d457

File tree

2 files changed

+305
-6
lines changed

2 files changed

+305
-6
lines changed

docs/features/sso/index.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -310,7 +310,7 @@ services:
310310

311311
### Authentik
312312

313-
To configure a [Authentik](https://goauthentik.io/) OAuth client, please refer to [documentation](https://docs.goauthentik.io/docs/applications) on how to create an application and `OAuth2/OpenID Provider`.
313+
To configure a [Authentik](https://goauthentik.io/) OAuth client, please refer to [documentation](https://integrations.goauthentik.io/miscellaneous/open-webui/) on how to create an application and `OAuth2/OpenID Provider`.
314314
The allowed redirect URI should include `<open-webui>/oauth/oidc/callback`.
315315

316316
While creating provider, please note `App-name`, `Client-ID` and `Client-Secret` and use it for open-webui environment variables:

docs/getting-started/env-configuration.md

Lines changed: 304 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,13 @@ is also being used and set to `True`. Failure to do so will result in the inabil
152152

153153
- Type: `bool`
154154
- Default: `True`
155-
- Description: Enables admin users to access all chats.
155+
- Description: Enables admin users to access all chats. When disabled, admins can no longer accesss user's chats in the admin panel.
156+
157+
#### `ENABLE_ADMIN_WORKSPACE_CONTENT_ACCESS`
158+
159+
- Type: `bool`
160+
- Default: `True`
161+
- Description: When disabled, admin users are treated like regular users for workspace access and only see knowledge bases, models, prompts, and tools they have **explicit permission to access** through the existing access control system. If set to `True`, admins have access to all created items in the workspace area regardless of access permissions.
156162

157163
#### `ENABLE_USER_WEBHOOKS`
158164

@@ -249,6 +255,18 @@ This will run the Open WebUI on port `9999`. The `PORT` environment variable is
249255
- Default: `False`
250256
- Description: When enabled, the system saves each chunk of streamed chat data to the database in real time to ensure maximum data persistency. This feature provides robust data recovery and allows accurate session tracking. However, the tradeoff is increased latency, as saving to the database introduces a delay. Disabling this feature can improve performance and reduce delays, but it risks potential data loss in the event of a system failure or crash. Use based on your application's requirements and acceptable tradeoffs.
251257

258+
#### `CHAT_RESPONSE_STREAM_DELTA_CHUNK_SIZE`
259+
260+
- Type: `int`
261+
- Default: `1`
262+
- Description: Sets a system-wide minimum value for the number of tokens to batch together before sending them to the client during a streaming response. This allows an administrator to enforce a baseline level of performance and stability across the entire system by preventing excessively small chunk sizes that can cause high CPU load. The final chunk size used for a response will be the highest value set among this global variable, the model's advanced parameters, or the per-chat settings. The default is 1, which applies no minimum batching at the global level.
263+
264+
:::info
265+
266+
It is recommended to set this to a high single-digit or low double-digit value if you run Open WebUI with high concurrency, many users, and very fast streaming models.
267+
268+
:::
269+
252270
#### `BYPASS_MODEL_ACCESS_CONTROL`
253271

254272
- Type: `bool`
@@ -1040,6 +1058,24 @@ Read more about `offline mode` in this [guide](/docs/tutorials/offline-mode.md).
10401058
- Default: `*`
10411059
- Description: Sets the allowed origins for Cross-Origin Resource Sharing (CORS).
10421060

1061+
#### `CORS_ALLOW_CUSTOM_SCHEME`
1062+
1063+
- Type `str`
1064+
- Default: `""` (empty string)
1065+
- Description: Sets a list of further allowed schemes for Cross-Origin Resource Sharing (CORS). Allows you to specify additional custom URL schemes, beyond the standard `http` and `https`, that are permitted as valid origins for Cross-Origin Resource Sharing (CORS).
1066+
1067+
:::info
1068+
1069+
This is particularly useful for scenarios such as:
1070+
- Integrating with desktop applications that use custom protocols (e.g., `app://`, `custom-app-scheme://`).
1071+
- Local development environments or testing setups that might employ non-standard schemes (e.g., `file://` if applicable, or `electron://`).
1072+
1073+
Provide a semicolon-separated list of scheme names without the `://`. For example: `app;file;electron;my-custom-scheme`.
1074+
1075+
When configured, these custom schemes will be validated alongside `http` and `https` for any origins specified in `CORS_ALLOW_ORIGIN`.
1076+
1077+
:::
1078+
10431079
#### `RAG_EMBEDDING_MODEL_TRUST_REMOTE_CODE`
10441080

10451081
- Type: `bool`
@@ -1071,7 +1107,7 @@ modeling files for reranking.
10711107

10721108
- Type: `str`
10731109
- Options:
1074-
- `chroma`, `elasticsearch`, `milvus`, `opensearch`, `pgvector`, `qdrant`, `pinecone`, `s3vector`
1110+
- `chroma`, `elasticsearch`, `milvus`, `opensearch`, `pgvector`, `qdrant`, `pinecone`, `s3vector`, `oracle23ai`
10751111
- Default: `chroma`
10761112
- Description: Specifies which vector database system to use. This setting determines which vector storage system will be used for managing embeddings.
10771113

@@ -1300,14 +1336,32 @@ modeling files for reranking.
13001336

13011337
- Type: `bool`
13021338
- Default: `False`
1303-
- Description: Use gPRC interface whenever possible
1339+
- Description: Use gPRC interface whenever possible.
1340+
1341+
:::info
1342+
1343+
If set to `True`, and `QDRANT_URI` points to a self-hosted server with TLS enabled and certificate signed by a private CA, set the environment variable `GRPC_DEFAULT_SSL_ROOTS_FILE_PATH` to the path of your PEM-encoded CA certificates file. See the [gRPC Core Docs](https://grpc.github.io/grpc/core/md_doc_environment_variables.html) for more information.
1344+
1345+
:::
13041346

13051347
#### `QDRANT_GRPC_PORT`
13061348

13071349
- Type: `int`
13081350
- Default: `6334`
13091351
- Description: Sets the gRPC port number for Qdrant.
13101352

1353+
#### `QDRANT_TIMEOUT`
1354+
1355+
- Type: `int`
1356+
- Default: `5`
1357+
- Description: Sets the timeout in seconds for all requests made to the Qdrant server, helping to prevent long-running queries from stalling the application.
1358+
1359+
#### `QDRANT_HNSW_M`
1360+
1361+
- Type: `int`
1362+
- Default: `16`
1363+
- Description: Controls the HNSW (Hierarchical Navigable Small World) index construction. In standard mode, this sets the `m` parameter. In multi-tenancy mode, this value is used for the `payload_m` parameter to build indexes on the payload, as the global `m` is disabled for performance, following Qdrant best practices.
1364+
13111365
#### `ENABLE_QDRANT_MULTITENANCY_MODE`
13121366

13131367
- Type: `bool`
@@ -1382,6 +1436,72 @@ When using Pinecone as the vector store, the following environment variables are
13821436
- Options: `aws`, `gcp`, `azure`
13831437
- Description: Specifies the cloud provider where the Pinecone index is hosted.
13841438

1439+
### Oracle 23ai Vector Search (oracle23ai)
1440+
1441+
#### `ORACLE_DB_USE_WALLET`
1442+
1443+
- **Type**: `bool`
1444+
- **Default**: `false`
1445+
- **Description**: Determines the connection method to the Oracle Database.
1446+
- Set to `false` for direct connections (e.g., to Oracle Database 23ai Free or DBCS instances) using host, port, and service name in `ORACLE_DB_DSN`.
1447+
- Set to `true` for wallet-based connections (e.g., to Oracle Autonomous Database (ADW/ATP)). When `true`, `ORACLE_WALLET_DIR` and `ORACLE_WALLET_PASSWORD` must also be configured.
1448+
1449+
#### `ORACLE_DB_USER`
1450+
1451+
- **Type**: `str`
1452+
- **Default**: `DEMOUSER`
1453+
- **Description**: Specifies the username used to connect to the Oracle Database.
1454+
1455+
#### `ORACLE_DB_PASSWORD`
1456+
1457+
- **Type**: `str`
1458+
- **Default**: `Welcome123456`
1459+
- **Description**: Specifies the password for the `ORACLE_DB_USER`.
1460+
1461+
#### `ORACLE_DB_DSN`
1462+
1463+
- **Type**: `str`
1464+
- **Default**: `localhost:1521/FREEPDB1`
1465+
- **Description**: Defines the Data Source Name for the Oracle Database connection.
1466+
- If `ORACLE_DB_USE_WALLET` is `false`, this should be in the format `hostname:port/service_name` (e.g., `localhost:1521/FREEPDB1`).
1467+
- If `ORACLE_DB_USE_WALLET` is `true`, this can be a TNS alias (e.g., `medium` for ADW/ATP), or a full connection string.
1468+
1469+
#### `ORACLE_WALLET_DIR`
1470+
1471+
- **Type**: `str`
1472+
- **Default**: Empty string (' ')
1473+
- **Description**: **Required when `ORACLE_DB_USE_WALLET` is `true`**. Specifies the absolute path to the directory containing the Oracle Cloud Wallet files (e.g., `cwallet.sso`, `sqlnet.ora`, `tnsnames.ora`).
1474+
1475+
#### `ORACLE_WALLET_PASSWORD`
1476+
1477+
- **Type**: `str`
1478+
- **Default**: Empty string (' ')
1479+
- **Description**: **Required when `ORACLE_DB_USE_WALLET` is `true`**. Specifies the password for the Oracle Cloud Wallet.
1480+
1481+
#### `ORACLE_VECTOR_LENGTH`
1482+
1483+
- **Type**: `int`
1484+
- **Default**: `768`
1485+
- **Description**: Sets the expected dimension or length of the vector embeddings stored in the Oracle Database. This must match the embedding model used.
1486+
1487+
#### `ORACLE_DB_POOL_MIN`
1488+
1489+
- **Type**: `int`
1490+
- **Default**: `2`
1491+
- **Description**: The minimum number of connections to maintain in the Oracle Database connection pool.
1492+
1493+
#### `ORACLE_DB_POOL_MAX`
1494+
1495+
- **Type**: `int`
1496+
- **Default**: `10`
1497+
- **Description**: The maximum number of connections allowed in the Oracle Database connection pool.
1498+
1499+
#### `ORACLE_DB_POOL_INCREMENT`
1500+
1501+
- **Type**: `int`
1502+
- **Default**: `1`
1503+
- **Description**: The number of connections to create when the pool needs to grow.
1504+
13851505
### S3 Vector Bucket
13861506

13871507
When using S3 Vector Bucket as the vector store, the following environment variables are used to control its behavior. Make sure to set these variables in your `.env` file or deployment environment.
@@ -2619,6 +2739,25 @@ You can only configure one OAUTH provider at a time. You cannot have two or more
26192739

26202740
:::
26212741

2742+
#### `ENABLE_OAUTH_PERSISTENT_CONFIG`
2743+
2744+
- Type: `bool`
2745+
- Default: `True`
2746+
- Description: Controls whether OAuth-related settings are persisted in the database after the first launch.
2747+
2748+
:::info
2749+
2750+
By default, OAuth configurations are stored in the database and managed via the Admin Panel after the initial setup. Set this variable to `False` to force Open WebUI to **always** read OAuth settings from the environment variables on every restart. This is ideal for environments using GitOps or immutable infrastructure where configuration is managed exclusively through external files (e.g., Docker Compose, Kubernetes ConfigMaps).
2751+
2752+
:::
2753+
2754+
#### `OAUTH_SUB_CLAIM`
2755+
2756+
- Type: `str`
2757+
- Default: `None`
2758+
- Description: Overrides the default claim used to identify a user's unique ID (`sub`) from the OAuth/OIDC provider's user info response. By default, Open WebUI attempts to infer this from the provider's configuration. This variable allows you to explicitly specify which claim to use. For example, if your identity provider uses 'employee_id' as the unique identifier, you would set this variable to 'employee_id'.
2759+
- Persistence: This environment variable is a `PersistentConfig` variable.
2760+
26222761
#### `OAUTH_MERGE_ACCOUNTS_BY_EMAIL`
26232762

26242763
- Type: `bool`
@@ -3240,6 +3379,12 @@ These variables are not specific to Open WebUI but can still be valuable in cert
32403379
- Type: `str`
32413380
- Description: Sets the endpoint URL for S3 storage.
32423381

3382+
:::info
3383+
3384+
If the endpoint is an S3-compatible provider like MinIO that uses a TLS certificate signed by a private CA, set the environment variable `AWS_CA_BUNDLE` to the path of your PEM-encoded CA certificates file. See the [Amazon SDK Docs](https://docs.aws.amazon.com/sdkref/latest/guide/feature-gen-config.html) for more information.
3385+
3386+
:::
3387+
32433388
#### `S3_KEY_PREFIX`
32443389

32453390
- Type: `str`
@@ -3298,6 +3443,138 @@ These variables are not specific to Open WebUI but can still be valuable in cert
32983443
- Type: `str`
32993444
- Description: Set the access key for Azure Storage.
33003445
- Optional - if not provided, credentials will be taken from the environment. User credentials if run locally and Managed Identity if run in Azure services.
3446+
3447+
### OpenTelemetry Configuration
3448+
3449+
#### `ENABLE_OTEL`
3450+
3451+
- Type: `bool`
3452+
- Default: `False`
3453+
- Description: Enables or disables OpenTelemetry for observability. When enabled, tracing, metrics, and logging data can be collected and exported to an OTLP endpoint.
3454+
3455+
#### `ENABLE_OTEL_METRICS`
3456+
3457+
- Type: `bool`
3458+
- Default: `False`
3459+
- Description: Enables or disables OpenTelemetry metrics collection and export. This variable works in conjunction with `ENABLE_OTEL`.
3460+
3461+
#### `ENABLE_OTEL_LOGS`
3462+
3463+
- Type: `bool`
3464+
- Default: `False`
3465+
- Description: Enables or disables OpenTelemetry logging export. When enabled, application logs are sent to the configured OTLP endpoint. This variable works in conjunction with `ENABLE_OTEL`.
3466+
3467+
#### `OTEL_EXPORTER_OTLP_ENDPOINT`
3468+
3469+
- Type: `str`
3470+
- Default: `http://localhost:4317`
3471+
- Description: Specifies the default OTLP (OpenTelemetry Protocol) endpoint for exporting traces, metrics, and logs. This can be overridden for metrics if `OTEL_METRICS_EXPORTER_OTLP_ENDPOINT` is set, and for logs if `OTEL_LOGS_EXPORTER_OTLP_ENDPOINT` is set.
3472+
3473+
#### `OTEL_METRICS_EXPORTER_OTLP_ENDPOINT`
3474+
3475+
- Type: `str`
3476+
- Default: Value of `OTEL_EXPORTER_OTLP_ENDPOINT`
3477+
- Description: Specifies the dedicated OTLP endpoint for exporting OpenTelemetry metrics. If not set, it defaults to the value of `OTEL_EXPORTER_OTLP_ENDPOINT`. This is useful when separate endpoints for traces and metrics are used.
3478+
3479+
#### `OTEL_LOGS_EXPORTER_OTLP_ENDPOINT`
3480+
3481+
- Type: `str`
3482+
- Default: Value of `OTEL_EXPORTER_OTLP_ENDPOINT`
3483+
- Description: Specifies the dedicated OTLP endpoint for exporting OpenTelemetry logs. If not set, it defaults to the value of `OTEL_EXPORTER_OTLP_ENDPOINT`. This is useful when separate endpoints for logs, traces, and metrics are used.
3484+
3485+
#### `OTEL_EXPORTER_OTLP_INSECURE`
3486+
3487+
- Type: `bool`
3488+
- Default: `False`
3489+
- Description: If set to `True`, the OTLP exporter will use an insecure connection (e.g., HTTP for gRPC) for traces. For metrics, its behavior is governed by `OTEL_METRICS_EXPORTER_OTLP_INSECURE`, and for logs by `OTEL_LOGS_EXPORTER_OTLP_INSECURE`.
3490+
3491+
#### `OTEL_METRICS_EXPORTER_OTLP_INSECURE`
3492+
3493+
- Type: `bool`
3494+
- Default: Value of `OTEL_EXPORTER_OTLP_INSECURE`
3495+
- Description: If set to `True`, the OTLP exporter will use an insecure connection for metrics. If not specified, it uses the value of `OTEL_EXPORTER_OTLP_INSECURE`.
3496+
3497+
#### `OTEL_LOGS_EXPORTER_OTLP_INSECURE`
3498+
3499+
- Type: `bool`
3500+
- Default: Value of `OTEL_EXPORTER_OTLP_INSECURE`
3501+
- Description: If set to `True`, the OTLP exporter will use an insecure connection for logs. If not specified, it uses the value of `OTEL_EXPORTER_OTLP_INSECURE`.
3502+
3503+
#### `OTEL_SERVICE_NAME`
3504+
3505+
- Type: `str`
3506+
- Default: `open-webui`
3507+
- Description: Sets the service name that will be reported to your OpenTelemetry collector or observability platform. This helps identify your Open WebUI instance.
3508+
3509+
#### `OTEL_RESOURCE_ATTRIBUTES`
3510+
3511+
- Type: `str`
3512+
- Default: Empty string (' ')
3513+
- Description: Allows you to define additional resource attributes to be attached to all telemetry data, in a comma-separated `key1=val1,key2=val2` format.
3514+
3515+
#### `OTEL_TRACES_SAMPLER`
3516+
3517+
- Type: `str`
3518+
- Options: `parentbased_always_on`, `always_on`, `always_off`, `parentbased_always_off`, etc.
3519+
- Default: `parentbased_always_on`
3520+
- Description: Configures the sampling strategy for OpenTelemetry traces. This determines which traces are collected and exported to reduce data volume.
3521+
3522+
#### `OTEL_BASIC_AUTH_USERNAME`
3523+
3524+
- Type: `str`
3525+
- Default: Empty string (' ')
3526+
- Description: Sets the username for basic authentication with the default OTLP endpoint. This applies to traces, and by default, to metrics and logs unless overridden by their specific authentication variables.
3527+
3528+
#### `OTEL_BASIC_AUTH_PASSWORD`
3529+
3530+
- Type: `str`
3531+
- Default: Empty string (' ')
3532+
- Description: Sets the password for basic authentication with the default OTLP endpoint. This applies to traces, and by default, to metrics and logs unless overridden by their specific authentication variables.
3533+
3534+
#### `OTEL_METRICS_BASIC_AUTH_USERNAME`
3535+
3536+
- Type: `str`
3537+
- Default: Value of `OTEL_BASIC_AUTH_USERNAME`
3538+
- Description: Sets the username for basic authentication specifically for the OTLP metrics endpoint. If not specified, it uses the value of `OTEL_BASIC_AUTH_USERNAME`.
3539+
3540+
#### `OTEL_METRICS_BASIC_AUTH_PASSWORD`
3541+
3542+
- Type: `str`
3543+
- Default: Value of `OTEL_BASIC_AUTH_PASSWORD`
3544+
- Description: Sets the password for basic authentication specifically for the OTLP metrics endpoint. If not specified, it uses the value of `OTEL_BASIC_AUTH_PASSWORD`.
3545+
3546+
#### `OTEL_LOGS_BASIC_AUTH_USERNAME`
3547+
3548+
- Type: `str`
3549+
- Default: Value of `OTEL_BASIC_AUTH_USERNAME`
3550+
- Description: Sets the username for basic authentication specifically for the OTLP logs endpoint. If not specified, it uses the value of `OTEL_BASIC_AUTH_USERNAME`.
3551+
3552+
#### `OTEL_LOGS_BASIC_AUTH_PASSWORD`
3553+
3554+
- Type: `str`
3555+
- Default: Value of `OTEL_BASIC_AUTH_PASSWORD`
3556+
- Description: Sets the password for basic authentication specifically for the OTLP logs endpoint. If not specified, it uses the value of `OTEL_BASIC_AUTH_PASSWORD`.
3557+
3558+
#### `OTEL_OTLP_SPAN_EXPORTER`
3559+
3560+
- Type: `str`
3561+
- Options: `grpc`, `http`
3562+
- Default: `grpc`
3563+
- Description: Specifies the default protocol for exporting OpenTelemetry traces (gRPC or HTTP). This can be overridden for metrics if `OTEL_METRICS_OTLP_SPAN_EXPORTER` is set, and for logs if `OTEL_LOGS_OTLP_SPAN_EXPORTER` is set.
3564+
3565+
#### `OTEL_METRICS_OTLP_SPAN_EXPORTER`
3566+
3567+
- Type: `str`
3568+
- Options: `grpc`, `http`
3569+
- Default: Value of `OTEL_OTLP_SPAN_EXPORTER`
3570+
- Description: Specifies the protocol for exporting OpenTelemetry metrics (gRPC or HTTP). If not specified, it uses the value of `OTEL_OTLP_SPAN_EXPORTER`.
3571+
3572+
#### `OTEL_LOGS_OTLP_SPAN_EXPORTER`
3573+
3574+
- Type: `str`
3575+
- Options: `grpc`, `http`
3576+
- Default: Value of `OTEL_OTLP_SPAN_EXPORTER`
3577+
- Description: Specifies the protocol for exporting OpenTelemetry logs (gRPC or HTTP). If not specified, it uses the value of `OTEL_OTLP_SPAN_EXPORTER`.
33013578

33023579
### Database Pool
33033580

@@ -3309,11 +3586,33 @@ These variables are not specific to Open WebUI but can still be valuable in cert
33093586

33103587
:::info
33113588

3312-
Supports SQLite and Postgres. Changing the URL does not migrate data between databases.
3313-
Documentation on the URL scheme is available available [here](https://docs.sqlalchemy.org/en/20/core/engines.html#database-urls).
3589+
Supports SQLite, Postgres, and encrypted SQLite via SQLCipher. Changing the URL does not migrate data between databases.
3590+
Documentation on the URL scheme is available [here](https://docs.sqlalchemy.org/en/20/core/engines.html#database-urls).
33143591

33153592
If your database password contains special characters, please ensure they are properly URL-encoded. For example, a password like `p@ssword` should be encoded as `p%40ssword`.
33163593

3594+
For encrypted SQLite, see the "SQLite with SQLCipher Encryption" section below for configuration details.
3595+
3596+
:::
3597+
3598+
### Encrypted SQLite with SQLCipher
3599+
3600+
For enhanced security, Open WebUI supports at-rest encryption for its primary SQLite database using SQLCipher. This is recommended for deployments handling sensitive data where using a larger database like PostgreSQL is not needed.
3601+
3602+
To enable encryption, you must configure two environment variables:
3603+
3604+
1. Set `DATABASE_TYPE="sqlite+sqlcipher"`.
3605+
1. Set `DATABASE_PASSWORD="your-secure-password"`.
3606+
3607+
When these are set and a full `DATABASE_URL` is **not** explicitly defined, Open WebUI will automatically create and use an encrypted database file at `./data/webui.db`.
3608+
3609+
:::danger
3610+
3611+
- The **`DATABASE_PASSWORD`** environment variable is **required** when using `sqlite+sqlcipher`.
3612+
- The **`DATABASE_TYPE`** variable tells Open WebUI which connection logic to use. Setting it to `sqlite+sqlcipher` activates the encryption feature.
3613+
3614+
Ensure the database password is kept secure, as it is needed to decrypt and access all application data.
3615+
33173616
:::
33183617

33193618
#### `DATABASE_SCHEMA`

0 commit comments

Comments
 (0)