Skip to main content

Kubernetes

Libre WebUI ships a Helm chart under helm/libre-webui.

Install

helm install libre-webui oci://ghcr.io/libre-webui/charts/libre-webui

The default chart deploys Libre WebUI with persistent storage and a bundled Ollama service.

Access Locally

kubectl port-forward svc/libre-webui 8080:8080

Open http://localhost:8080.

External Ollama

Use an existing Ollama endpoint:

helm install libre-webui oci://ghcr.io/libre-webui/charts/libre-webui \
--set ollama.bundled.enabled=false \
--set ollama.external.enabled=true \
--set ollama.external.url=http://my-ollama:11434

Secrets

Set a stable JWT secret and encryption key for production. Use Kubernetes Secrets rather than plaintext values files.

kubectl create secret generic libre-webui-secrets \
--from-literal=JWT_SECRET="$(openssl rand -hex 64)" \
--from-literal=ENCRYPTION_KEY="$(openssl rand -hex 32)"

Add provider API keys the same way when you want deployment-wide plugin credentials.

Persistence

Keep the Libre WebUI data PVC and Ollama model PVC on persistent storage. Back up the Libre WebUI data volume and the encryption key together.

Ingress

For public access, configure ingress with HTTPS and set backend origins:

BASE_URL=https://your-domain.example
CORS_ORIGIN=https://your-domain.example

OAuth callback URLs must match the public domain.

Resource Planning

For local Ollama inside the cluster, schedule the Ollama pod on nodes with enough memory and GPU capacity for the models you plan to run. If your cluster already has a dedicated Ollama or inference service, external Ollama is usually simpler.