Compare commits
9 Commits
3d7bb48b25
...
d20647c855
| Author | SHA1 | Date | |
|---|---|---|---|
| d20647c855 | |||
| c7bc79f574 | |||
| 6cba277b9d | |||
| 1ca79d5262 | |||
| 95ca2aa54f | |||
| bfb089aeff | |||
| ed83a66a83 | |||
| 0d6c67fc27 | |||
| fa7b35326c |
@@ -10,3 +10,4 @@ resources:
|
||||
- nas
|
||||
- searxng
|
||||
- ispeak3
|
||||
- openwebui
|
||||
|
||||
@@ -465,4 +465,19 @@ models:
|
||||
--frequency-penalty 0.5
|
||||
--presence-penalty 0.4
|
||||
--no-warmup
|
||||
--port ${PORT}
|
||||
--port ${PORT}
|
||||
|
||||
"Qwen3-Coder-Next-GGUF:Q4_K_M":
|
||||
ttl: 600
|
||||
cmd: |
|
||||
/app/llama-server
|
||||
-hf unsloth/Qwen3-Coder-Next-GGUF:Q4_K_M
|
||||
--ctx-size 32768
|
||||
--predict 8192
|
||||
--temp 1.0
|
||||
--min-p 0.01
|
||||
--top-p 0.95
|
||||
--top-k 40
|
||||
--repeat-penalty 1.0
|
||||
--no-warmup
|
||||
--port ${PORT}
|
||||
|
||||
@@ -16,7 +16,8 @@ spec:
|
||||
spec:
|
||||
containers:
|
||||
- name: llama-swap
|
||||
image: ghcr.io/mostlygeek/llama-swap:v172-vulkan-b7062
|
||||
# TODO: make renovate update the image tag
|
||||
image: ghcr.io/mostlygeek/llama-swap:v195-vulkan-b8148
|
||||
imagePullPolicy: IfNotPresent
|
||||
command:
|
||||
- /app/llama-swap
|
||||
@@ -41,7 +42,7 @@ spec:
|
||||
volumes:
|
||||
- name: models
|
||||
persistentVolumeClaim:
|
||||
claimName: llama-models-lvmhdd
|
||||
claimName: llama-models-lvmssd
|
||||
- name: kfd
|
||||
hostPath:
|
||||
path: /dev/kfd
|
||||
|
||||
@@ -5,7 +5,7 @@ resources:
|
||||
- secret.yaml
|
||||
- auth-proxy.yaml
|
||||
- ingress.yaml
|
||||
- pvc.yaml
|
||||
- pvc-ssd.yaml
|
||||
- deployment.yaml
|
||||
configMapGenerator:
|
||||
- name: llama-swap
|
||||
|
||||
46
apps/llama/pvc-ssd.yaml
Normal file
46
apps/llama/pvc-ssd.yaml
Normal file
@@ -0,0 +1,46 @@
|
||||
---
|
||||
apiVersion: local.openebs.io/v1alpha1
|
||||
kind: LVMVolume
|
||||
metadata:
|
||||
labels:
|
||||
kubernetes.io/nodename: anapistula-delrosalae
|
||||
name: llama-models-lvmssd
|
||||
namespace: openebs
|
||||
spec:
|
||||
capacity: 200Gi
|
||||
ownerNodeID: anapistula-delrosalae
|
||||
shared: "yes"
|
||||
thinProvision: "no"
|
||||
vgPattern: ^openebs-ssd$
|
||||
volGroup: openebs-ssd
|
||||
---
|
||||
kind: PersistentVolume
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: llama-models-lvmssd
|
||||
spec:
|
||||
capacity:
|
||||
storage: 200Gi
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: ssd-lvmpv
|
||||
volumeMode: Filesystem
|
||||
csi:
|
||||
driver: local.csi.openebs.io
|
||||
fsType: btrfs
|
||||
volumeHandle: llama-models-lvmssd
|
||||
---
|
||||
kind: PersistentVolumeClaim
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: llama-models-lvmssd
|
||||
namespace: llama
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 200Gi
|
||||
storageClassName: ssd-lvmpv
|
||||
volumeName: llama-models-lvmssd
|
||||
44
apps/openwebui/ingress.yaml
Normal file
44
apps/openwebui/ingress.yaml
Normal file
@@ -0,0 +1,44 @@
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
namespace: openwebui
|
||||
name: openwebui-web
|
||||
spec:
|
||||
type: ClusterIP
|
||||
selector:
|
||||
app.kubernetes.io/component: open-webui
|
||||
app.kubernetes.io/instance: openwebui
|
||||
ports:
|
||||
- name: http
|
||||
port: 80
|
||||
targetPort: 8080
|
||||
protocol: TCP
|
||||
---
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
namespace: openwebui
|
||||
name: openwebui
|
||||
annotations:
|
||||
cert-manager.io/cluster-issuer: letsencrypt
|
||||
nginx.ingress.kubernetes.io/proxy-body-size: "0"
|
||||
nginx.ingress.kubernetes.io/proxy-buffering: "false"
|
||||
nginx.ingress.kubernetes.io/proxy-read-timeout: 30m
|
||||
spec:
|
||||
ingressClassName: nginx-ingress
|
||||
rules:
|
||||
- host: openwebui.lumpiasty.xyz
|
||||
http:
|
||||
paths:
|
||||
- backend:
|
||||
service:
|
||||
name: openwebui-web
|
||||
port:
|
||||
number: 80
|
||||
path: /
|
||||
pathType: Prefix
|
||||
tls:
|
||||
- hosts:
|
||||
- openwebui.lumpiasty.xyz
|
||||
secretName: openwebui-ingress
|
||||
8
apps/openwebui/kustomization.yaml
Normal file
8
apps/openwebui/kustomization.yaml
Normal file
@@ -0,0 +1,8 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- namespace.yaml
|
||||
- pvc.yaml
|
||||
- pvc-pipelines.yaml
|
||||
- release.yaml
|
||||
- ingress.yaml
|
||||
4
apps/openwebui/namespace.yaml
Normal file
4
apps/openwebui/namespace.yaml
Normal file
@@ -0,0 +1,4 @@
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: openwebui
|
||||
46
apps/openwebui/pvc-pipelines.yaml
Normal file
46
apps/openwebui/pvc-pipelines.yaml
Normal file
@@ -0,0 +1,46 @@
|
||||
---
|
||||
apiVersion: local.openebs.io/v1alpha1
|
||||
kind: LVMVolume
|
||||
metadata:
|
||||
labels:
|
||||
kubernetes.io/nodename: anapistula-delrosalae
|
||||
name: openwebui-pipelines-lvmhdd
|
||||
namespace: openebs
|
||||
spec:
|
||||
capacity: 1Gi
|
||||
ownerNodeID: anapistula-delrosalae
|
||||
shared: "yes"
|
||||
thinProvision: "no"
|
||||
vgPattern: ^openebs-hdd$
|
||||
volGroup: openebs-hdd
|
||||
---
|
||||
kind: PersistentVolume
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: openwebui-pipelines-lvmhdd
|
||||
spec:
|
||||
capacity:
|
||||
storage: 1Gi
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: hdd-lvmpv
|
||||
volumeMode: Filesystem
|
||||
csi:
|
||||
driver: local.csi.openebs.io
|
||||
fsType: btrfs
|
||||
volumeHandle: openwebui-pipelines-lvmhdd
|
||||
---
|
||||
kind: PersistentVolumeClaim
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: openwebui-pipelines-lvmhdd
|
||||
namespace: openwebui
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 1Gi
|
||||
storageClassName: hdd-lvmpv
|
||||
volumeName: openwebui-pipelines-lvmhdd
|
||||
@@ -4,10 +4,10 @@ kind: LVMVolume
|
||||
metadata:
|
||||
labels:
|
||||
kubernetes.io/nodename: anapistula-delrosalae
|
||||
name: llama-models-lvmhdd
|
||||
name: openwebui-lvmhdd
|
||||
namespace: openebs
|
||||
spec:
|
||||
capacity: 200Gi
|
||||
capacity: 10Gi
|
||||
ownerNodeID: anapistula-delrosalae
|
||||
shared: "yes"
|
||||
thinProvision: "no"
|
||||
@@ -17,10 +17,10 @@ spec:
|
||||
kind: PersistentVolume
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: llama-models-lvmhdd
|
||||
name: openwebui-lvmhdd
|
||||
spec:
|
||||
capacity:
|
||||
storage: 200Gi
|
||||
storage: 10Gi
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
@@ -29,18 +29,18 @@ spec:
|
||||
csi:
|
||||
driver: local.csi.openebs.io
|
||||
fsType: btrfs
|
||||
volumeHandle: llama-models-lvmhdd
|
||||
volumeHandle: openwebui-lvmhdd
|
||||
---
|
||||
kind: PersistentVolumeClaim
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: llama-models-lvmhdd
|
||||
namespace: llama
|
||||
name: openwebui-lvmhdd
|
||||
namespace: openwebui
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 200Gi
|
||||
storage: 10Gi
|
||||
storageClassName: hdd-lvmpv
|
||||
volumeName: llama-models-lvmhdd
|
||||
volumeName: openwebui-lvmhdd
|
||||
46
apps/openwebui/release.yaml
Normal file
46
apps/openwebui/release.yaml
Normal file
@@ -0,0 +1,46 @@
|
||||
---
|
||||
apiVersion: source.toolkit.fluxcd.io/v1
|
||||
kind: HelmRepository
|
||||
metadata:
|
||||
name: open-webui
|
||||
namespace: openwebui
|
||||
spec:
|
||||
interval: 24h
|
||||
url: https://open-webui.github.io/helm-charts
|
||||
---
|
||||
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||
kind: HelmRelease
|
||||
metadata:
|
||||
name: openwebui
|
||||
namespace: openwebui
|
||||
spec:
|
||||
interval: 30m
|
||||
chart:
|
||||
spec:
|
||||
chart: open-webui
|
||||
version: 12.5.0
|
||||
sourceRef:
|
||||
kind: HelmRepository
|
||||
name: open-webui
|
||||
values:
|
||||
# Disable built in ingress, service is broken in chart
|
||||
# They have hard coded wrong target port
|
||||
# Reimplementing that in ingress.yaml
|
||||
ingress:
|
||||
enabled: false
|
||||
|
||||
persistence:
|
||||
enabled: true
|
||||
existingClaim: openwebui-lvmhdd
|
||||
|
||||
enableOpenaiApi: true
|
||||
openaiBaseApiUrl: "http://llama.llama.svc.cluster.local:11434/v1"
|
||||
|
||||
ollama:
|
||||
enabled: false
|
||||
|
||||
pipelines:
|
||||
enabled: true
|
||||
persistence:
|
||||
enabled: true
|
||||
existingClaim: openwebui-pipelines-lvmhdd
|
||||
@@ -15,7 +15,7 @@ spec:
|
||||
- name: renovate
|
||||
# Update this to the latest available and then enable Renovate on
|
||||
# the manifest
|
||||
image: renovate/renovate:43.35.0-full
|
||||
image: renovate/renovate:43.39.2-full
|
||||
envFrom:
|
||||
- secretRef:
|
||||
name: renovate-gitea-token
|
||||
|
||||
13
infra/configs/lvmpv-ssd-sc.yaml
Normal file
13
infra/configs/lvmpv-ssd-sc.yaml
Normal file
@@ -0,0 +1,13 @@
|
||||
---
|
||||
apiVersion: storage.k8s.io/v1
|
||||
kind: StorageClass
|
||||
metadata:
|
||||
name: ssd-lvmpv
|
||||
parameters:
|
||||
storage: "lvm"
|
||||
volgroup: "openebs-ssd"
|
||||
fsType: "btrfs"
|
||||
shared: "yes"
|
||||
provisioner: local.csi.openebs.io
|
||||
allowVolumeExpansion: true
|
||||
volumeBindingMode: Immediate
|
||||
@@ -18,6 +18,7 @@ resources:
|
||||
- configs/bgp-cluster-config.yaml
|
||||
- configs/loadbalancer-ippool.yaml
|
||||
- configs/lvmpv-hdd-sc.yaml
|
||||
- configs/lvmpv-ssd-sc.yaml
|
||||
- configs/openbao-cert.yaml
|
||||
- configs/ovh-cert-manager-secret.yaml
|
||||
|
||||
|
||||
Reference in New Issue
Block a user