Compare commits

...

6 Commits

Author SHA1 Message Date
c0087dd27d bugfix/wrong-path (#4)
Reviewed-on: #4
2025-10-31 09:34:42 +01:00
0bda2327a1 feature/csi-driver-nfs (#3)
Reviewed-on: #3
2025-10-31 09:33:38 +01:00
eb1a666471 Merge pull request 'feature/immich-machine-learning-intel-gpu' (#1) from feature/immich-machine-learning-intel-gpu into main
Reviewed-on: #1
2025-10-29 15:39:28 +01:00
92cb69a666 ImageAutomation fixed 2025-10-29 15:39:01 +01:00
d67cac1a9a autoformat 2025-10-29 09:08:38 +01:00
Daniel Cardozo
cad3eb24cf removed unecessary ENVs 2025-10-28 20:09:56 +01:00
7 changed files with 105 additions and 23 deletions

View File

@@ -4,7 +4,7 @@ metadata:
name: immich-machine-learning
namespace: immich
annotations:
reloader.stakater.com/auto: "true"
reloader.stakater.com/auto: 'true'
labels:
app: immich-machine-learning
spec:
@@ -52,14 +52,6 @@ spec:
name: immich-db-app
key: password
optional: false
# Check this ENVs maybe it works also for other ML models
- name: MACHINE_LEARNING_PRELOAD__CLIP
value: ViT-B-32__openai
- name: MACHINE_LEARNING_PRELOAD__FACIAL_RECOGNITION
value: buffalo_l
# May not be needed
- name: MACHINE_LEARNING_EXECUTION_PROVIDERS
value: "OpenVINOExecutionProvider,CPUExecutionProvider"
envFrom:
- configMapRef:
name: immich
@@ -80,12 +72,12 @@ spec:
securityContext:
privileged: true # for intel quick sync
seccompProfile:
type: "RuntimeDefault"
type: 'RuntimeDefault'
volumeMounts:
- name: immich-machine-learning
mountPath: /cache
nodeSelector:
intel.feature.node.kubernetes.io/gpu: "true"
intel.feature.node.kubernetes.io/gpu: 'true'
volumes:
- name: immich-machine-learning
persistentVolumeClaim:

View File

@@ -7,9 +7,9 @@ metadata:
spec:
imageRepositoryRef:
name: immich-machine-learning
policy:
# https://github.com/immich-app/immich/releases
semver:
range: '2.*.*'
# https://github.com/immich-app/immich/releases
filterTags:
pattern: 'v.*'
pattern: '.*-openvino'
policy:
semver:
range: '2.x-0'

View File

@@ -8,10 +8,3 @@ spec:
# https://github.com/immich-app/immich/pkgs/container/immich-machine-learning
image: ghcr.io/immich-app/immich-machine-learning
interval: 24h
exclusionList:
- .*openvino
- .*cuda
- .*armnn
- pr*
- main
- main*

View File

@@ -0,0 +1,62 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: csi-driver-nfs
namespace: kube-system
labels:
app: csi-driver-nfs
spec:
chart:
spec:
# https://artifacthub.io/packages/helm/csi-driver-nfs/csi-driver-nfs/4.12.1
chart: csi-driver-nfs
reconcileStrategy: ChartVersion
sourceRef:
kind: HelmRepository
name: csi-driver-nfs
namespace: kube-system
version: '4.12.1' # fixed version because storage is important
interval: 24h
timeout: 10m
suspend: false
values:
# https://github.com/kubernetes-csi/csi-driver-nfs/tree/master/charts#latest-chart-configuration
# https://github.com/kubernetes-csi/csi-driver-nfs/blob/v4.12.1/charts/v4.12.1/csi-driver-nfs/values.yaml
controller:
resources:
csiProvisioner:
limits:
memory: 1Gi
requests:
cpu: 10m
memory: 20Mi
csiResizer:
limits:
memory: 1Gi
requests:
cpu: 10m
memory: 20Mi
csiSnapshotter:
limits:
memory: 1Gi
requests:
cpu: 10m
memory: 200Mi
livenessProbe:
limits:
memory: 1Gi
requests:
cpu: 10m
memory: 20Mi
nfs:
limits:
memory: 1Gi
requests:
cpu: 10m
memory: 20Mi

View File

@@ -0,0 +1,9 @@
---
apiVersion: source.toolkit.fluxcd.io/v1
kind: HelmRepository
metadata:
name: csi-driver-nfs
namespace: kube-system
spec:
interval: 24h
url: https://raw.githubusercontent.com/kubernetes-csi/csi-driver-nfs/master/charts

View File

@@ -0,0 +1,13 @@
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: k8s-nfs-hdd
provisioner: nfs.csi.k8s.io
parameters:
server: unraid.example.internal
share: /mnt/user/k8s-nfs-hdd/
subDir: ${pvc.metadata.namespace}/${pvc.metadata.name}/
reclaimPolicy: Delete
volumeBindingMode: Immediate
allowVolumeExpansion: true

View File

@@ -0,0 +1,13 @@
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: k8s-nfs-ssd
provisioner: nfs.csi.k8s.io
parameters:
server: unraid.example.internal
share: /mnt/user/k8s-nfs-ssd/
subDir: ${pvc.metadata.namespace}/${pvc.metadata.name}/
reclaimPolicy: Delete
volumeBindingMode: Immediate
allowVolumeExpansion: true