apiVersion: apps/v1 kind: Deployment metadata: name: open-webui spec: replicas: 1 selector: matchLabels: component: web template: metadata: labels: component: web spec: securityContext: seccompProfile: type: RuntimeDefault containers: - name: open-webui image: {{ .image }} imagePullPolicy: IfNotPresent securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL readOnlyRootFilesystem: false ports: - name: http containerPort: {{ .port }} env: - name: WEBUI_AUTH value: "{{ .enableAuth }}" - name: ENABLE_SIGNUP value: "{{ .enableSignup }}" - name: OPENAI_API_BASE_URL value: "{{ .vllmApiUrl }}" - name: OPENAI_API_KEY value: "sk-placeholder" # Required but not used with vLLM - name: WEBUI_SECRET_KEY valueFrom: secretKeyRef: name: open-webui-secrets key: secretKey volumeMounts: - name: data mountPath: /app/backend/data resources: requests: cpu: 100m memory: 512Mi limits: cpu: 1 memory: 2Gi startupProbe: httpGet: path: /health port: http initialDelaySeconds: 30 periodSeconds: 10 failureThreshold: 18 readinessProbe: httpGet: path: /health port: http periodSeconds: 10 timeoutSeconds: 5 livenessProbe: httpGet: path: /health port: http periodSeconds: 30 timeoutSeconds: 5 volumes: - name: data persistentVolumeClaim: claimName: open-webui-data