You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/features/sso/index.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -310,7 +310,7 @@ services:
310
310
311
311
### Authentik
312
312
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`.
314
314
The allowed redirect URI should include `<open-webui>/oauth/oidc/callback`.
315
315
316
316
While creating provider, please note `App-name`, `Client-ID` and `Client-Secret` and use it for open-webui environment variables:
Copy file name to clipboardExpand all lines: docs/getting-started/env-configuration.md
+304-5Lines changed: 304 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -152,7 +152,13 @@ is also being used and set to `True`. Failure to do so will result in the inabil
152
152
153
153
- Type: `bool`
154
154
- 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.
156
162
157
163
#### `ENABLE_USER_WEBHOOKS`
158
164
@@ -249,6 +255,18 @@ This will run the Open WebUI on port `9999`. The `PORT` environment variable is
249
255
- Default: `False`
250
256
- 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.
251
257
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
+
252
270
#### `BYPASS_MODEL_ACCESS_CONTROL`
253
271
254
272
- Type: `bool`
@@ -1040,6 +1058,24 @@ Read more about `offline mode` in this [guide](/docs/tutorials/offline-mode.md).
1040
1058
- Default: `*`
1041
1059
- Description: Sets the allowed origins for Cross-Origin Resource Sharing (CORS).
1042
1060
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
+
1043
1079
#### `RAG_EMBEDDING_MODEL_TRUST_REMOTE_CODE`
1044
1080
1045
1081
- Type: `bool`
@@ -1071,7 +1107,7 @@ modeling files for reranking.
- Description: Specifies which vector database system to use. This setting determines which vector storage system will be used for managing embeddings.
1077
1113
@@ -1300,14 +1336,32 @@ modeling files for reranking.
1300
1336
1301
1337
- Type: `bool`
1302
1338
- 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
+
:::
1304
1346
1305
1347
#### `QDRANT_GRPC_PORT`
1306
1348
1307
1349
- Type: `int`
1308
1350
- Default: `6334`
1309
1351
- Description: Sets the gRPC port number for Qdrant.
1310
1352
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
+
1311
1365
#### `ENABLE_QDRANT_MULTITENANCY_MODE`
1312
1366
1313
1367
- Type: `bool`
@@ -1382,6 +1436,72 @@ When using Pinecone as the vector store, the following environment variables are
1382
1436
- Options: `aws`, `gcp`, `azure`
1383
1437
- Description: Specifies the cloud provider where the Pinecone index is hosted.
1384
1438
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
+
1385
1505
### S3 Vector Bucket
1386
1506
1387
1507
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
2619
2739
2620
2740
:::
2621
2741
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
+
2622
2761
#### `OAUTH_MERGE_ACCOUNTS_BY_EMAIL`
2623
2762
2624
2763
- Type: `bool`
@@ -3240,6 +3379,12 @@ These variables are not specific to Open WebUI but can still be valuable in cert
3240
3379
- Type: `str`
3241
3380
- Description: Sets the endpoint URL for S3 storage.
3242
3381
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
+
3243
3388
#### `S3_KEY_PREFIX`
3244
3389
3245
3390
- Type: `str`
@@ -3298,6 +3443,138 @@ These variables are not specific to Open WebUI but can still be valuable in cert
3298
3443
- Type: `str`
3299
3444
- Description: Set the access key for Azure Storage.
3300
3445
- 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`.
3301
3578
3302
3579
### Database Pool
3303
3580
@@ -3309,11 +3586,33 @@ These variables are not specific to Open WebUI but can still be valuable in cert
3309
3586
3310
3587
:::info
3311
3588
3312
-
Supports SQLiteand 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).
3314
3591
3315
3592
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`.
3316
3593
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.
0 commit comments