Prerequisites
- Kubernetes cluster (1.19+)
- kubectl configured to communicate with your cluster
- Persistent volume provisioner (for data persistence)
- Optional: Helm 3.x for Helm-based deployment
Quick Start with Kubectl
Basic Deployment
Create a deployment manifestopen-webui-deployment.yaml:
open-webui-deployment.yaml
Expose with Ingress
Create an Ingress resource:ingress.yaml
Deploying with Ollama
Combined Deployment
Deploy both Open WebUI and Ollama in the same namespace:ollama-deployment.yaml
GPU Support
For GPU support, add node selectors and resource limits:Horizontal Scaling
For multi-replica deployments, configure Redis for session management:Database Configuration
PostgreSQL Backend
For production deployments, use PostgreSQL instead of SQLite:postgres-deployment.yaml
ConfigMap for Environment Variables
Manage environment variables with ConfigMaps:configmap.yaml
Monitoring and Observability
Prometheus Metrics
Enable OpenTelemetry metrics:Using Helm (Community Charts)
While there isn’t an official Helm chart, you can create your own or use community charts. Basic Helm values structure:values.yaml
Security Best Practices
Troubleshooting
Check Pod Status
View Logs
Check PVC Status
Shell into Container
Next Steps
Environment Variables
Configure Open WebUI settings
Updating
Update your Kubernetes deployment
Docker Deployment
Alternative Docker deployment
Reverse Proxy
Configure ingress and reverse proxy