diff --git a/clusters/cl01tl/applications/plex/Chart.yaml b/clusters/cl01tl/applications/plex/Chart.yaml index d063baaa3..f4796e67b 100644 --- a/clusters/cl01tl/applications/plex/Chart.yaml +++ b/clusters/cl01tl/applications/plex/Chart.yaml @@ -13,12 +13,13 @@ home: "" sources: - https://www.plex.tv/ - https://github.com/onedr0p/containers/pkgs/container/plex - - https://github.com/k8s-home-lab/helm-charts/tree/master/charts/stable/plex + - https://github.com/bjw-s/helm-charts/tree/main/charts/other/app-template maintainers: - name: alexlebens dependencies: - - name: plex - version: 7.1.4 - repository: https://k8s-home-lab.github.io/helm-charts/ + - name: app-template + alias: plex + repository: https://bjw-s.github.io/helm-charts/ + version: 3.2.1 icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/plex.png appVersion: 1.40.2.8395-c67dce28e diff --git a/clusters/cl01tl/applications/plex/templates/persistent-volume-claim.yaml b/clusters/cl01tl/applications/plex/templates/persistent-volume-claim.yaml index 7f6ca9641..f14e436c5 100644 --- a/clusters/cl01tl/applications/plex/templates/persistent-volume-claim.yaml +++ b/clusters/cl01tl/applications/plex/templates/persistent-volume-claim.yaml @@ -1,10 +1,31 @@ apiVersion: v1 kind: PersistentVolumeClaim +metadata: + name: plex-config + namespace: {{ .Release.Namespace }} + labels: + app.kubernetes.io/name: plex-config + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/version: {{ .Chart.AppVersion }} + app.kubernetes.io/component: storage + app.kubernetes.io/part-of: {{ .Release.Name }} +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 80Gi + storageClassName: ceph-block + volumeMode: Filesystem + +--- +apiVersion: v1 +kind: PersistentVolumeClaim metadata: name: plex-nfs-storage namespace: {{ .Release.Namespace }} labels: - app.kubernetes.io/name: {{ .Release.Name }} + app.kubernetes.io/name: plex-nfs-storage app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/component: storage @@ -17,24 +38,3 @@ spec: resources: requests: storage: 1Gi - ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: plex-config - namespace: {{ .Release.Namespace }} - labels: - app.kubernetes.io/name: {{ .Release.Name }} - app.kubernetes.io/instance: {{ .Release.Name }} - app.kubernetes.io/version: {{ .Chart.AppVersion }} - app.kubernetes.io/component: storage - app.kubernetes.io/part-of: {{ .Release.Name }} -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: {{ .Values.storage.config.storageSize }} - storageClassName: {{ .Values.storage.config.storageClassName }} - volumeMode: {{ .Values.storage.config.volumeMode }} diff --git a/clusters/cl01tl/applications/plex/templates/persistent-volume.yaml b/clusters/cl01tl/applications/plex/templates/persistent-volume.yaml index 67b69e467..5af3856bf 100644 --- a/clusters/cl01tl/applications/plex/templates/persistent-volume.yaml +++ b/clusters/cl01tl/applications/plex/templates/persistent-volume.yaml @@ -4,7 +4,7 @@ metadata: name: plex-nfs-storage namespace: {{ .Release.Namespace }} labels: - app.kubernetes.io/name: {{ .Release.Name }} + app.kubernetes.io/name: plex-nfs-storage app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/version: {{ .Chart.AppVersion }} app.kubernetes.io/component: storage @@ -17,8 +17,8 @@ spec: accessModes: - ReadWriteMany nfs: - path: {{ .Values.storage.media.nfs.path }} - server: {{ .Values.storage.media.nfs.server }} + path: /volume2/Storage + server: synologybond.alexlebens.net mountOptions: - vers=4 - minorversion=1 diff --git a/clusters/cl01tl/applications/plex/values.yaml b/clusters/cl01tl/applications/plex/values.yaml index 84ad376cd..61d982e44 100644 --- a/clusters/cl01tl/applications/plex/values.yaml +++ b/clusters/cl01tl/applications/plex/values.yaml @@ -1,13 +1,48 @@ -plex: - image: - repository: ghcr.io/onedr0p/plex - tag: 1.40.3.8555-fef15d30c - env: - ADVERTISE_IP: "https://plex.alexlebens.net:443/" - ALLOWED_NETWORKS: "10.0.0.0/8,192.168.1.0/24" +navidrome: + controllers: + main: + type: deployment + replicas: 1 + strategy: Recreate + revisionHistoryLimit: 3 + pod: + securityContext: + runAsUser: 568 + runAsGroup: 568 + fsGroup: 568 + fsGroupChangePolicy: OnRootMismatch + supplementalGroups: + - 44 + - 100 + - 109 + - 65539 + containers: + main: + image: + repository: ghcr.io/onedr0p/plex + tag: 1.40.3.8555-fef15d30c + pullPolicy: IfNotPresent + env: + - name: TZ + value: US/Central + - name: ADVERTISE_IP + value: https://plex.alexlebens.net:443/ + - name: ALLOWED_NETWORKS + value: 10.0.0.0/8,192.168.1.0/24 + resources: + limits: + gpu.intel.com/i915: 1 + cpu: 5000m + memory: 4Gi + requests: + gpu.intel.com/i915: 1 + cpu: 100m + memory: 1Gi + serviceAccount: + create: true service: main: - primary: true + controller: main type: LoadBalancer annotations: metallb.universe.tf/allow-shared-ip: "external" @@ -18,10 +53,12 @@ plex: ports: http: port: 32400 + targetPort: 32400 + protocol: HTTP ingress: main: enabled: true - ingressClassName: traefik + className: traefik annotations: traefik.ingress.kubernetes.io/router.entrypoints: websecure traefik.ingress.kubernetes.io/router.tls: "true" @@ -31,48 +68,32 @@ plex: paths: - path: / pathType: Prefix + service: + name: plex + port: 32400 tls: - secretName: plex-secret-tls hosts: - plex.alexlebens.net - hostNetwork: false persistence: config: - enabled: true existingClaim: plex-config + advancedMounts: + main: + main: + - path: /config + readOnly: false transcode: - enabled: true type: emptyDir + advancedMounts: + transcoder: + main: + - path: /transcode + readOnly: false media: - enabled: true - mountPath: /mnt/store - type: pvc existingClaim: plex-nfs-storage - podSecurityContext: - runAsUser: 568 - runAsGroup: 568 - fsGroup: 568 - fsGroupChangePolicy: "OnRootMismatch" - supplementalGroups: - - 44 - - 100 - - 109 - - 65539 - resources: - limits: - gpu.intel.com/i915: 1 - cpu: 5000m - memory: 4Gi - requests: - gpu.intel.com/i915: 1 - cpu: 100m - memory: 1Gi -storage: - config: - storageClassName: ceph-block - storageSize: 80Gi - volumeMode: Filesystem - media: - nfs: - path: /volume2/Storage - server: synologybond.alexlebens.net + advancedMounts: + main: + main: + - path: /mnt/store + readOnly: false