Open WebUI#

Open WebUI - веб-интерфейс для взаимодействия с LLM-моделями, предоставляющий собой удобный UI для чата, управления моделями и промптами.

Основные задачи и возможности
  • Позволяет запускать языковые модели локально без необходимости подключения к облачным сервисам, обеспечивая конфиденциальность данных.

  • Интегрируется с Ollama для локального запуска моделей и с OpenAI-совместимыми API (LMStudio, GroqCloud, Mistral и др.) для расширенных возможностей.

  • Включает локальную интеграцию RAG с поддержкой 9 векторных баз данных и возможностью загрузки документов напрямую в чат.

  • Поддерживает генерацию и редактирование изображений через DALL-E, Gemini, ComfyUI и AUTOMATIC1111, а также голосовые/видео звонки с использованием различных Speech-to-Text и Text-to-Speech движков.

  • Доступен через Docker (с поддержкой GPU/CUDA), Kubernetes (Kubectl, Kustomize, Helm), установку через pip или в виде PWA для мобильных устройств.

  • Включает RBAC, поддержку LDAP/Active Directory, SCIM 2.0, мультязычность, горизонтальную масштабируемость и интеграцию с системами наблюдаемости через OpenTelemetry.

  • Поддерживает пользовательские плагины для функциональных вызовов, ограничения скорости, мониторинга использования и других расширений.

Примечание

Open WebUI не является инструментом по умолчанию в компоненте AI-inference. Его можно установить как инструмент (Tool), или явно включить в список spec.tools при установке компонента AI-inference.

Конфигурация values#

Параметры Open WebUI можно переопределить через редактирование нужных значений в spec.values. Общее описание конфигурации values для инструментов приведено в разделе «Конфигурации инструментов дополнительных компонентов».

nameOverride - переопределить имя чарта#

Параметр

Описание

Значение по умолчанию

nameOverride

Переопределяет имя чарта в именах Kubernetes-ресурсов; при задании заменяет имя чарта в комбинации release name и chart name. Пример: при nameOverride="custom" и release="prod" ресурсы получают имя вида "prod-custom"

""

fullnameOverride - полностью переопределить имена ресурсов#

Параметр

Описание

Значение по умолчанию

fullnameOverride

Полностью переопределяет имя создаваемых ресурсов и имеет приоритет над nameOverride и стандартным шаблоном именования

""

namespaceOverride - переопределить пространство имен релиза#

Параметр

Описание

Значение по умолчанию

namespaceOverride

Позволяет указать пространство имен вместо пространства имен, в котором установлен Helm-релиз

""

ollama - определить параметры интеграции с Ollama#

Параметр

Описание

Значение по умолчанию

ollama.enabled

Автоматически устанавливать Helm-чарт Ollama для локального запуска моделей рядом с Open WebUI

false

ollama.fullnameOverride

Переопределяет имя subchart Ollama; если не задано, используется имя релиза с суффиксом -ollama для поддержки нескольких экземпляров. Пример конфигурации:

ollama:
gpu:
enabled: true
type: „nvidia“
number: 1
models:
pull:
- llama3
run:
- llama3
runtimeClassName: nvidia
persistentVolume:
enabled: true
volumeName: «example-pre-existing-pv-created-by-smb-csi»

""

ollamaUrls - определить внешние Ollama API endpoints#

Параметр

Описание

Значение по умолчанию

ollamaUrls

Список Ollama API endpoints, которые можно использовать вместо установки Ollama subchart или вместе с ним

[]

hfHubOffline - отключить загрузку RAG-инструментов из Hugging Face#

Параметр

Описание

Значение по умолчанию

hfHubOffline

Отключает загрузку RAG-инструментов из Hugging Face Hub; используется для закрытых контуров без доступа в интернет

true

ollamaUrlsFromExtraEnv - управлять источником Ollama URLs#

Параметр

Описание

Значение по умолчанию

ollamaUrlsFromExtraEnv

Отключает получение Ollama URLs из списка ollamaUrls и позволяет передавать их через дополнительные переменные окружения

false

pipelines - определить параметры установки Open WebUI Pipelines#

Параметр

Описание

Значение по умолчанию

pipelines.enabled

Автоматически устанавливать Pipelines chart для расширения функциональности Open WebUI

false

pipelines.fullnameOverride

Переопределяет имя subchart Pipelines; если не задано, используется имя релиза с суффиксом -pipelines для поддержки нескольких экземпляров

""

pipelines.extraEnvVars

Переменные окружения, передаваемые в pipelines, например hostname Langfuse

[]

tika - определить параметры установки Apache Tika#

Параметр

Описание

Значение по умолчанию

tika.enabled

Автоматически устанавливать Apache Tika для расширения возможностей Open WebUI по обработке документов

false

terminals - определить параметры терминального subchart#

Параметр

Описание

Значение по умолчанию

terminals.enabled

Включить terminals subchart, включающий operator и orchestrator

false

websocket - определить параметры websocket-поддержки#

Параметр

Описание

Значение по умолчанию

websocket.enabled

Включает websocket-поддержку в Open WebUI через переменную ENABLE_WEBSOCKET_SUPPORT

true

websocket.manager

Менеджер websocket-соединений, передаваемый через WEBSOCKET_MANAGER

redis

websocket.url

Redis URL для websocket-коммуникации; если пусто, генерируется автоматически на основе имени релиза по шаблону redis://[:<password>@]<hostname>:<port>/<db>

""

websocket.existingSecret

Имя существующего секрета Kubernetes с Redis URL; при задании имеет приоритет над websocket.url

""

websocket.existingSecretKey

Ключ в существующем сексрете, содержащий Redis URL

"redis-url"

websocket.nodeSelector

Селектор узлов для размещения websocket pod

{}

websocket.redis.enabled

Включить установку Redis для websocket-поддержки

true

websocket.redis.labels

Метки для Redis-ресурсов

{}

websocket.redis.annotations

Аннотации для Redis-ресурсов

{}

websocket.redis.pods.labels

Метки для Redis pod

{}

websocket.redis.pods.annotations

Аннотации для Redis pod

{}

websocket.redis.image.repository

Репозиторий образа Redis

'{{ .Values.global.image.registry }}/{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-redis/redis'

websocket.redis.image.tag

Тег образа Redis

"8.2.3"

websocket.redis.image.pullPolicy

Политика загрузки образа Redis

IfNotPresent

websocket.redis.command

Команда запуска Redis, переопределяющая стандартную команду образа

[]

websocket.redis.args

Аргументы запуска Redis, переопределяющие стандартные аргументы образа

- «–protected-mode»
- «no»
- «–timeout»
- «0»
- «–tcp-keepalive»
- «60»
- «–maxclients»
- «256»
- «–maxmemory»
- «256mb»
- «–maxmemory-policy»
- «noeviction»

websocket.redis.resources.requests.cpu

Запрашиваемый CPU для контейнера Redis

50m

websocket.redis.resources.requests.memory

Запрашиваемая память для контейнера Redis

128Mi

websocket.redis.resources.limits.cpu

Лимит CPU для контейнера Redis

500m

websocket.redis.resources.limits.memory

Лимит памяти для контейнера Redis

512Mi

websocket.redis.service.containerPort

Порт контейнера Redis и targetPort сервиса

6379

websocket.redis.service.type

Тип Kubernetes Service для Redis

ClusterIP

websocket.redis.service.labels

Метки для Service Redis

{}

websocket.redis.service.annotations

Аннотации для Service Redis

{}

websocket.redis.service.portName

Имя порта Service Redis; для Istio обычно требуется имя вида tcp-redis

http

websocket.redis.service.port

Порт Service Redis

6379

websocket.redis.service.nodePort

NodePort для Redis Service; используется только при service.type=NodePort

""

websocket.redis.tolerations

Tolerations для размещения Redis pod

[]

websocket.redis.affinity

Affinity для размещения Redis pod

{}

websocket.redis.containerSecurityContext

Security context контейнера Redis; при readOnlyRootFilesystem=true в контейнер монтируется emptyDir. Пример конфигурации:

readOnlyRootFilesystem: true
runAsNonRoot: true

{}

websocket.redis.podSecurityContext

Security context pod Redis. Пример конфигурации:

runAsUser: 999
runAsGroup: 1000

{}

workload - определить тип workload для Open WebUI#

Параметр

Описание

Значение по умолчанию

workload.kind

Тип workload: Deployment или StatefulSet; если не задан, чарт определяет тип по настройкам persistence. При Deployment с локальной persistence и replicaCount больше 1 требуется ReadWriteMany

""

clusterDomain - определить домен Kubernetes-кластера#

Параметр

Описание

Значение по умолчанию

clusterDomain

Значение clusterDomain для построения внутренних DNS-имен сервисов

cluster.local

extraLabels - определить дополнительные метки workload#

Параметр

Описание

Значение по умолчанию

extraLabels

Дополнительные метки для metadata Deployment или StatefulSet Open WebUI

{}

annotations - определить дополнительные аннотации workload#

Параметр

Описание

Значение по умолчанию

annotations

Дополнительные аннотации для metadata Deployment или StatefulSet Open WebUI

{}

podAnnotations - определить аннотации pod Open WebUI#

Параметр

Описание

Значение по умолчанию

podAnnotations

Дополнительные аннотации для pod Open WebUI

{}

podLabels - определить метки pod Open WebUI#

Параметр

Описание

Значение по умолчанию

podLabels

Дополнительные метки для pod Open WebUI

{}

replicaCount - определить количество реплик Open WebUI#

Параметр

Описание

Значение по умолчанию

replicaCount

Количество реплик Open WebUI

1

revisionHistoryLimit - определить лимит истории ревизий workload#

Параметр

Описание

Значение по умолчанию

revisionHistoryLimit

Количество старых ReplicaSet или ControllerRevision, сохраняемых для rollback

10

priorityClassName - определить priority class для pod#

Параметр

Описание

Значение по умолчанию

priorityClassName

Имя PriorityClass для pod Open WebUI

""

strategy - определить стратегию обновления workload#

Параметр

Описание

Значение по умолчанию

strategy

Стратегия обновления Deployment или StatefulSet

{}

image - определить образ Open WebUI#

Параметр

Описание

Значение по умолчанию

image.repository

Репозиторий образа Open WebUI

'{{ .Values.global.image.registry }}/{{ .Values.global.image.repository }}/{{ .Values.global.dappVersion }}/dapp-open-webui/open-webui'

image.tag

Тег образа Open WebUI

"0.8.12"

image.pullPolicy

Политика загрузки образа Open WebUI

"IfNotPresent"

image.useSlim

Использовать slim-вариант образа Open WebUI

false

imagePullSecrets - определить секреты для загрузки образов#

Параметр

Описание

Значение по умолчанию

imagePullSecrets

Список секретов для загрузки образов из частного реестра. Пример конфигурации:

imagePullSecrets:
- name: myRegistryKeySecretName

[]

command - переопределить команду контейнера Open WebUI#

Параметр

Описание

Значение по умолчанию

command

Команда контейнера Open WebUI, переопределяющая стандартный entrypoint

[]

args - переопределить аргументы контейнера Open WebUI#

Параметр

Описание

Значение по умолчанию

args

Аргументы контейнера Open WebUI, переопределяющие стандартные аргументы запуска

[]

serviceAccount - определить параметры ServiceAccount#

Параметр

Описание

Значение по умолчанию

serviceAccount.enable

Включить использование ServiceAccount для Open WebUI

true

serviceAccount.create

Создавать новый ServiceAccount; если false, в serviceAccount.name нужно указать существующий

true

serviceAccount.name

Имя ServiceAccount; если не задано и serviceAccount.create=true, имя генерируется по fullname template

""

serviceAccount.annotations

Дополнительные аннотации для ServiceAccount

{}

serviceAccount.automountServiceAccountToken

Автоматически монтировать токен ServiceAccount в pod Open WebUI

false

livenessProbe - определить liveness probe контейнера Open WebUI#

Параметр

Описание

Значение по умолчанию

livenessProbe

Probe для проверки состояния контейнера Open WebUI. Пример конфигурации:

livenessProbe:
httpGet:
path: /health
port: http
failureThreshold: 1
periodSeconds: 10

{}

readinessProbe - определить readiness probe контейнера Open WebUI#

Параметр

Описание

Значение по умолчанию

readinessProbe

Probe для проверки готовности контейнера Open WebUI к обслуживанию трафика. Пример конфигурации:

readinessProbe:
httpGet:
path: /health/db
port: http
failureThreshold: 1
periodSeconds: 10

{}

startupProbe - определить startup probe контейнера Open WebUI#

Параметр

Описание

Значение по умолчанию

startupProbe

Probe для проверки успешного старта контейнера Open WebUI. Пример конфигурации:

startupProbe:
httpGet:
path: /health
port: http
initialDelaySeconds: 30
periodSeconds: 5
failureThreshold: 20

{}

resources - определить ресурсы контейнера Open WebUI#

Параметр

Описание

Значение по умолчанию

resources

Requests и limits для контейнера Open WebUI

{}

copyAppData - определить параметры init container copy-app-data#

Параметр

Описание

Значение по умолчанию

copyAppData.command

Команда init container copy-app-data, переопределяющая стандартную команду

[]

copyAppData.args

Аргументы init container copy-app-data, переопределяющие стандартные аргументы

[]

copyAppData.resources

Requests и limits для init container copy-app-data

{}

managedCertificate - определить GKE Managed Certificate для Ingress TLS#

Параметр

Описание

Значение по умолчанию

managedCertificate.enabled

Включить создание GKE Managed Certificate для TLS на Ingress

false

managedCertificate.name

Имя создаваемого ресурса Managed Certificate

"mydomain-chat-cert"

managedCertificate.domains

Список доменов, включаемых в Managed Certificate

- chat.example.com

Параметр

Описание

Значение по умолчанию

consoleLink.enabled

Включить создание ConsoleLink для перехода в Open WebUI из консоли платформы

true

ingress - определить параметры Ingress для Open WebUI#

Параметр

Описание

Значение по умолчанию

ingress.enabled

Включить Ingress controller для публикации Open WebUI

true

ingress.class

Ingress class для публикации Open WebUI; например gce для GKE Ingress или nginx для NGINX Ingress

"nginx"

ingress.annotations

Аннотации для Ingress controller. Пример конфигурации:

kubernetes.io/ingress.class: «gce»
kubernetes.io/ingress.global-static-ip-name: «open-webui-external-ip»
nginx.ingress.kubernetes.io/force-ssl-redirect: «true»
nginx.ingress.kubernetes.io/ssl-redirect: «true»
nginx.ingress.kubernetes.io/permanent-redirect: «https://chat.example.com»
networking.gke.io/managed-certificates: «mydomain-chat-cert»
nginx.ingress.kubernetes.io/rewrite-target: /

{}

ingress.host

Основной host для Ingress-записи Open WebUI

'open-webui.{{ include "ingress.domain" . }}'

ingress.additionalHosts

Дополнительные хосты для Ingress-записи Open WebUI

[]

ingress.tls

Включить TLS-конфигурацию для Ingress

true

ingress.existingSecret

Имя существующего TLS секрета для Ingress-записи

"ingress-tls"

ingress.extraLabels

Дополнительные метки для metadata Ingress. Пример конфигурации:

extraLabels:
app.kubernetes.io/environment: «staging»

{}

route - определить параметры Gateway API Route#

Параметр

Описание

Значение по умолчанию

route.enabled

Включает или отключает создание route

false

route.apiVersion

apiVersion создаваемого route, например gateway.networking.k8s.io/v1 или gateway.networking.k8s.io/v1alpha2

gateway.networking.k8s.io/v1

route.kind

Тип route; допустимые значения GRPCRoute, HTTPRoute, TCPRoute, TLSRoute, UDPRoute

HTTPRoute

route.annotations

Аннотации для route

{}

route.labels

Метки для route

{}

route.hostnames

Hostnames, по которым route сопоставляет входящие запросы. Пример конфигурации:

- «open-webui.example.com»

[]

route.parentRefs

Ссылки на родительские ресурсы, например Gateway. Пример конфигурации:

- name: open-webui-gw

[]

route.httpsRedirect

Включить перенаправление HTTP на HTTPS для route

false

route.redirect

Конфигурация route для HTTP-to-HTTPS redirect; используется только при route.httpsRedirect=true. Пример конфигурации:

parentRefs:
- name: my-gateway
sectionName: http

{}

route.matches

Правила сопоставления HTTPRoute; нестандартный path prefix не поддерживается Open WebUI и может нарушить работу приложения

- path:
type: PathPrefix
value: /

route.filters

Фильтры, применяемые к запросам, которые соответствуют правилу route

[]

route.additionalRules

Дополнительные пользовательские правила для route

[]

persistence - определить параметры хранения данных Open WebUI#

Параметр

Описание

Значение по умолчанию

persistence.enabled

Включить постоянное хранение данных Open WebUI через PVC

false

persistence.size

Размер PVC для данных Open WebUI

2Gi

persistence.existingClaim

Имя существующего PVC, если нужно переиспользовать уже созданное хранилище вместо создания нового

""

persistence.subPath

Подкаталог PVC для монтирования; полезно, если корневой каталог тома не пустой

""

persistence.accessModes

Access modes для PVC; при нескольких репликах требуется ReadWriteMany

- ReadWriteOnce

persistence.storageClass

StorageClass для PVC Open WebUI

""

persistence.selector

Selector для выбора тома, который должен быть связан с claim

{}

persistence.annotations

Дополнительные аннтации для PVC

{}

persistence.labels

Дополнительные метки для PVC

{}

persistence.provider

Провайдер хранения данных; допустимые значения local, s3, gcs или azure

local

persistence.s3.accessKey

Access key ID для S3-хранилища

""

persistence.s3.secretKey

Secret access key для S3-хранилища; игнорируется, если задан secretKeyExistingSecret

""

persistence.s3.accessKeyExistingSecret

Имя существующего Kubernetes секрета с access key для S3

""

persistence.s3.accessKeyExistingAccessKey

Ключ в существующем секрете, содержащий access key для S3

""

persistence.s3.secretKeyExistingSecret

Имя существующего Kubernetes секрета с secret key для S3

""

persistence.s3.secretKeyExistingSecretKey

Ключ в существующем секрете, содержащий secret key для S3

""

persistence.s3.endpointUrl

Endpoint URL для S3-хранилища

""

persistence.s3.region

Region name для S3-хранилища

""

persistence.s3.bucket

Имя bucket для S3-хранилища

""

persistence.s3.keyPrefix

Префикс ключа для объектов в S3

""

persistence.gcs.appCredentialsJson

Содержимое Google Application Credentials JSON; если не задано, credentials берутся из окружения, а при appCredentialsJsonExistingSecret параметр игнорируется

""

persistence.gcs.appCredentialsJsonExistingSecret

Имя существующего секрета с Google Application Credentials JSON

""

persistence.gcs.appCredentialsJsonExistingSecretKey

Ключ в существующем секрете, содержащий Google Application Credentials JSON

""

persistence.gcs.bucket

Имя существующего bucket в Google Cloud Storage

""

persistence.azure.endpointUrl

Endpoint URL для Azure Storage

""

persistence.azure.container

Имя container в Azure Storage

""

persistence.azure.key

Access key для Azure Storage; игнорируется, если задан keyExistingSecret, а при пустом значении credentials берутся из окружения

""

persistence.azure.keyExistingSecret

Имя существующего Secret с access key для Azure Storage

""

persistence.azure.keyExistingSecretKey

Ключ в существующем секрета, содержащий access key для Azure Storage

""

nodeSelector - определить Метки узлов для размещения pod#

Параметр

Описание

Значение по умолчанию

nodeSelector

Метки узлов для назначения pod Open WebUI на подходящие узлы

{}

tolerations - определить tolerations для размещения pod#

Параметр

Описание

Значение по умолчанию

tolerations

Tolerations для размещения pod Open WebUI на узлах с taints

[]

affinity - определить affinity для размещения pod#

Параметр

Описание

Значение по умолчанию

affinity

Affinity-правила для размещения pod Open WebUI

{}

topologySpreadConstraints - определить topology spread constraints#

Параметр

Описание

Значение по умолчанию

topologySpreadConstraints

TopologySpreadConstraints для распределения pod Open WebUI по topology domains

[]

hostAliases - определить hostAliases для контейнеров#

Параметр

Описание

Значение по умолчанию

hostAliases

HostAliases, добавляемые в hosts-файл каждого контейнера

[]

service - определить параметры Service для Open WebUI#

Параметр

Описание

Значение по умолчанию

service.type

Тип Service для доступа к pod Open WebUI; допустимы ClusterIP, NodePort, LoadBalancer или ExternalName

ClusterIP

service.annotations

Дополнительные аннотации для Service

{}

service.port

Порт Service для Open WebUI

80

service.containerPort

Target port контейнера Open WebUI

8080

service.nodePort

NodePort для Service при service.type=NodePort

""

service.labels

Дополнительные метки для метаданных Service

{}

service.loadBalancerClass

Load balancer class для Service типа LoadBalancer

""

enableOpenaiApi - включить использование OpenAI API#

Параметр

Описание

Значение по умолчанию

enableOpenaiApi

Включает использование OpenAI API в Open WebUI

false

openaiBaseApiUrl - определить базовый URL OpenAI API#

Параметр

Описание

Значение по умолчанию

openaiBaseApiUrl

Базовый URL OpenAI API; по умолчанию используется endpoint Pipelines при включенных Pipelines или https://api.openai.com/v1, если Pipelines выключены и значение пустое

"https://api.openai.com/v1"

openaiBaseApiUrls - определить несколько базовых URL OpenAI API#

Параметр

Описание

Значение по умолчанию

openaiBaseApiUrls

Список базовых URL OpenAI API; при задании переопределяет openaiBaseApiUrl. Пример конфигурации:

- «https://api.openai.com/v1»
- «https://api.company.openai.com/v1»

[]

openaiApiKey - определить OpenAI API key#

Параметр

Описание

Значение по умолчанию

openaiApiKey

OpenAI API key; используется как default API key для Pipelines, если openaiBaseApiUrl пустой, и должен быть изменен для production-развертывания

"0p3n-w3bu!"

openaiApiKeyExistingSecret - определить секрет с OpenAI API key#

Параметр

Описание

Значение по умолчанию

openaiApiKeyExistingSecret

Имя существующего секрета с OpenAI API key

""

openaiApiKeyExistingSecretKey - определить ключ секрета с OpenAI API key#

Параметр

Описание

Значение по умолчанию

openaiApiKeyExistingSecretKey

Ключ в существующем секрете, содержащий OpenAI API key

""

openaiApiKeys - определить список OpenAI API keys#

Параметр

Описание

Значение по умолчанию

openaiApiKeys

Список OpenAI API keys для списка openaiBaseApiUrls; количество ключей должно совпадать с количеством URL и порядком, а при pipelines.enabled=true требуется на один ключ больше. Пример конфигурации:

- «0p3n-w3bu!»
- «sk-4389759834759834»

[]

openaiApiKeysExistingSecret - определить секрет со списком OpenAI API keys#

Параметр

Описание

Значение по умолчанию

openaiApiKeysExistingSecret

Имя существующего секрета, содержащего все OpenAI API keys как значение, разделенное точкой с запятой

""

openaiApiKeysExistingSecretKey - определить ключ секрета со списком OpenAI API keys#

Параметр

Описание

Значение по умолчанию

openaiApiKeysExistingSecretKey

Ключ в существующем секрете, содержащий список OpenAI API keys через точку с запятой

""

databaseUrl - определить подключение к внешней базе данных#

Параметр

Описание

Значение по умолчанию

databaseUrl

Database URL для работы с Postgres в формате postgresql://<user>:<password>@<service>:<port>/<database>; если пусто, используется sqlite

""

extraEnvVars - определить дополнительные переменные окружения Open WebUI#

Параметр

Описание

Значение по умолчанию

extraEnvVars

Переменные окружения для Deployment Open WebUI; могут задаваться списком или map-структурой. REQUESTS_CA_BUNDLE и SSL_CERT_FILE указывают Open WebUI путь к CA bundle из смонтированного ingress-tls Secret. Пример конфигурации:

- name: OPENAI_API_KEY
valueFrom:
secretKeyRef:
name: pipelines-api-key
key: api-key
- name: OPENAI_API_KEY
valueFrom:
secretKeyRef:
name: openai-api-key
key: api-key
- name: OLLAMA_DEBUG
value: «1»

OPENAI_API_KEY:
valueFrom:
secretKeyRef:
name: pipelines-api-key
key: api-key
OPENAI_API_KEY:
valueFrom:
secretKeyRef:
name: openai-api-key
key: api-key
OLLAMA_DEBUG: «1»

- name: CORS_ALLOW_ORIGIN
value: „https://open-webui.“
- name: REQUESTS_CA_BUNDLE
value: /etc/open-webui/ca/tls.crt
- name: SSL_CERT_FILE
value: /etc/open-webui/ca/tls.crt

commonEnvVars - определить общие переменные окружения Open WebUI#

Параметр

Описание

Значение по умолчанию

commonEnvVars

Общие переменные окружения Open WebUI для разных окружений; дублирование с extraEnvVars приводит к конфликту. Пример конфигурации:

- name: RAG_EMBEDDING_ENGINE
value: «openai»

[]

extraEnvFrom - определить источники переменных окружения из ConfigMap или Secret#

Параметр

Описание

Значение по умолчанию

extraEnvFrom

Источники переменных окружения из ConfigMap или Secret; extraEnvVars имеют приоритет над значениями из extraEnvFrom. Пример конфигурации:

- configMapRef:
name: my-config
- secretRef:
name: my-secret

[]

runtimeClassName - определить runtime class#

Параметр

Описание

Значение по умолчанию

runtimeClassName

RuntimeClassName для запуска pod Open WebUI, например при использовании GPU runtime

""

volumeMounts - определить монтирование томов#

Параметр

Описание

Значение по умолчанию

volumeMounts.initContainer

Монтирования томов для init containers. Пример конфигурации:

- name: «»
mountPath: «»

[]

volumeMounts.container

Монтирования томов для основного контейнера Open WebUI; используется для подключения CA bundle из ingress-tls Secret в контейнер. Пример конфигурации:

- name: «»
mountPath: «»

- mountPath: /etc/open-webui/ca
name: ingress-tls
readOnly: true

extraInitContainers - определить дополнительные init containers#

Параметр

Описание

Значение по умолчанию

extraInitContainers

Дополнительные init containers для Deployment или StatefulSet. Пример конфигурации:

- name: custom-init
image: busybox:latest
command: [„sh“, „-c“, „echo «Custom init container running»“]
volumeMounts:
- name: data
mountPath: /data

[]

volumes - определить тома pod#

Параметр

Описание

Значение по умолчанию

volumes

Тома, добавляемые в pod Open WebUI; по умолчанию подключает секрет ingress-tls для передачи CA bundle в контейнер. Пример конфигурации:

- name: «»
configMap:
name: «»
- name: «»
emptyDir: {}

- name: ingress-tls
secret:
defaultMode: 420
secretName: ingress-tls

podSecurityContext - определить security context pod#

Параметр

Описание

Значение по умолчанию

podSecurityContext

Security context для pod Open WebUI. Пример конфигурации:

fsGroupChangePolicy: Always
sysctls: []
supplementalGroups: []
fsGroup: 1001

{}

containerSecurityContext - определить security context контейнера#

Параметр

Описание

Значение по умолчанию

containerSecurityContext

Security context для контейнера Open WebUI. Пример конфигурации:

runAsUser: 1001
runAsGroup: 1001
runAsNonRoot: true
privileged: false
allowPrivilegeEscalation: false
readOnlyRootFilesystem: false
capabilities:
drop:
- ALL
seccompProfile:
type: «RuntimeDefault»

{}

sso - определить параметры SSO-аутентификации#

Параметр

Описание

Значение по умолчанию

sso.enabled

Глобально включает SSO-аутентификацию в Open WebUI

true

sso.enableSignup

Разрешает создание аккаунта при входе через OAuth, отдельно от обычной регистрации

true

sso.mergeAccountsByEmail

Разрешает вход в аккаунты, email которых совпадает с email от OAuth provider; считается небезопасным режимом

false

sso.enableRoleManagement

Включает управление ролями через roles claim из access token

true

sso.enableGroupManagement

Включает управление группами через groups claim из access token

true

sso.google.enabled

Включить Google OAuth

false

sso.google.clientId

Google OAuth client ID

""

sso.google.clientSecret

Секрет Google OAuth client; игнорируется, если задан clientExistingSecret

""

sso.google.clientExistingSecret

Имя существующего секрета с Google OAuth client secret

""

sso.google.clientExistingSecretKey

Ключ в существующем секрете, содержащий Google OAuth client secret

""

sso.microsoft.enabled

Включить Microsoft OAuth

false

sso.microsoft.clientId

Microsoft OAuth client ID

""

sso.microsoft.clientSecret

Секрет Microsoft OAuth client; игнорируется, если задан clientExistingSecret

""

sso.microsoft.clientExistingSecret

Имя существующего секрета с Microsoft OAuth client secret

""

sso.microsoft.clientExistingSecretKey

Ключ в существующем секрете, содержащий Microsoft OAuth client secret

""

sso.microsoft.tenantId

Microsoft tenant ID; для personal accounts используется 9188040d-6c67-4c5b-b112-36a304b66dad

""

sso.github.enabled

Включить GitHub OAuth

false

sso.github.clientId

GitHub OAuth client ID

""

sso.github.clientSecret

Секрет GitHub OAuth client; игнорируется, если задан clientExistingSecret

""

sso.github.clientExistingSecret

Имя существующего секрета с GitHub OAuth client secret

""

sso.github.clientExistingSecretKey

Ключ в существующем секрете, содержащий GitHub OAuth client secret

""

sso.oidc.enabled

Включить OIDC-аутентификацию

true

sso.oidc.clientId

OIDC client ID

"open-webui"

sso.oidc.clientSecret

Секрет OIDC client; игнорируется, если задан clientExistingSecret

"...="

sso.oidc.clientExistingSecret

Имя существующего секрета с OIDC client secret

""

sso.oidc.clientIdExistingSecretKey

Ключ в существующем секрете, содержащий OIDC client ID

""

sso.oidc.clientExistingSecretKey

Ключ в существующем секрете, содержащий OIDC client secret

""

sso.oidc.providerUrl

Well-known URL OIDC provider

'https://auth.{{ include "ingress.domain" . }}/.well-known/openid-configuration'

sso.oidc.existingConfig

Имя существующего ConfigMap с OIDC-конфигурацией

""

sso.oidc.existingConfigProviderUrlKey

Ключ в существующем ConfigMap, содержащий URL OIDC provider

""

sso.oidc.providerName

Имя provider, отображаемое в UI

"Platform V DropApp"

sso.oidc.scopes

OIDC scopes, запрашиваемые у provider, через пробел

"openid email profile groups"

sso.roleManagement.rolesClaim

Claim с ролями пользователя; может быть вложенным, например user.roles

"group"

sso.roleManagement.allowedRoles

Список ролей через запятую, которым разрешен вход с ролью user в Open WebUI

"ipausers"

sso.roleManagement.adminRoles

Список ролей через запятую, которым разрешен вход с ролью admin в Open WebUI

"k8s-admins"

sso.groupManagement.groupsClaim

Claim с группами пользователя; может быть вложенным, например user.memberOf

"groups"

sso.trustedHeader.enabled

Включить аутентификацию через trusted header

false

sso.trustedHeader.emailHeader

Header, содержащий email пользователя

""

sso.trustedHeader.nameHeader

Header, содержащий имя пользователя для создания нового пользователя

""

extraResources - определить дополнительные ресурсы Open WebUI#

Параметр

Описание

Значение по умолчанию

extraResources

Дополнительные Kubernetes-ресурсы, разворачиваемые вместе с Open WebUI. Пример конфигурации:

- apiVersion: v1
kind: ConfigMap
metadata:
name: example-configmap
data:
example-key: example-value

[]

logging - определить уровни логирования Open WebUI#

Параметр

Описание

Значение по умолчанию

logging.level

Глобальный уровень логирования; допустимые значения notset, debug, info, warning, error, critical

""

logging.components.audio

Уровень логирования для компонента обработки Audio

""

logging.components.comfyui

Уровень логирования для компонента интеграции с ComfyUI

""

logging.components.config

Уровень логирования для компонента Configuration Management

""

logging.components.db

Уровень логирования для компонента Database Operations на Peewee

""

logging.components.images

Уровень логирования для компонента Image Generation

""

logging.components.main

Уровень логирования для основного runtime приложения

""

logging.components.models

Уровень логирования для компонента Model Management

""

logging.components.ollama

Уровень логирования для компонента интеграции с Ollama Backend

""

logging.components.openai

Уровень логирования для компонента интеграции с OpenAI API

""

logging.components.rag

Уровень логирования для компонента Retrieval-Augmented Generation

""

logging.components.webhook

Уровень логирования для компонента Authentication Webhook

""