--- # Source: plex/templates/persistent-volume.yaml apiVersion: v1 kind: PersistentVolume metadata: name: plex-nfs-storage namespace: plex labels: app.kubernetes.io/name: plex-nfs-storage app.kubernetes.io/instance: plex app.kubernetes.io/part-of: plex spec: persistentVolumeReclaimPolicy: Retain storageClassName: nfs-client capacity: storage: 1Gi accessModes: - ReadWriteMany nfs: path: /volume2/Storage server: synologybond.alexlebens.net mountOptions: - vers=4 - minorversion=1 - noac --- # Source: plex/charts/plex/templates/common.yaml --- kind: PersistentVolumeClaim apiVersion: v1 metadata: name: plex-config labels: app.kubernetes.io/instance: plex app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: plex helm.sh/chart: plex-4.4.0 namespace: plex spec: accessModes: - "ReadWriteOnce" resources: requests: storage: "100Gi" storageClassName: "ceph-block" --- # Source: plex/templates/persistent-volume-claim.yaml apiVersion: v1 kind: PersistentVolumeClaim metadata: name: plex-nfs-storage namespace: plex labels: app.kubernetes.io/name: plex-nfs-storage app.kubernetes.io/instance: plex app.kubernetes.io/part-of: plex spec: volumeName: plex-nfs-storage storageClassName: nfs-client accessModes: - ReadWriteMany resources: requests: storage: 1Gi --- # Source: plex/charts/plex/templates/common.yaml apiVersion: v1 kind: Service metadata: name: plex labels: app.kubernetes.io/instance: plex app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: plex app.kubernetes.io/service: plex helm.sh/chart: plex-4.4.0 namespace: plex spec: type: LoadBalancer ports: - port: 32400 targetPort: 32400 protocol: TCP name: http selector: app.kubernetes.io/controller: main app.kubernetes.io/instance: plex app.kubernetes.io/name: plex --- # Source: plex/charts/plex/templates/common.yaml apiVersion: apps/v1 kind: Deployment metadata: name: plex labels: app.kubernetes.io/controller: main app.kubernetes.io/instance: plex app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: plex helm.sh/chart: plex-4.4.0 namespace: plex spec: revisionHistoryLimit: 3 replicas: 1 strategy: type: Recreate selector: matchLabels: app.kubernetes.io/controller: main app.kubernetes.io/name: plex app.kubernetes.io/instance: plex template: metadata: labels: app.kubernetes.io/controller: main app.kubernetes.io/instance: plex app.kubernetes.io/name: plex spec: enableServiceLinks: false serviceAccountName: default automountServiceAccountToken: true hostIPC: false hostNetwork: false hostPID: false dnsPolicy: ClusterFirst containers: - env: - name: TZ value: US/Central - name: VERSION value: docker - name: PLEX_CLAIM value: claim-XmGK2o9x54PbCzQaqj-J image: ghcr.io/linuxserver/plex:1.42.2@sha256:ab81c7313fb5dc4d1f9562e5bbd5e5877a8a3c5ca6b9f9fff3437b5096a2b123 imagePullPolicy: IfNotPresent name: main resources: limits: gpu.intel.com/i915: 1 requests: cpu: 10m gpu.intel.com/i915: 1 memory: 512Mi volumeMounts: - mountPath: /config name: config - mountPath: /mnt/store name: media readOnly: true - mountPath: /transcode name: transcode volumes: - name: config persistentVolumeClaim: claimName: plex-config - name: media persistentVolumeClaim: claimName: plex-nfs-storage - emptyDir: {} name: transcode --- # Source: plex/templates/http-route.yaml apiVersion: gateway.networking.k8s.io/v1 kind: HTTPRoute metadata: name: http-route-plex namespace: plex labels: app.kubernetes.io/name: http-route-plex app.kubernetes.io/instance: plex app.kubernetes.io/part-of: plex spec: parentRefs: - group: gateway.networking.k8s.io kind: Gateway name: traefik-gateway namespace: traefik hostnames: - plex.alexlebens.net rules: - matches: - path: type: PathPrefix value: / backendRefs: - group: '' kind: Service name: plex port: 32400 weight: 100