mirror of
				https://github.com/open-webui/helm-charts
				synced 2025-06-26 18:16:14 +00:00 
			
		
		
		
	Merge pull request #221 from this-is-tobi/feat/improve-open-webui-whart
Feat/improve open webui chart
This commit is contained in:
		
						commit
						fa01ccd3c4
					
				
							
								
								
									
										22
									
								
								.github/workflows/helm-test-open-webui.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										22
									
								
								.github/workflows/helm-test-open-webui.yml
									
									
									
									
										vendored
									
									
								
							| @ -20,20 +20,21 @@ jobs: | ||||
|       - name: Set up Helm | ||||
|         uses: azure/setup-helm@v4 | ||||
| 
 | ||||
|       - name: Lint open-webui Helm Chart | ||||
|         run: | | ||||
|           helm lint ./charts/open-webui | ||||
| 
 | ||||
|       - name: Add Dependency Repos | ||||
|         run: | | ||||
|           helm repo add ollama https://otwld.github.io/ollama-helm/ | ||||
|           helm repo add open-webui https://helm.openwebui.com/ | ||||
|           helm repo add tika https://apache.jfrog.io/artifactory/tika/ | ||||
|           helm repo add redis https://charts.bitnami.com/bitnami | ||||
|           helm repo add bitnami https://charts.bitnami.com/bitnami | ||||
| 
 | ||||
|       - name: Build open-webui Helm dependencies | ||||
|         run: | | ||||
|           helm dependency build ./charts/open-webui | ||||
| 
 | ||||
|       - name: Lint open-webui Helm Chart | ||||
|         run: | | ||||
|           helm lint ./charts/open-webui | ||||
| 
 | ||||
|   test-deploy: | ||||
|     name: Test Chart Deployment | ||||
|     runs-on: ubuntu-latest | ||||
| @ -52,6 +53,17 @@ jobs: | ||||
|       - name: Set up KinD Cluster | ||||
|         uses: helm/kind-action@v1 | ||||
| 
 | ||||
|       - name: Add Dependency Repos | ||||
|         run: | | ||||
|           helm repo add ollama https://otwld.github.io/ollama-helm/ | ||||
|           helm repo add open-webui https://helm.openwebui.com/ | ||||
|           helm repo add tika https://apache.jfrog.io/artifactory/tika/ | ||||
|           helm repo add bitnami https://charts.bitnami.com/bitnami | ||||
| 
 | ||||
|       - name: Build open-webui Helm dependencies | ||||
|         run: | | ||||
|           helm dependency build ./charts/open-webui | ||||
| 
 | ||||
|       - name: Template open-webui Helm Chart | ||||
|         run: | | ||||
|           helm template open-webui ./charts/open-webui \ | ||||
|  | ||||
							
								
								
									
										4
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -122,4 +122,8 @@ Temporary Items | ||||
| # iCloud generated files | ||||
| *.icloud | ||||
| 
 | ||||
| ### Helm ### | ||||
| # Chart dependencies | ||||
| **/charts/*.tgz | ||||
| 
 | ||||
| # End of https://www.toptal.com/developers/gitignore/api/macos,intellij+all,helm | ||||
| @ -11,5 +11,8 @@ dependencies: | ||||
| - name: redis | ||||
|   repository: https://charts.bitnami.com/bitnami | ||||
|   version: 20.11.5 | ||||
| digest: sha256:e056d54c822caf7601281777f54d88f32818982d52b7e81fbf811b8e4661265e | ||||
| generated: "2025-04-13T21:46:37.771856+09:00" | ||||
| - name: postgresql | ||||
|   repository: https://charts.bitnami.com/bitnami | ||||
|   version: 16.6.3 | ||||
| digest: sha256:6da6a7bae03aba138c247775a786c0f459bdd9360db8980b0a5ffdea0fb88a5d | ||||
| generated: "2025-04-13T03:03:27.462575+02:00" | ||||
|  | ||||
| @ -1,6 +1,6 @@ | ||||
| apiVersion: v2 | ||||
| name: open-webui | ||||
| version: 6.2.0 | ||||
| version: 6.3.0 | ||||
| appVersion: 0.6.4 | ||||
| home: https://www.openwebui.com/ | ||||
| icon: >- | ||||
| @ -43,3 +43,8 @@ dependencies: | ||||
|     version: '>=20.6.2' | ||||
|     alias: redis-cluster | ||||
|     condition: redis-cluster.enabled | ||||
|   - name: postgresql | ||||
|     repository: https://charts.bitnami.com/bitnami | ||||
|     version: '>=15.5.38' | ||||
|     alias: postgresql | ||||
|     condition: postgresql.enabled | ||||
|  | ||||
| @ -1,6 +1,6 @@ | ||||
| # open-webui | ||||
| 
 | ||||
|   | ||||
|   | ||||
| 
 | ||||
| Open WebUI: A User-Friendly Web Interface for Chat Interactions 👋 | ||||
| 
 | ||||
| @ -34,6 +34,7 @@ helm upgrade --install open-webui open-webui/open-webui | ||||
| | Repository | Name | Version | | ||||
| |------------|------|---------| | ||||
| | https://apache.jfrog.io/artifactory/tika | tika | >=2.9.0 | | ||||
| | https://charts.bitnami.com/bitnami | postgresql(postgresql) | >=15.5.38 | | ||||
| | https://charts.bitnami.com/bitnami | redis-cluster(redis) | >=20.6.2 | | ||||
| | https://helm.openwebui.com | pipelines | >=0.0.1 | | ||||
| | https://otwld.github.io/ollama-helm/ | ollama | >=0.24.0 | | ||||
| @ -112,6 +113,7 @@ helm upgrade --install open-webui open-webui/open-webui | ||||
| | clusterDomain | string | `"cluster.local"` | Value of cluster domain | | ||||
| | containerSecurityContext | object | `{}` | Configure container security context ref: <https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-containe> | | ||||
| | copyAppData.resources | object | `{}` |  | | ||||
| | databaseUrl | string | `""` | Configure database URL, needed to work with Postgres (example: `postgresql://<user>:<password>@<service>:<port>/<database>`), leave empty to use the default sqlite database | | ||||
| | enableOpenaiApi | bool | `true` | Enables the use of OpenAI APIs | | ||||
| | extraEnvVars | list | `[{"name":"OPENAI_API_KEY","value":"0p3n-w3bu!"}]` | Env vars added to the Open WebUI deployment. Most up-to-date environment variables can be found here: https://docs.openwebui.com/getting-started/env-configuration/ | | ||||
| | extraEnvVars[0] | object | `{"name":"OPENAI_API_KEY","value":"0p3n-w3bu!"}` | Default API key value for Pipelines. Should be updated in a production deployment, or be changed to the required API key if not using Pipelines | | ||||
| @ -142,8 +144,20 @@ helm upgrade --install open-webui open-webui/open-webui | ||||
| | openaiBaseApiUrls | list | `[]` | OpenAI base API URLs to use. Overwrites the value in openaiBaseApiUrl if set | | ||||
| | persistence.accessModes | list | `["ReadWriteOnce"]` | If using multiple replicas, you must update accessModes to ReadWriteMany | | ||||
| | persistence.annotations | object | `{}` |  | | ||||
| | persistence.azure.container | string | `""` | Sets the container name for Azure Storage | | ||||
| | persistence.azure.endpointUrl | string | `nil` | Sets the endpoint URL for Azure Storage | | ||||
| | persistence.azure.key | string | `""` | Set the access key for Azure Storage. Optional - if not provided, credentials will be taken from the environment. User credentials if run locally and Managed Identity if run in Azure services | | ||||
| | persistence.enabled | bool | `true` |  | | ||||
| | persistence.existingClaim | string | `""` | Use existingClaim if you want to re-use an existing Open WebUI PVC instead of creating a new one | | ||||
| | persistence.gcs.appCredentialsJson | string | `""` | Contents of Google Application Credentials JSON file. Optional - if not provided, credentials will be taken from the environment. User credentials if run locally and Google Metadata server if run on a Google Compute Engine. File can be generated for a service account following this guide: https://developers.google.com/workspace/guides/create-credentials#service-account | | ||||
| | persistence.gcs.bucket | string | `""` | Sets the bucket name for Google Cloud Storage. Bucket must already exist | | ||||
| | persistence.provider | string | `"local"` | Sets the storage provider, availables values are `local`, `s3`, `gcs` or `azure` | | ||||
| | persistence.s3.accessKey | string | `""` | Sets the access key ID for S3 storage | | ||||
| | persistence.s3.bucket | string | `""` | Sets the bucket name for S3 storage | | ||||
| | persistence.s3.endpointUrl | string | `""` | Sets the endpoint url for S3 storage | | ||||
| | persistence.s3.keyPrefix | string | `""` | Sets the key prefix for a S3 object | | ||||
| | persistence.s3.region | string | `""` | Sets the region name for S3 storage | | ||||
| | persistence.s3.secretKey | string | `""` | Sets the secret access key for S3 storage | | ||||
| | persistence.selector | object | `{}` |  | | ||||
| | persistence.size | string | `"2Gi"` |  | | ||||
| | persistence.storageClass | string | `""` |  | | ||||
| @ -153,6 +167,7 @@ helm upgrade --install open-webui open-webui/open-webui | ||||
| | podAnnotations | object | `{}` |  | | ||||
| | podLabels | object | `{}` |  | | ||||
| | podSecurityContext | object | `{}` | Configure pod security context ref: <https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container> | | ||||
| | postgresql | object | `{"architecture":"standalone","auth":{"database":"open-webui","password":"0p3n-w3bu!","postgresPassword":"0p3n-w3bu!","username":"open-webui"},"enabled":false,"fullnameOverride":"open-webui-postgres","primary":{"persistence":{"size":"1Gi"},"resources":{"limits":{"cpu":"500m","memory":"512Mi"},"requests":{"cpu":"250m","memory":"256Mi"}}}}` | Postgresql configuration (see. https://artifacthub.io/packages/helm/bitnami/postgresql) | | ||||
| | readinessProbe | object | `{}` | Probe for readiness of the Open WebUI container ref: <https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes> | | ||||
| | redis-cluster | object | `{"auth":{"enabled":false},"enabled":false,"fullnameOverride":"open-webui-redis","replica":{"replicaCount":3}}` | Deploys a Redis cluster with subchart 'redis' from bitnami | | ||||
| | redis-cluster.auth | object | `{"enabled":false}` | Redis Authentication | | ||||
|  | ||||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							| @ -1,4 +1,4 @@ | ||||
| {{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) }} | ||||
| {{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) (eq .Values.persistence.provider "local") }} | ||||
| apiVersion: v1 | ||||
| kind: PersistentVolumeClaim | ||||
| metadata: | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| apiVersion: apps/v1 | ||||
| {{- if .Values.persistence.enabled }} | ||||
| {{- if and .Values.persistence.enabled (eq .Values.persistence.provider "local") }} | ||||
| kind: StatefulSet | ||||
| {{- else }} | ||||
| kind: Deployment | ||||
| @ -15,14 +15,14 @@ metadata: | ||||
|   {{- end }} | ||||
| spec: | ||||
|   replicas: {{ .Values.replicaCount }} | ||||
|   {{- if .Values.persistence.enabled }} | ||||
|   {{- if and .Values.persistence.enabled (eq .Values.persistence.provider "local") }} | ||||
|   serviceName: {{ include "open-webui.name" . }} | ||||
|   {{- end }} | ||||
|   selector: | ||||
|     matchLabels: | ||||
|       {{- include "open-webui.selectorLabels" . | nindent 6 }} | ||||
|   {{- if .Values.strategy }} | ||||
|   {{- if .Values.persistence.enabled }} | ||||
|   {{- if and .Values.persistence.enabled (eq .Values.persistence.provider "local") }} | ||||
|   updateStrategy: | ||||
|     {{- toYaml .Values.strategy | nindent 4 }} | ||||
|   {{- else }} | ||||
| @ -147,15 +147,44 @@ spec: | ||||
|         - name: "ENABLE_OPENAI_API" | ||||
|           value: "False" | ||||
|         {{- end }} | ||||
|         {{- if .Values.extraEnvVars }} | ||||
|           {{- toYaml .Values.extraEnvVars | nindent 8 }} | ||||
|         {{- end }} | ||||
|         {{- if .Values.tika.enabled }} | ||||
|         - name: "CONTENT_EXTRACTION_ENGINE" | ||||
|           value: "Tika" | ||||
|         - name: "TIKA_SERVER_URL" | ||||
|           value: http://{{ .Chart.Name }}-tika:9998 | ||||
|         {{- end }} | ||||
|         {{- if eq .Values.persistence.provider "s3" }} | ||||
|         - name: "STORAGE_PROVIDER" | ||||
|           value: {{ .Values.persistence.provider }} | ||||
|         - name: "S3_ACCESS_KEY_ID" | ||||
|           value: {{ .Values.persistence.s3.accessKey }} | ||||
|         - name: "S3_SECRET_ACCESS_KEY" | ||||
|           value: {{ .Values.persistence.s3.secretKey }} | ||||
|         - name: "S3_ENDPOINT_URL" | ||||
|           value: {{ .Values.persistence.s3.endpointUrl }} | ||||
|         - name: "S3_BUCKET_NAME" | ||||
|           value: {{ .Values.persistence.s3.bucket }} | ||||
|         - name: "S3_REGION_NAME" | ||||
|           value: {{ .Values.persistence.s3.region }} | ||||
|         - name: "S3_KEY_PREFIX" | ||||
|           value: {{ .Values.persistence.s3.keyPrefix }} | ||||
|         {{- else if eq .Values.persistence.provider "gcs" }} | ||||
|         - name: "STORAGE_PROVIDER" | ||||
|           value: {{ .Values.persistence.provider }} | ||||
|         - name: "GOOGLE_APPLICATION_CREDENTIALS_JSON" | ||||
|           value: {{ .Values.persistence.gcs.appCredentialsJson }} | ||||
|         - name: "GCS_BUCKET_NAME" | ||||
|           value: {{ .Values.persistence.gcs.bucket }} | ||||
|         {{- else if eq .Values.persistence.provider "azure" }} | ||||
|         - name: "STORAGE_PROVIDER" | ||||
|           value: {{ .Values.persistence.provider }} | ||||
|         - name: "AZURE_STORAGE_ENDPOINT" | ||||
|           value: {{ .Values.persistence.azure.endpointUrl }} | ||||
|         - name: "AZURE_STORAGE_CONTAINER_NAME" | ||||
|           value: {{ .Values.persistence.azure.container }} | ||||
|         - name: "AZURE_STORAGE_KEY" | ||||
|           value: {{ .Values.persistence.azure.key }} | ||||
|         {{- end }} | ||||
|         {{- if .Values.websocket.enabled }} | ||||
|         - name: "ENABLE_WEBSOCKET_SUPPORT" | ||||
|           value: "True" | ||||
| @ -164,6 +193,10 @@ spec: | ||||
|         - name: "WEBSOCKET_REDIS_URL" | ||||
|           value: {{ .Values.websocket.url | quote }} | ||||
|         {{- end }} | ||||
|         {{- if or .Values.postgresql.enabled .Values.databaseUrl }} | ||||
|         - name: "DATABASE_URL" | ||||
|           value: {{ .Values.databaseUrl | default (printf "postgresql://%s:%s@%s:%s/%s" .Values.postgresql.auth.username .Values.postgresql.auth.password .Values.postgresql.fullnameOverride "5432" .Values.postgresql.auth.database) }} | ||||
|         {{- end }} | ||||
|         {{- if .Values.sso.enabled }} | ||||
|         {{- if .Values.sso.enableSignup }} | ||||
|         - name: "ENABLE_OAUTH_SIGNUP" | ||||
| @ -234,6 +267,9 @@ spec: | ||||
|         {{- end }} | ||||
|         {{- end }} | ||||
|         {{- end }} | ||||
|         {{- if .Values.extraEnvVars }} | ||||
|           {{- toYaml .Values.extraEnvVars | nindent 8 }} | ||||
|         {{- end }} | ||||
|         tty: true | ||||
|       {{- with .Values.nodeSelector }} | ||||
|       nodeSelector: | ||||
| @ -260,7 +296,7 @@ spec: | ||||
|       - name: data | ||||
|         persistentVolumeClaim: | ||||
|           claimName: {{ .Values.persistence.existingClaim }} | ||||
|       {{- else if not .Values.persistence.enabled }} | ||||
|       {{- else if or (not .Values.persistence.enabled) (not (eq .Values.persistence.provider "local")) }} | ||||
|       - name: data | ||||
|         emptyDir: {} | ||||
|       {{- else if and .Values.persistence.enabled (not .Values.persistence.existingClaim) }} | ||||
|  | ||||
| @ -211,6 +211,33 @@ persistence: | ||||
|   storageClass: "" | ||||
|   selector: {} | ||||
|   annotations: {} | ||||
|   # -- Sets the storage provider, availables values are `local`, `s3`, `gcs` or `azure` | ||||
|   provider: local | ||||
|   s3: | ||||
|     # -- Sets the access key ID for S3 storage | ||||
|     accessKey: "" | ||||
|     # -- Sets the secret access key for S3 storage | ||||
|     secretKey: "" | ||||
|     # -- Sets the endpoint url for S3 storage | ||||
|     endpointUrl: "" | ||||
|     # -- Sets the region name for S3 storage | ||||
|     region:	"" | ||||
|     # -- Sets the bucket name for S3 storage | ||||
|     bucket:	"" | ||||
|     # -- Sets the key prefix for a S3 object | ||||
|     keyPrefix: "" | ||||
|   gcs: | ||||
|     # -- Contents of Google Application Credentials JSON file. Optional - if not provided, credentials will be taken from the environment. User credentials if run locally and Google Metadata server if run on a Google Compute Engine. File can be generated for a service account following this guide: https://developers.google.com/workspace/guides/create-credentials#service-account | ||||
|     appCredentialsJson: "" | ||||
|     # -- Sets the bucket name for Google Cloud Storage. Bucket must already exist | ||||
|     bucket: "" | ||||
|   azure: | ||||
|     # -- Sets the endpoint URL for Azure Storage | ||||
|     endpointUrl: | ||||
|     # -- Sets the container name for Azure Storage | ||||
|     container: "" | ||||
|     # -- Set the access key for Azure Storage. Optional - if not provided, credentials will be taken from the environment. User credentials if run locally and Managed Identity if run in Azure services | ||||
|     key: "" | ||||
| 
 | ||||
| # -- Node labels for pod assignment. | ||||
| nodeSelector: {} | ||||
| @ -433,3 +460,27 @@ extraResources: | ||||
|   #     name: example-configmap | ||||
|   #   data: | ||||
|   #     example-key: example-value | ||||
| 
 | ||||
| # -- Configure database URL, needed to work with Postgres (example: `postgresql://<user>:<password>@<service>:<port>/<database>`), leave empty to use the default sqlite database | ||||
| databaseUrl: "" | ||||
| 
 | ||||
| # -- Postgresql configuration (see. https://artifacthub.io/packages/helm/bitnami/postgresql) | ||||
| postgresql: | ||||
|   enabled: false | ||||
|   fullnameOverride: open-webui-postgres | ||||
|   architecture: standalone | ||||
|   auth: | ||||
|     database: open-webui | ||||
|     postgresPassword: 0p3n-w3bu! | ||||
|     username: open-webui | ||||
|     password: 0p3n-w3bu! | ||||
|   primary: | ||||
|     persistence: | ||||
|       size: 1Gi | ||||
|     resources: | ||||
|       requests: | ||||
|         memory: 256Mi | ||||
|         cpu: 250m | ||||
|       limits: | ||||
|         memory: 512Mi | ||||
|         cpu: 500m | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user