From 612a362ae53a00e8dd7fd897049f38efcfc2cc3c Mon Sep 17 00:00:00 2001 From: aggarwalakshun Date: Sun, 28 Dec 2025 10:41:20 +0530 Subject: [PATCH] add open-webui for ollama --- .../tools/open-webui/open-webui-ingress.yml | 27 ++++++++++++++++ .../ipv6/tools/open-webui/open-webui-pvc.yml | 14 ++++++++ .../ipv6/tools/open-webui/open-webui-svc.yml | 12 +++++++ clusters/ipv6/tools/open-webui/open-webui.yml | 32 +++++++++++++++++++ 4 files changed, 85 insertions(+) create mode 100644 clusters/ipv6/tools/open-webui/open-webui-ingress.yml create mode 100644 clusters/ipv6/tools/open-webui/open-webui-pvc.yml create mode 100644 clusters/ipv6/tools/open-webui/open-webui-svc.yml create mode 100644 clusters/ipv6/tools/open-webui/open-webui.yml diff --git a/clusters/ipv6/tools/open-webui/open-webui-ingress.yml b/clusters/ipv6/tools/open-webui/open-webui-ingress.yml new file mode 100644 index 0000000..bb9ccd6 --- /dev/null +++ b/clusters/ipv6/tools/open-webui/open-webui-ingress.yml @@ -0,0 +1,27 @@ +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: open-webui-ingress + namespace: tools + annotations: + cert-manager.io/cluster-issuer: letsencrypt-cloudflare + traefik.ingress.kubernetes.io/router.middlewares: tools-authelia@kubernetescrd + traefik.ingress.kubernetes.io/router.entrypoints: websecure +spec: + ingressClassName: traefik + tls: + - hosts: + - ollama.akshun-lab.cc + secretName: open-webui-tls + rules: + - host: ollama.akshun-lab.cc + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: open-webui-service + port: + number: 8080 diff --git a/clusters/ipv6/tools/open-webui/open-webui-pvc.yml b/clusters/ipv6/tools/open-webui/open-webui-pvc.yml new file mode 100644 index 0000000..cf2abec --- /dev/null +++ b/clusters/ipv6/tools/open-webui/open-webui-pvc.yml @@ -0,0 +1,14 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: open-webui-longhorn + namespace: tools +spec: + accessModes: + - ReadWriteOnce + volumeMode: Filesystem + resources: + requests: + storage: 2Gi + storageClassName: longhorn diff --git a/clusters/ipv6/tools/open-webui/open-webui-svc.yml b/clusters/ipv6/tools/open-webui/open-webui-svc.yml new file mode 100644 index 0000000..0370315 --- /dev/null +++ b/clusters/ipv6/tools/open-webui/open-webui-svc.yml @@ -0,0 +1,12 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: open-webui-service + namespace: tools +spec: + selector: + app: open-webui + ports: + - port: 8080 + targetPort: 8080 diff --git a/clusters/ipv6/tools/open-webui/open-webui.yml b/clusters/ipv6/tools/open-webui/open-webui.yml new file mode 100644 index 0000000..f70669d --- /dev/null +++ b/clusters/ipv6/tools/open-webui/open-webui.yml @@ -0,0 +1,32 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: open-webui + namespace: tools +spec: + strategy: + type: Recreate + selector: + matchLabels: + app: open-webui + template: + metadata: + labels: + app: open-webui + spec: + containers: + - name: open-webui + image: ghcr.io/open-webui/open-webui:0.6.43 + ports: + - containerPort: 8080 + env: + - name: OLLAMA_BASE_URL + value: "http://ollama.tools.svc.cluster.local:11434" + volumeMounts: + - name: config + mountPath: /app/backend/data + volumes: + - name: config + persistentVolumeClaim: + claimName: open-webui-longhorn