From 7c22b94fdb0ab9debb93a0c7f862679586767048 Mon Sep 17 00:00:00 2001 From: fchinembiri Date: Thu, 4 Jun 2026 00:01:51 +0200 Subject: [PATCH] perf(family): optimize rclone mount with vfs-cache-mode full and node affinity --- k8s/family-apps/media-suite.yaml | 60 ++++++++++++++++++++++++++++++-- 1 file changed, 58 insertions(+), 2 deletions(-) diff --git a/k8s/family-apps/media-suite.yaml b/k8s/family-apps/media-suite.yaml index ab7ba99..3b900f2 100644 --- a/k8s/family-apps/media-suite.yaml +++ b/k8s/family-apps/media-suite.yaml @@ -23,6 +23,17 @@ spec: --- apiVersion: v1 kind: PersistentVolumeClaim +metadata: + name: jellyfin-cache-pvc + namespace: family-apps +spec: + accessModes: [ReadWriteOnce] + resources: + requests: + storage: 30Gi +--- +apiVersion: v1 +kind: PersistentVolumeClaim metadata: name: navidrome-data-pvc namespace: family-apps @@ -34,6 +45,17 @@ spec: --- apiVersion: v1 kind: PersistentVolumeClaim +metadata: + name: navidrome-cache-pvc + namespace: family-apps +spec: + accessModes: [ReadWriteOnce] + resources: + requests: + storage: 5Gi +--- +apiVersion: v1 +kind: PersistentVolumeClaim metadata: name: homarr-data-pvc namespace: family-apps @@ -69,6 +91,8 @@ spec: labels: app: jellyfin spec: + nodeSelector: + kubernetes.io/hostname: vmi3045103.contaboserver.net containers: - name: jellyfin image: jellyfin/jellyfin:latest @@ -89,7 +113,19 @@ spec: - --allow-other - --allow-non-empty - --vfs-cache-mode - - writes + - full + - --vfs-cache-max-size + - 30G + - --vfs-read-chunk-size + - 128M + - --vfs-read-chunk-size-limit + - 2G + - --buffer-size + - 128M + - --vfs-cache-max-age + - 24h + - --cache-dir + - /cache - --dir-cache-time - 1m securityContext: @@ -107,10 +143,15 @@ spec: - name: media mountPath: /data mountPropagation: Bidirectional + - name: cache + mountPath: /cache volumes: - name: config persistentVolumeClaim: claimName: jellyfin-config-pvc + - name: cache + persistentVolumeClaim: + claimName: jellyfin-cache-pvc - name: media emptyDir: {} --- @@ -166,6 +207,8 @@ spec: labels: app: navidrome spec: + nodeSelector: + kubernetes.io/hostname: vmi3045103.contaboserver.net containers: - name: navidrome image: deluan/navidrome:latest @@ -191,7 +234,11 @@ spec: - --allow-other - --allow-non-empty - --vfs-cache-mode - - writes + - full + - --vfs-cache-max-size + - 5G + - --cache-dir + - /cache securityContext: privileged: true capabilities: @@ -207,10 +254,15 @@ spec: - name: media mountPath: /data mountPropagation: Bidirectional + - name: cache + mountPath: /cache volumes: - name: data persistentVolumeClaim: claimName: navidrome-data-pvc + - name: cache + persistentVolumeClaim: + claimName: navidrome-cache-pvc - name: media emptyDir: {} --- @@ -266,6 +318,8 @@ spec: labels: app: homarr spec: + nodeSelector: + kubernetes.io/hostname: vmi3045103.contaboserver.net containers: - name: homarr image: ghcr.io/homarr-labs/homarr:latest @@ -331,6 +385,8 @@ spec: labels: app: jellyseerr spec: + nodeSelector: + kubernetes.io/hostname: vmi3045103.contaboserver.net containers: - name: jellyseerr image: fallenbagel/jellyseerr:latest