Compare commits

...

11 Commits

Author SHA1 Message Date
James W.
fa01ccd3c4 Merge pull request #221 from this-is-tobi/feat/improve-open-webui-whart
Some checks failed
Release Open WebUI Helm Charts / release (push) Has been cancelled
Check Open WebUI Helm Charts (open-webui) / Lint Helm Chart (push) Has been cancelled
Check Open WebUI Helm Charts (open-webui) / Test Chart Deployment (push) Has been cancelled
Feat/improve open webui chart
2025-04-13 14:00:57 -06:00
this-is-tobi
f1c4efb94f refactor: add charts dependencies tgz to gitignore 2025-04-13 19:05:56 +02:00
this-is-tobi
4c789ac788 fix: handle env vars override in open-webui chart 2025-04-13 18:38:04 +02:00
this-is-tobi
34969f304e feat: add storage provider support in open-webui chart 2025-04-13 18:37:07 +02:00
this-is-tobi
bb57d8c928 feat: add postgresql dependency support in open-webui chart 2025-04-13 18:35:22 +02:00
James W.
f8dfeaaa3f Merge pull request #220 from jyje/v0.6.4
Update chart version and chart lock of open-webui to 6.2.0
2025-04-13 09:23:05 -06:00
jyje
73728f7f7b chore: Update open-webui to v0.6.4 (chart 6.2.0)
- update open-webui
    - app: from v0.6.1 to v0.6.4
    - chart: from 6.1.0 to 6.2.0
- updated subchart
    - ollama (from 1.9.0 to 1.14.0): see https://github.com/otwld/ollama-helm/compare/ollama-1.9.0...ollama-1.14.0
    - redis (from 20.11.3 to 20.11.5): update image tags
2025-04-13 22:01:56 +09:00
James W.
e7b4f8b9b9 Merge pull request #217 from francovp/chore-update-openweb-ui-0.6.1
Some checks failed
Release Open WebUI Helm Charts / release (push) Has been cancelled
Check Open WebUI Helm Charts (open-webui) / Lint Helm Chart (push) Has been cancelled
Check Open WebUI Helm Charts (open-webui) / Test Chart Deployment (push) Has been cancelled
chore: update openweb-ui to v0.6.1 (chart 6.1.0)
2025-04-05 21:13:34 -06:00
Franco Valerio
599f908d0b chore: update openweb-ui to v0.6.1 (chart 6.1.0) 2025-04-05 23:09:37 -04:00
James W.
dd622e3c58 Merge pull request #214 from open-webui/v6.0.0
feat: Update to v0.6.0
2025-03-31 21:29:29 -06:00
0xThresh.eth
e5ed86fb0a feat: Update to v0.6.0 2025-03-31 21:17:42 -06:00
13 changed files with 147 additions and 24 deletions

View File

@@ -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
View File

@@ -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

View File

@@ -2,9 +2,6 @@
## How to Contribute
> [!WARNING]
> There is currently a bug in the Helm Chart Releaser Github Action that prevents you from deploying more than one chart on a single run. The best workaround for now is to ensure that pushes to `main` only include changes to a single chart. If you're contributing to more than one chart, please do it in separate PRs until the upstream issue is fixed, or until we can fork and fix the action ourselves.
1. **Fork the repository** and create your branch from `main`.
2. **Make your changes** and ensure they follow the guidelines below.
3. **Test your changes** locally to ensure everything works as expected. This should include deploying your updates to a live Kubernetes cluster (whether local or remote).

View File

@@ -1,7 +1,7 @@
dependencies:
- name: ollama
repository: https://otwld.github.io/ollama-helm/
version: 1.12.0
version: 1.14.0
- name: pipelines
repository: https://helm.openwebui.com
version: 0.5.0
@@ -10,6 +10,9 @@ dependencies:
version: 2.9.0
- name: redis
repository: https://charts.bitnami.com/bitnami
version: 20.11.4
digest: sha256:05f1cd5e4bfc7ca7f293e13b8ce12b7edf5ba33ba55ec151eccf86cfb30b180a
generated: "2025-03-30T15:26:22.6382Z"
version: 20.11.5
- name: postgresql
repository: https://charts.bitnami.com/bitnami
version: 16.6.3
digest: sha256:6da6a7bae03aba138c247775a786c0f459bdd9360db8980b0a5ffdea0fb88a5d
generated: "2025-04-13T03:03:27.462575+02:00"

View File

@@ -1,7 +1,7 @@
apiVersion: v2
name: open-webui
version: 5.26.0
appVersion: 0.5.20
version: 6.3.0
appVersion: 0.6.4
home: https://www.openwebui.com/
icon: >-
https://raw.githubusercontent.com/open-webui/open-webui/main/static/favicon.png
@@ -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

View File

@@ -1,6 +1,6 @@
# open-webui
![Version: 5.26.0](https://img.shields.io/badge/Version-5.26.0-informational?style=flat-square) ![AppVersion: 0.5.20](https://img.shields.io/badge/AppVersion-0.5.20-informational?style=flat-square)
![Version: 6.3.0](https://img.shields.io/badge/Version-6.3.0-informational?style=flat-square) ![AppVersion: 0.6.4](https://img.shields.io/badge/AppVersion-0.6.4-informational?style=flat-square)
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 |
@@ -163,7 +178,7 @@ helm upgrade --install open-webui open-webui/open-webui
| redis-cluster.replica.replicaCount | int | `3` | Number of Redis replica instances |
| replicaCount | int | `1` | |
| resources | object | `{}` | |
| runtimeClassName | string | `""` | Allows changing the Runtime Class. For ex. to "nvidia" if nvidia container runtime is installed but not default. |
| runtimeClassName | string | `""` | Configure runtime class ref: <https://kubernetes.io/docs/concepts/containers/runtime-class/> |
| service | object | `{"annotations":{},"containerPort":8080,"labels":{},"loadBalancerClass":"","nodePort":"","port":80,"type":"ClusterIP"}` | Service values to expose Open WebUI pods to cluster |
| serviceAccount.annotations | object | `{}` | |
| serviceAccount.automountServiceAccountToken | bool | `false` | |

View File

@@ -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:

View File

@@ -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) }}

View File

@@ -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