diff options
| author | Paul Buetow <paul@buetow.org> | 2026-04-01 09:27:42 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-04-01 09:27:42 +0300 |
| commit | ec78722499cf3c7d6efeb30c11e7c85dc6ce45a1 (patch) | |
| tree | b59c40b979a6385723a8b4109531f90793b6fd5f | |
| parent | 7085794ccd0425950ab8f118319c7c80e524f41b (diff) | |
immich: per-user external library mounts with RO/RW separation
Amp-Thread-ID: https://ampcode.com/threads/T-019d47a3-2deb-75c3-8a75-b0f39006a35d
Co-authored-by: Amp <amp@ampcode.com>
| -rw-r--r-- | f3s/argocd-apps/services/immich.yaml | 24 | ||||
| -rw-r--r-- | f3s/immich/helm-chart/templates/persistent-volume.yaml | 70 |
2 files changed, 85 insertions, 9 deletions
diff --git a/f3s/argocd-apps/services/immich.yaml b/f3s/argocd-apps/services/immich.yaml index 3b279a9..98a69e4 100644 --- a/f3s/argocd-apps/services/immich.yaml +++ b/f3s/argocd-apps/services/immich.yaml @@ -41,12 +41,30 @@ spec: image: tag: v2.5.5 persistence: - external: + ext-albena-rw: enabled: true type: persistentVolumeClaim - existingClaim: immich-external-library-pvc + existingClaim: immich-ext-albena-pvc globalMounts: - - path: /external + - path: /external-albena-rw + ext-paul-rw: + enabled: true + type: persistentVolumeClaim + existingClaim: immich-ext-paul-pvc + globalMounts: + - path: /external-paul-rw + ext-videos-rw: + enabled: true + type: persistentVolumeClaim + existingClaim: immich-ext-videos-pvc + globalMounts: + - path: /external-videos-rw + ext-videos-ro: + enabled: true + type: persistentVolumeClaim + existingClaim: immich-ext-videos-pvc + globalMounts: + - path: /external-videos-ro readOnly: true ingress: main: diff --git a/f3s/immich/helm-chart/templates/persistent-volume.yaml b/f3s/immich/helm-chart/templates/persistent-volume.yaml index 542bf5c..9a406a0 100644 --- a/f3s/immich/helm-chart/templates/persistent-volume.yaml +++ b/f3s/immich/helm-chart/templates/persistent-volume.yaml @@ -114,31 +114,89 @@ spec: requests: storage: 20Gi --- -# Immich External Library +# Immich External Library - Albena (RW) apiVersion: v1 kind: PersistentVolume metadata: - name: immich-external-library-pv + name: immich-ext-albena-pv +spec: + capacity: + storage: 200Gi + volumeMode: Filesystem + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Retain + hostPath: + path: /data/nfs/k3svolumes/immich/external-library/albena + type: Directory +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: immich-ext-albena-pvc + namespace: services +spec: + storageClassName: "" + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 200Gi +--- +# Immich External Library - Paul (RW) +apiVersion: v1 +kind: PersistentVolume +metadata: + name: immich-ext-paul-pv +spec: + capacity: + storage: 200Gi + volumeMode: Filesystem + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Retain + hostPath: + path: /data/nfs/k3svolumes/immich/external-library/paul + type: Directory +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: immich-ext-paul-pvc + namespace: services +spec: + storageClassName: "" + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 200Gi +--- +# Immich External Library - Videos (RW for paul, mounted RO for albena) +apiVersion: v1 +kind: PersistentVolume +metadata: + name: immich-ext-videos-pv spec: capacity: storage: 500Gi volumeMode: Filesystem accessModes: - - ReadOnlyMany + - ReadWriteOnce persistentVolumeReclaimPolicy: Retain hostPath: - path: /data/nfs/k3svolumes/immich/external-library + path: /data/nfs/k3svolumes/immich/external-library/videos type: Directory --- apiVersion: v1 kind: PersistentVolumeClaim metadata: - name: immich-external-library-pvc + name: immich-ext-videos-pvc namespace: services spec: storageClassName: "" accessModes: - - ReadOnlyMany + - ReadWriteOnce resources: requests: storage: 500Gi |
