Compare commits
9 Commits
3d7bb48b25
...
d20647c855
| Author | SHA1 | Date | |
|---|---|---|---|
| d20647c855 | |||
| c7bc79f574 | |||
| 6cba277b9d | |||
| 1ca79d5262 | |||
| 95ca2aa54f | |||
| bfb089aeff | |||
| ed83a66a83 | |||
| 0d6c67fc27 | |||
| fa7b35326c |
@@ -10,3 +10,4 @@ resources:
|
|||||||
- nas
|
- nas
|
||||||
- searxng
|
- searxng
|
||||||
- ispeak3
|
- ispeak3
|
||||||
|
- openwebui
|
||||||
|
|||||||
@@ -465,4 +465,19 @@ models:
|
|||||||
--frequency-penalty 0.5
|
--frequency-penalty 0.5
|
||||||
--presence-penalty 0.4
|
--presence-penalty 0.4
|
||||||
--no-warmup
|
--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:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: llama-swap
|
- 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
|
imagePullPolicy: IfNotPresent
|
||||||
command:
|
command:
|
||||||
- /app/llama-swap
|
- /app/llama-swap
|
||||||
@@ -41,7 +42,7 @@ spec:
|
|||||||
volumes:
|
volumes:
|
||||||
- name: models
|
- name: models
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
claimName: llama-models-lvmhdd
|
claimName: llama-models-lvmssd
|
||||||
- name: kfd
|
- name: kfd
|
||||||
hostPath:
|
hostPath:
|
||||||
path: /dev/kfd
|
path: /dev/kfd
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ resources:
|
|||||||
- secret.yaml
|
- secret.yaml
|
||||||
- auth-proxy.yaml
|
- auth-proxy.yaml
|
||||||
- ingress.yaml
|
- ingress.yaml
|
||||||
- pvc.yaml
|
- pvc-ssd.yaml
|
||||||
- deployment.yaml
|
- deployment.yaml
|
||||||
configMapGenerator:
|
configMapGenerator:
|
||||||
- name: llama-swap
|
- 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:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
kubernetes.io/nodename: anapistula-delrosalae
|
kubernetes.io/nodename: anapistula-delrosalae
|
||||||
name: llama-models-lvmhdd
|
name: openwebui-lvmhdd
|
||||||
namespace: openebs
|
namespace: openebs
|
||||||
spec:
|
spec:
|
||||||
capacity: 200Gi
|
capacity: 10Gi
|
||||||
ownerNodeID: anapistula-delrosalae
|
ownerNodeID: anapistula-delrosalae
|
||||||
shared: "yes"
|
shared: "yes"
|
||||||
thinProvision: "no"
|
thinProvision: "no"
|
||||||
@@ -17,10 +17,10 @@ spec:
|
|||||||
kind: PersistentVolume
|
kind: PersistentVolume
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
metadata:
|
metadata:
|
||||||
name: llama-models-lvmhdd
|
name: openwebui-lvmhdd
|
||||||
spec:
|
spec:
|
||||||
capacity:
|
capacity:
|
||||||
storage: 200Gi
|
storage: 10Gi
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
persistentVolumeReclaimPolicy: Retain
|
persistentVolumeReclaimPolicy: Retain
|
||||||
@@ -29,18 +29,18 @@ spec:
|
|||||||
csi:
|
csi:
|
||||||
driver: local.csi.openebs.io
|
driver: local.csi.openebs.io
|
||||||
fsType: btrfs
|
fsType: btrfs
|
||||||
volumeHandle: llama-models-lvmhdd
|
volumeHandle: openwebui-lvmhdd
|
||||||
---
|
---
|
||||||
kind: PersistentVolumeClaim
|
kind: PersistentVolumeClaim
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
metadata:
|
metadata:
|
||||||
name: llama-models-lvmhdd
|
name: openwebui-lvmhdd
|
||||||
namespace: llama
|
namespace: openwebui
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
storage: 200Gi
|
storage: 10Gi
|
||||||
storageClassName: hdd-lvmpv
|
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
|
- name: renovate
|
||||||
# Update this to the latest available and then enable Renovate on
|
# Update this to the latest available and then enable Renovate on
|
||||||
# the manifest
|
# the manifest
|
||||||
image: renovate/renovate:43.35.0-full
|
image: renovate/renovate:43.39.2-full
|
||||||
envFrom:
|
envFrom:
|
||||||
- secretRef:
|
- secretRef:
|
||||||
name: renovate-gitea-token
|
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/bgp-cluster-config.yaml
|
||||||
- configs/loadbalancer-ippool.yaml
|
- configs/loadbalancer-ippool.yaml
|
||||||
- configs/lvmpv-hdd-sc.yaml
|
- configs/lvmpv-hdd-sc.yaml
|
||||||
|
- configs/lvmpv-ssd-sc.yaml
|
||||||
- configs/openbao-cert.yaml
|
- configs/openbao-cert.yaml
|
||||||
- configs/ovh-cert-manager-secret.yaml
|
- configs/ovh-cert-manager-secret.yaml
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user