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.