Compare commits

..

24 Commits

Author SHA1 Message Date
James W.
921af38848 Merge pull request #144 from open-webui/update-docs
Update docs and trigger release
2025-01-16 14:39:03 -07:00
0xThresh.eth
73268086eb Update docs and trigger release 2025-01-16 14:38:49 -07:00
James W.
2e13b26b94 Merge pull request #143 from open-webui/fix-chart-lock
Add Bitnami chart repo to GH Actions steps
2025-01-16 14:35:10 -07:00
0xThresh.eth
32797850cd Add Bitnami chart repo to GH Actions steps 2025-01-16 14:34:56 -07:00
James W.
30750a96ae Merge pull request #142 from open-webui/fix-chart-lock
Add Bitnami source for Redis
2025-01-16 14:33:17 -07:00
0xThresh.eth
f187ecd6fc Add Bitnami source for Redis 2025-01-16 14:28:50 -07:00
James W.
46068602fc Merge pull request #141 from open-webui/fix-chart-lock
Fix chart lock
2025-01-16 14:27:15 -07:00
0xThresh.eth
e49bd4d041 Fix chart lock 2025-01-16 14:24:41 -07:00
James W.
b3c486f5e6 Merge pull request #137 from jyje/feat/websocket-with-redis
Add redis for websocket
2025-01-16 10:05:08 -08:00
jyje
4421135184 chore(ci): bump a target chart version of open-webui to 5.4.0 2025-01-15 02:48:34 +09:00
jyje
9c9aae9660 Merge branch 'main' into feat/websocket-with-redis 2025-01-15 02:44:56 +09:00
jyje
972a24510c Merge branch 'main' into feat/websocket-with-redis 2025-01-15 02:34:05 +09:00
jyje
64160c1750 chore(websocket): bump a target chart version to 5.3.0 2025-01-15 02:29:16 +09:00
jyje
b894afc239 chore(websocket): fix full redis url 2025-01-12 02:49:06 +09:00
jyje
1e17c5651d chore(websocket): fix chart dependency 2025-01-12 02:20:14 +09:00
jyje
0ccce3cf5f feat(websocket): add redis-cluster from bitnami chart
- add values and corresponding readme
- add subchart **redis-20.6.2**
2025-01-12 01:34:50 +09:00
jyje
3b1bfc20d3 chore(websocket): fix enabled flag 2025-01-11 23:17:40 +09:00
jyje
51aab38029 chore(websocket): revert test lines for release workflows and refactor readme and values 2025-01-11 16:47:12 +09:00
jyje
535985967d feat(websocket): fix labels and annotations 2025-01-07 23:57:42 +09:00
jyje
f06ddd9f2f feat(websocket): change redis name and set container resources 2025-01-07 23:33:49 +09:00
jyje
9b13a7e2af feat(websocket): fix labels and port and remove security contexts 2025-01-07 22:27:29 +09:00
jyje
added76a4c feat(websocket): fix type of '_helpers.tpl' 2025-01-07 21:07:49 +09:00
jyje
1c072ce5bf feat(websocket): add envs and pilot of redis 2025-01-07 21:00:05 +09:00
jyje
72a324248a ci(test): enable chart release for test 2025-01-07 19:58:23 +09:00
11 changed files with 200 additions and 7 deletions

View File

@@ -44,7 +44,6 @@ jobs:
release:
#needs: semantic-release
if: github.repository == 'open-webui/helm-charts'
permissions:
contents: write
packages: write
@@ -65,6 +64,7 @@ jobs:
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
- name: Run chart-releaser
uses: helm/chart-releaser-action@v1.6.0

View File

@@ -30,6 +30,8 @@
- **Issues**: If you find any issues or have suggestions for improvements, please create a new issue in the repository before working on a Pull Request.
- **Actions Updates**: If your Pull Request includes adding a new chart dependency, ensure to make the necessary updates to Github Actions to add the chart repo dependency, or else the release run will fail.
## Getting Help
If you need any help or have questions about contributing, feel free to reach out to the maintainers of the repository.

View File

@@ -1,12 +1,15 @@
dependencies:
- name: ollama
repository: https://otwld.github.io/ollama-helm/
version: 1.1.2
version: 1.3.0
- name: pipelines
repository: https://helm.openwebui.com
version: 0.0.6
- name: tika
repository: https://apache.jfrog.io/artifactory/tika
version: 2.9.0
digest: sha256:b86b1f385a7f5ecd31f1d938aaa84384bdfc96cb1a173ca510c53aaeea845e3e
generated: "2024-12-27T09:05:35.551706-07:00"
- name: redis
repository: https://charts.bitnami.com/bitnami
version: 20.6.3
digest: sha256:b0e3a4613e4f5b9ad2766cafb111b2c03dff1ba1774217ed21fb9fd5556729f4
generated: "2025-01-16T14:22:56.662663-07:00"

View File

@@ -1,6 +1,6 @@
apiVersion: v2
name: open-webui
version: 5.3.0
version: 5.4.0
appVersion: 0.5.4
home: https://www.openwebui.com/
icon: >-
@@ -10,11 +10,13 @@ keywords:
- llm
- chat
- web-ui
- open-webui
sources:
- https://github.com/open-webui/helm-charts
- https://github.com/open-webui/open-webui/pkgs/container/open-webui
- https://github.com/otwld/ollama-helm/
- https://hub.docker.com/r/ollama/ollama
- https://charts.bitnami.com/bitnami
annotations:
licenses: MIT
dependencies:
@@ -36,3 +38,8 @@ dependencies:
repository: https://apache.jfrog.io/artifactory/tika
version: '>=2.9.0'
condition: tika.enabled
- name: redis
repository: https://charts.bitnami.com/bitnami
version: '>=20.6.2'
alias: redis-cluster
condition: redis-cluster.enabled

View File

@@ -1,6 +1,6 @@
# open-webui
![Version: 5.1.1](https://img.shields.io/badge/Version-5.1.1-informational?style=flat-square) ![AppVersion: 0.5.4](https://img.shields.io/badge/AppVersion-0.5.4-informational?style=flat-square)
![Version: 5.4.0](https://img.shields.io/badge/Version-5.4.0-informational?style=flat-square) ![AppVersion: 0.5.4](https://img.shields.io/badge/AppVersion-0.5.4-informational?style=flat-square)
Open WebUI: A User-Friendly Web Interface for Chat Interactions 👋
@@ -33,6 +33,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 | redis-cluster(redis) | >=20.6.2 |
| https://helm.openwebui.com | pipelines | >=0.0.1 |
| https://otwld.github.io/ollama-helm/ | ollama | >=0.24.0 |
@@ -79,6 +80,13 @@ helm upgrade --install open-webui open-webui/open-webui
| 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-containe> |
| 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 |
| redis-cluster.auth.enabled | bool | `false` | Enable Redis authentication (disabled by default). For your security, we strongly suggest that you switch to 'auth.enabled=true' |
| redis-cluster.enabled | bool | `false` | Enable Redis installation |
| redis-cluster.fullnameOverride | string | `"open-webui-redis"` | Redis cluster name (recommended to be 'open-webui-redis') - In this case, redis url will be 'redis://open-webui-redis-master:6379/0' or 'redis://[:<password>@]open-webui-redis-master:6379/0' |
| redis-cluster.replica | object | `{"replicaCount":3}` | Replica configuration for the Redis cluster |
| redis-cluster.replica.replicaCount | int | `3` | Number of Redis replica instances |
| replicaCount | int | `1` | |
| resources | object | `{}` | |
| service | object | `{"annotations":{},"containerPort":8080,"labels":{},"loadBalancerClass":"","nodePort":"","port":80,"type":"ClusterIP"}` | Service values to expose Open WebUI pods to cluster |
@@ -93,6 +101,25 @@ helm upgrade --install open-webui open-webui/open-webui
| topologySpreadConstraints | list | `[]` | Topology Spread Constraints for pod assignment |
| volumeMounts | object | `{"container":[],"initContainer":[]}` | Configure container volume mounts ref: <https://kubernetes.io/docs/tasks/configure-pod-container/configure-volume-storage/> |
| volumes | list | `[]` | Configure pod volumes ref: <https://kubernetes.io/docs/tasks/configure-pod-container/configure-volume-storage/> |
| websocket.enabled | bool | `false` | Enables websocket support in Open WebUI with env `ENABLE_WEBSOCKET_SUPPORT` |
| websocket.manager | string | `"redis"` | Specifies the websocket manager to use with env `WEBSOCKET_MANAGER`: redis (default) |
| websocket.redis | object | `{"annotations":{},"args":[],"command":[],"enabled":true,"image":{"pullPolicy":"IfNotPresent","repository":"redis","tag":"7.4.2-alpine3.21"},"labels":{},"name":"open-webui-redis","resources":{},"service":{"annotations":{},"containerPort":6379,"labels":{},"nodePort":"","port":6379,"type":"ClusterIP"}}` | Deploys a redis |
| websocket.redis.annotations | object | `{}` | Redis annotations |
| websocket.redis.args | list | `[]` | Redis arguments (overrides default) |
| websocket.redis.command | list | `[]` | Redis command (overrides default) |
| websocket.redis.enabled | bool | `true` | Enable redis installation |
| websocket.redis.image | object | `{"pullPolicy":"IfNotPresent","repository":"redis","tag":"7.4.2-alpine3.21"}` | Redis image |
| websocket.redis.labels | object | `{}` | Redis labels |
| websocket.redis.name | string | `"open-webui-redis"` | Redis name |
| websocket.redis.resources | object | `{}` | Redis resources |
| websocket.redis.service | object | `{"annotations":{},"containerPort":6379,"labels":{},"nodePort":"","port":6379,"type":"ClusterIP"}` | Redis service |
| websocket.redis.service.annotations | object | `{}` | Redis service annotations |
| websocket.redis.service.containerPort | int | `6379` | Redis container/target port |
| websocket.redis.service.labels | object | `{}` | Redis service labels |
| websocket.redis.service.nodePort | string | `""` | Redis service node port. Valid only when type is `NodePort` |
| websocket.redis.service.port | int | `6379` | Redis service port |
| websocket.redis.service.type | string | `"ClusterIP"` | Redis service type |
| websocket.url | string | `"redis://open-webui-redis:6379/0"` | Specifies the URL of the Redis instance for websocket communication. Template with `redis://[:<password>@]<hostname>:<port>/<db>` |
----------------------------------------------

Binary file not shown.

View File

@@ -152,4 +152,20 @@ Create the service endpoint to use for Pipelines if the subchart is used
{{- $pipelinesServicePort := .Values.pipelines.service.port | toString }}
{{- printf "http://%s.%s.svc.%s:%s" (include "pipelines.name" .) (.Release.Namespace) $clusterDomain $pipelinesServicePort }}
{{- end }}
{{- end }}
{{- end }}
{{/*
Create selector labels to include on chart all websocket resources
*/}}
{{- define "websocket.redis.selectorLabels" -}}
{{ include "base.selectorLabels" . }}
app.kubernetes.io/component: {{ .Values.websocket.redis.name }}
{{- end }}
{{/*
Create labels to include on chart all websocket resources
*/}}
{{- define "websocket.redis.labels" -}}
{{ include "base.labels" . }}
{{ include "websocket.redis.selectorLabels" . }}
{{- end }}

View File

@@ -0,0 +1,71 @@
{{- if and .Values.websocket.enabled .Values.websocket.redis.enabled }}
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ .Values.websocket.redis.name }}
namespace: {{ include "open-webui.namespace" . }}
labels:
{{- include "websocket.redis.labels" . | nindent 4 }}
{{- with .Values.websocket.redis.labels }}
{{- toYaml . | nindent 4 }}
{{- end }}
annotations:
{{- with .Values.websocket.redis.annotations }}
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
selector:
matchLabels:
{{- include "websocket.redis.selectorLabels" . | nindent 6 }}
template:
metadata:
labels:
{{- include "websocket.redis.labels" . | nindent 8 }}
spec:
containers:
- name: {{ .Values.websocket.redis.name }}
image: "{{ .Values.websocket.redis.image.repository }}:{{ .Values.websocket.redis.image.tag }}"
imagePullPolicy: {{ .Values.websocket.redis.image.pullPolicy }}
{{- with .Values.websocket.redis.command }}
command:
{{- toYaml . | nindent 10 }}
{{- end }}
{{- with .Values.websocket.redis.args }}
args:
{{- toYaml . | nindent 10 }}
{{- end }}
ports:
- name: http
containerPort: {{ .Values.websocket.redis.service.containerPort }}
{{- with .Values.websocket.redis.resources }}
resources:
{{- toYaml . | nindent 10 }}
{{- end }}
---
apiVersion: v1
kind: Service
metadata:
name: {{ .Values.websocket.redis.name }}
namespace: {{ include "open-webui.namespace" . }}
labels:
{{- include "websocket.redis.labels" . | nindent 4 }}
{{- with .Values.websocket.redis.labels }}
{{- toYaml . | nindent 4 }}
{{- end }}
annotations:
{{- with .Values.websocket.redis.service.annotations }}
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
selector:
{{- include "websocket.redis.selectorLabels" . | nindent 4 }}
type: {{ .Values.websocket.redis.service.type | default "ClusterIP" }}
ports:
- protocol: TCP
name: http
port: {{ .Values.websocket.redis.service.port }}
targetPort: http
{{- if .Values.websocket.redis.service.nodePort }}
nodePort: {{ .Values.websocket.redis.service.nodePort | int }}
{{- end }}
{{- end }}

View File

@@ -135,6 +135,14 @@ spec:
- name: "TIKA_SERVER_URL"
value: http://{{ .Chart.Name }}-tika:9998
{{- end }}
{{- if .Values.websocket.enabled }}
- name: "ENABLE_WEBSOCKET_SUPPORT"
value: "True"
- name: "WEBSOCKET_MANAGER"
value: {{ .Values.websocket.manager | default "redis" | quote }}
- name: "WEBSOCKET_REDIS_URL"
value: {{ .Values.websocket.url | quote }}
{{- end }}
tty: true
{{- with .Values.nodeSelector }}
nodeSelector:

View File

@@ -32,6 +32,65 @@ tika:
# -- A list of Ollama API endpoints. These can be added in lieu of automatically installing the Ollama Helm chart, or in addition to it.
ollamaUrls: []
websocket:
# -- Enables websocket support in Open WebUI with env `ENABLE_WEBSOCKET_SUPPORT`
enabled: false
# -- Specifies the websocket manager to use with env `WEBSOCKET_MANAGER`: redis (default)
manager: redis
# -- Specifies the URL of the Redis instance for websocket communication. Template with `redis://[:<password>@]<hostname>:<port>/<db>`
url: redis://open-webui-redis:6379/0
# -- Deploys a redis
redis:
# -- Enable redis installation
enabled: true
# -- Redis name
name: open-webui-redis
# -- Redis labels
labels: {}
# -- Redis annotations
annotations: {}
# -- Redis image
image:
repository: redis
tag: 7.4.2-alpine3.21
pullPolicy: IfNotPresent
# -- Redis command (overrides default)
command: []
# -- Redis arguments (overrides default)
args: []
# -- Redis resources
resources: {}
# -- Redis service
service:
# -- Redis container/target port
containerPort: 6379
# -- Redis service type
type: ClusterIP
# -- Redis service labels
labels: {}
# -- Redis service annotations
annotations: {}
# -- Redis service port
port: 6379
# -- Redis service node port. Valid only when type is `NodePort`
nodePort: ""
# -- Deploys a Redis cluster with subchart 'redis' from bitnami
redis-cluster:
# -- Enable Redis installation
enabled: false
# -- Redis cluster name (recommended to be 'open-webui-redis')
# - In this case, redis url will be 'redis://open-webui-redis-master:6379/0' or 'redis://[:<password>@]open-webui-redis-master:6379/0'
fullnameOverride: open-webui-redis
# -- Redis Authentication
auth:
# -- Enable Redis authentication (disabled by default). For your security, we strongly suggest that you switch to 'auth.enabled=true'
enabled: false
# -- Replica configuration for the Redis cluster
replica:
# -- Number of Redis replica instances
replicaCount: 3
# -- Value of cluster domain
clusterDomain: cluster.local