No introduction found. Create it?
open-webui from bjw-s-labs/charts is more popular with 26 repositories.
Install with:
helm repo add open-webui oci://ghcr.io/bjw-s-labs/charts/
helm install open-webui open-webui/open-webui -f values.yamlSee examples from other people.
| Name | Repo | Stars | Version | Timestamp |
|---|---|---|---|---|
| open-webui | joryirving/home-ops | 223 | 5.0.1 | a day ago |
| open-webui | bjw-s-labs/home-ops | 845 | 5.0.1 | 17 days ago |
See the most popular values for this chart:
| Key | Types |
|---|---|
controllers.open-webui.containers.app.image.repository (12) ghcr.io/open-webui/open-webui | string |
controllers.open-webui.containers.app.image.tag (12) v0.11.0@sha256:72c0ba641ba75e7aa52655cb242570906ececd09b1140fb736483038a22b3228 | string |
| string | |
| string | |
| string | |
| string | |
controllers.open-webui.containers.app.envFrom[].secretRef.name (10) open-webui-secret | string |
| boolean, string | |
| boolean | |
| string | |
controllers.open-webui.containers.app.env.OPENID_REDIRECT_URI (9) https://chat.aresu.eu/oauth/oidc/callback | string |
controllers.open-webui.containers.app.env.SEARXNG_QUERY_URL (9) http://searxng.selfhosted.svc.cluster.local:8080/search?q=<query> | string |
| boolean, string | |
| boolean | |
controllers.open-webui.containers.app.env.OAUTH_SCOPES (8) openid email profile groups | string |
controllers.open-webui.containers.app.env.OPENID_PROVIDER_URL (8) https://idm.aresu.eu/oauth2/openid/openwebui/.well-known/openid-configuration | string |
| string | |
| boolean, string | |
| boolean, string | |
| string | |
controllers.open-webui.containers.app.env.WEBSOCKET_REDIS_URL (7) redis://open-webui-dragonfly:6379 | string |
| boolean | |
| boolean | |
| boolean | |
| boolean, string | |
controllers.open-webui.containers.app.env.OLLAMA_BASE_URL (4) http://ollama.ai.svc.cluster.local:11434 | string |
controllers.open-webui.containers.app.env.CORS_ALLOW_ORIGIN (3) https://chat.xcd.dev | string |
| boolean | |
| string, boolean | |
| string, boolean | |
| string | |
| string | |
| string | |
| number | |
controllers.open-webui.containers.app.env.OAUTH_ADMIN_ROLES (3) admins@idm.erwanleboucher.dev | string |
controllers.open-webui.containers.app.env.OAUTH_ALLOWED_ROLES (3) users@idm.erwanleboucher.dev,admins@idm.erwanleboucher.dev | string |
| string | |
controllers.open-webui.containers.app.env.WEBUI_URL (3) https://chat.xcd.dev | string |
controllers.open-webui.containers.app.env.AUTOMATIC1111_BASE_URL (2) http://sdnext:7860/ | string |
| number | |
| string | |
| string | |
| boolean | |
controllers.open-webui.containers.app.env.OPENAI_API_BASE_URL (2) http://bifrost.ai.svc.cluster.local:8080/v1 | string |
controllers.open-webui.containers.app.env.USER_AGENT (2) OpenWebUI/0.9.2 | string |
| string | |
| string | |
| boolean | |
| boolean | |
controllers.open-webui.containers.app.env.COMFYUI_BASE_URL (1) http://smurf-pc:8188 | string |
| string | |
| string | |
controllers.open-webui.containers.app.env.DATABASE_URL.valueFrom.secretKeyRef.name (1) {{ .Release.Name }}-app | string |
| string | |
| boolean | |
| boolean | |
| boolean | |
| boolean | |
| boolean | |
| boolean | |
| boolean | |
| boolean | |
| boolean | |
| boolean | |
| boolean | |
| boolean | |
| boolean | |
| number | |
| number | |
controllers.open-webui.containers.app.env.MEMINI_BASE_URL (1) http://memini.ai.svc.cluster.local:8080 | string |
| string | |
| string | |
| string | |
controllers.open-webui.containers.app.env.OAUTH_CLIENT_ID (1) kwXD1uXbBGa53v3uKvITLrqaMB0rWohYWl1wyhmp | string |
| string | |
| string | |
| string | |
| string | |
| boolean | |
| boolean | |
| string | |
| string | |
| string | |
| string | |
| boolean | |
controllers.open-webui.containers.app.env.RAG_OPENAI_API_BASE_URL (1) http://bifrost.ai.svc.cluster.local:8080/v1 | string |
| boolean | |
| string | |
| string | |
controllers.open-webui.containers.app.env.TOOL_SERVER_CONNECTIONS (1) [{"type":"mcp","url":"http://litellm.ai.svc.cluster.local:4000/mcp","spec_type":"url","spec":"","path":"openapi.json","auth_type":"none","key":"","config":{"enable":true},"info":{"id":"mcp-gateway","name":"MCP Gateway","description":""}}] | string |
| string | |
controllers.open-webui.containers.app.env.TZ (1) America/Chicago | string |
| string | |
| string | |
| string | |
| string | |
| boolean | |
| boolean | |
| boolean | |
| number | |
| string | |
| number | |
| number | |
| number | |
| number | |
| string | |
| string | |
| boolean | |
| boolean | |
| number | |
| string | |
| number | |
| number | |
| number | |
| number | |
| string | |
| string | |
| boolean | |
| number | |
| number | |
| string | |
| number | |
| string | |
| string | |
| boolean | |
| string | |
| boolean | |
| string | |
| string | |
controllers.open-webui.initContainers.init-db.image.repository (1) ghcr.io/home-operations/postgres-init | string |
| number | |
| string | |
| number | |
| string | |
| number | |
| boolean | |
| number | |
| string | |
| string | |
route.app.hostnames[] (12) - chat.aresu.eu | string |
route.app.parentRefs[].name (12) envoy-internal | string |
| string | |
| string | |
| number | |
| string | |
route.app.rules[].backendRefs[].name (1) open-webui | string |
route.app.annotations."gatus.home-operations.com/endpoint" (1) conditions: ["[STATUS] == 200"] | string |
| boolean | |
route.filters[].responseHeaderModifier.set[].name (1) Strict-Transport-Security | string |
route.filters[].responseHeaderModifier.set[].value (1) max-age=31536000;includeSubDomains | string |
route.filters[].type (1) ResponseHeaderModifier | string |
route.hostnames[] (1) - chat.labx.sh | string |
route.parentRefs[].name (1) envoy-external | string |
| string | |
| number | |
service.app.ports.http.appProtocol (1) kubernetes.io/ws | string |
service.app.controller (2) open-webui | string |
persistence.config.existingClaim (10) open-webui | string |
persistence.config.globalMounts[].path (9) /app/backend/data | string |
| boolean | |
persistence.config.advancedMounts.open-webui.app[].path (1) /data | string |
persistence.config.advancedMounts.open-webui.app[].subPath (1) data | string |
persistence.data.existingClaim (2) open-webui | string |
persistence.data.advancedMounts.open-webui.app[].path (1) /app/backend/data | string |
persistence.data.globalMounts[].path (1) /app/backend/data | string |
| boolean | |
persistence.tmp.type (2) emptyDir | string |
| string | |
| string | |
persistence.accessModes[] (1) - ReadWriteOnce | string |
persistence.cache.globalMounts[].path (1) /app/backend/data/cache | string |
persistence.cache.type (1) emptyDir | string |
persistence.existingClaim (1) open-webui | string |
| string | |
persistence.static.globalMounts[].path (1) /app/backend/open_webui/static | string |
persistence.static.type (1) emptyDir | string |
persistence.storageClass (1) ceph-block | string |
| string | |
| string | |
persistence.tmpfs.type (1) emptyDir | string |
| number | |
| boolean | |
| number | |
| string | |
| number | |
| string | |
| string | |
| string | |
| string | |
| boolean | |
| string | |
containerSecurityContext.seccompProfile.type (2) RuntimeDefault | string |
enableOpenaiApi (2) false | boolean |
image.repository (2) ghcr.io/open-webui/open-webui | string |
image.tag (2) v0.11.0@sha256:72c0ba641ba75e7aa52655cb242570906ececd09b1140fb736483038a22b3228 | string |
ollama.enabled (2) false | boolean |
| boolean | |
| string | |
| string | |
| string | |
| boolean | |
| string | |
| boolean | |
extraEnvFrom[].secretRef.name (1) open-webui-secret | string |
extraEnvVars.AUDIT_LOG_LEVEL (1) METADATA | string |
extraEnvVars.CORS_ALLOW_ORIGIN (1) https://chat.labx.sh | string |
| boolean | |
| boolean | |
| boolean | |
extraEnvVars.FORWARDED_ALLOW_IPS (1) 10.42.0.0/16 | string |
| string | |
| boolean | |
| string | |
| string | |
| string | |
| boolean | |
extraEnvVars[].name (1) OPENAI_API_CONFIGS | string |
extraEnvVars[].value (1) {"0":{"api_type":"responses"},"1":{"api_type":"responses"}} | string |
extraEnvVars[].valueFrom.secretKeyRef.key (1) OAUTH_CLIENT_ID | string |
extraEnvVars[].valueFrom.secretKeyRef.name (1) open-webui-secret | string |
extraInitContainers[].args[] (1) - import json
import os
import sqlite3
import time
import uuid
from pathlib import Path
database = Path("/app/backend/data/webui.db")
if not database.exists():
raise SystemExit(0)
with sqlite3.connect(database, timeout=30) as connection:
table = connection.execute(
"SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = 'config'"
).fetchone()
if table is None:
raise SystemExit(0)
api_base_urls = os.environ["OPENAI_API_BASE_URLS"].split(";")
api_keys = os.environ["OPENAI_API_KEYS"].split(";")
if len(api_base_urls) != 2 or len(api_keys) != 2:
raise RuntimeError("expected exactly two OpenAI-compatible connections")
for key, value in (
("openai.api_base_urls", api_base_urls),
("openai.api_keys", api_keys),
):
updated = connection.execute(
"UPDATE config SET value = ?, updated_at = ? WHERE key = ?",
(json.dumps(value, separators=(",", ":")), int(time.time()), key),
).rowcount
if updated != 1:
raise RuntimeError(f"missing persisted Open WebUI config key: {key}")
row = connection.execute(
"SELECT value FROM config WHERE key = 'openai.api_configs'"
).fetchone()
if row is None:
raise SystemExit(0)
api_configs = json.loads(row[0])
for index in ("0", "1"):
config = api_configs.setdefault(index, {})
config["api_type"] = "responses"
config["enable"] = True
connection.execute(
"UPDATE config SET value = ?, updated_at = ? WHERE key = 'openai.api_configs'",
(json.dumps(api_configs, separators=(",", ":")), int(time.time())),
)
users_by_role = {}
for user_id, role in connection.execute("SELECT id, role FROM user"):
users_by_role.setdefault(role, []).append(user_id)
admin_ids = users_by_role.get("admin", [])
member_ids = users_by_role.get("user", [])
admin_id = admin_ids[0] if len(admin_ids) == 1 else None
maggie_id = member_ids[0] if len(member_ids) == 1 else None
now = int(time.time())
template = connection.execute(
"SELECT params, meta FROM model WHERE id = 'Maude'"
).fetchone()
model_params, model_meta = template or ("{}", "{}")
for model_id, name, owner_id, allowed_user_id in (
("Maude", "Maude", admin_id, admin_id),
("Maude for Maggie", "Maude for Maggie", maggie_id, maggie_id),
):
if owner_id is None:
continue
model = connection.execute(
"SELECT 1 FROM model WHERE id = ?", (model_id,)
).fetchone()
if model is None:
connection.execute(
"INSERT INTO model "
"(id, user_id, base_model_id, name, params, meta, "
"updated_at, created_at, is_active) "
"VALUES (?, ?, NULL, ?, ?, ?, ?, ?, 1)",
(model_id, owner_id, name, model_params, model_meta, now, now),
)
else:
connection.execute(
"UPDATE model SET user_id = ?, name = ?, updated_at = ?, is_active = 1 "
"WHERE id = ?",
(owner_id, name, now, model_id),
)
connection.execute(
"DELETE FROM access_grant "
"WHERE resource_type = 'model' AND resource_id = ?",
(model_id,),
)
if allowed_user_id is not None:
connection.execute(
"INSERT INTO access_grant "
"(id, resource_type, resource_id, principal_type, principal_id, "
"permission, created_at) "
"VALUES (?, 'model', ?, 'user', ?, 'read', ?)",
(str(uuid.uuid4()), model_id, allowed_user_id, now),
)
| string |
extraInitContainers[].command[] (1) - python | string |
extraInitContainers[].env[].name (1) OPENAI_API_BASE_URLS | string |
extraInitContainers[].env[].value (1) http://10.0.10.95:8642/v1;http://10.0.10.95:8643/v1 | string |
extraInitContainers[].env[].valueFrom.secretKeyRef.key (1) OPENAI_API_KEYS | string |
extraInitContainers[].env[].valueFrom.secretKeyRef.name (1) open-webui-secret | string |
extraInitContainers[].image (1) ghcr.io/open-webui/open-webui:v0.11.0@sha256:72c0ba641ba75e7aa52655cb242570906ececd09b1140fb736483038a22b3228 | string |
extraInitContainers[].name (1) configure-responses-api | string |
| string | |
| string | |
| string | |
| boolean | |
| string | |
| string | |
extraInitContainers[].volumeMounts[].mountPath (1) /app/backend/data | string |
| string | |
fullnameOverride (1) open-webui | string |
| number | |
| string | |
| string | |
| number | |
openaiApiKeysExistingSecret (1) open-webui-secret | string |
openaiApiKeysExistingSecretKey (1) OPENAI_API_KEYS | string |
openaiBaseApiUrls[] (1) - http://10.0.10.95:8642/v1 | string |
| string | |
| number | |
readinessProbe.httpGet.path (1) /health/db | string |
| string | |
| number | |
| number | |
| string | |
| string | |
| number | |
strategy.type (1) Recreate | string |
| boolean | |
tika.enabled (1) false | boolean |
workload.kind (1) Deployment | string |