From a69477e03384a1a6ccfc3ea763fc976f2edfb680 Mon Sep 17 00:00:00 2001 From: auricom Date: Fri, 4 Dec 2020 14:30:36 +0100 Subject: [PATCH] add jellyfin fix jellyfin fix jellyfin fix jellyfin --- cluster/media/_volumes.yaml | 13 +++++ cluster/media/jellyfin.yaml | 68 +++++++++++++++++++++++++ cluster/volumes.yaml | 22 ++++++++ secrets/helmrelease-media-jellyfin.yaml | 36 +++++++++++++ 4 files changed, 139 insertions(+) create mode 100644 cluster/media/jellyfin.yaml create mode 100644 secrets/helmrelease-media-jellyfin.yaml diff --git a/cluster/media/_volumes.yaml b/cluster/media/_volumes.yaml index fddbbba53..299c1503e 100644 --- a/cluster/media/_volumes.yaml +++ b/cluster/media/_volumes.yaml @@ -34,6 +34,19 @@ spec: accessModes: - ReadWriteMany storageClassName: nfs-downloads + resources: + requests: + storage: 1Mi +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: nfs-photo + namespace: media +spec: + accessModes: + - ReadWriteMany + storageClassName: nfs-photo resources: requests: storage: 1Mi \ No newline at end of file diff --git a/cluster/media/jellyfin.yaml b/cluster/media/jellyfin.yaml new file mode 100644 index 000000000..d87d940ba --- /dev/null +++ b/cluster/media/jellyfin.yaml @@ -0,0 +1,68 @@ +--- +apiVersion: helm.toolkit.fluxcd.io/v2beta1 +kind: HelmRelease +metadata: + name: jellyfin + namespace: media +spec: + interval: 5m + chart: + spec: + chart: jellyfin + version: 3.3.0 + sourceRef: + kind: HelmRepository + name: k8s-at-home-charts + namespace: flux-system + interval: 5m + values: + image: + repository: linuxserver/jellyfin + pullPolicy: IfNotPresent + tag: version-10.6.4-1 + strategy: + type: Recreate + service: + port: + port: 8096 + persistence: + config: + enabled: true + existingClaim: jellyfin-config + additionalVolumeMounts: + - name: nfs-music + mountPath: "/mnt/storage/music" + - name: nfs-video + mountPath: "/mnt/storage/video" + - name: nfs-photo + mountPath: "/mnt/storage/photo" + additionalVolumes: + - name: nfs-music + persistentVolumeClaim: + claimName: nfs-music + - name: nfs-video + persistentVolumeClaim: + claimName: nfs-video + - name: nfs-photo + persistentVolumeClaim: + claimName: nfs-photo + resources: + requests: + memory: 4Gi + cpu: 1 + valuesFrom: + - kind: ConfigMap + name: helmrelease-media-jellyfin +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: jellyfin-config + namespace: media +spec: + accessModes: + - ReadWriteOnce + storageClassName: longhorn-backups + resources: + requests: + storage: 20Gi diff --git a/cluster/volumes.yaml b/cluster/volumes.yaml index 0a710f38f..29a792da4 100644 --- a/cluster/volumes.yaml +++ b/cluster/volumes.yaml @@ -63,4 +63,26 @@ apiVersion: storage.k8s.io/v1 metadata: name: nfs-downloads provisioner: nfs +reclaimPolicy: Retain +--- +apiVersion: v1 +kind: PersistentVolume +metadata: + name: nfs-photo +spec: + storageClassName: nfs-photo + capacity: + storage: 1Mi + accessModes: + - ReadWriteMany + persistentVolumeReclaimPolicy: Retain + nfs: + server: truenas + path: "/mnt/storage/photo" +--- +kind: StorageClass +apiVersion: storage.k8s.io/v1 +metadata: + name: nfs-photo +provisioner: nfs reclaimPolicy: Retain \ No newline at end of file diff --git a/secrets/helmrelease-media-jellyfin.yaml b/secrets/helmrelease-media-jellyfin.yaml new file mode 100644 index 000000000..92ae29533 --- /dev/null +++ b/secrets/helmrelease-media-jellyfin.yaml @@ -0,0 +1,36 @@ +apiVersion: v1 +data: + values.yaml: ENC[AES256_GCM,data:I1SuL+0Gc9mx4HVjw9s7oU+7D9Vryl7sE/GdMRJ/NwRlEpIs554jqaXNNkaF2qsrwe5ZaPffzGSRY5XE13gf3kIw6ZInZcBTW2BjE5ttVlXbO4oP68QoA1I4CvZdTL9GEQtzIxdri2wsbiPeZohxBX/Yq8wig/n6xRdeFpnbIRHOohnXH3lmu8AkHkFJ3wyfyR5LbDXyHUB47H+RqySEyMKVIDbs8FT7vDd1/VufIYWyBebrRneN82apkDdlJAP9OzEsLWvFEC6C2b5OvNzBDN53Lwm4veikyKU3+xtAejg=,iv:fAbAFlZ5HYZnslazPS6H1Vm2ReH4aa0nfahP06q9nNo=,tag:N8q/CLeoGbn2ewJ4r/uUXA==,type:str] +kind: ConfigMap +metadata: + creationTimestamp: null + name: helmrelease-media-jellyfin + namespace: media +sops: + kms: [] + gcp_kms: [] + azure_kv: [] + hc_vault: [] + lastmodified: '2020-12-04T16:35:13Z' + mac: ENC[AES256_GCM,data:9TycSVagyN0a01xeVhcMnCXT92YBm1nHi+5UjwJaoyjNvuT3b+cGAVsMtIeNTjGFoTAvPRjNL3p1pydeIGiFKtvqJurvpNrwIIiDhjVbBA4q3mdLZS/SBIoRAKxLGUrTUYDpracq8VYDlrHnhLUsNj7rNUKxTMcpQyiFqJgfPDQ=,iv:Bw4fCvWtS3sB2cSEwrZWSusM5MEnGM3z4TvUXRmFlD0=,tag:FCwsrX83dPYmr1Bq0g/gHA==,type:str] + pgp: + - created_at: '2020-12-04T16:35:13Z' + enc: | + -----BEGIN PGP MESSAGE----- + + hQGMA/JorPHm1g9XAQv/QwDtVKFS/6YCfBHg4lHzVLeuTmiU6ceUQCqxY0Y8kwvx + DZjxlr9YohVhTExFGIKl10Nf5w/Jr2YhXonvvVW/vKjn0LeefPbLSWdyHeZgLCEY + BHMvQBtw25Y8eI+o4CAZ+bFOAICTLfkUYtytmdSr3S9T4zY+raqDcLEmHcjM41Gr + qcdYIaWuBDgwoLfr3P6QAg/0Rdb0KlEcCRlhxKR6MPN70S7zqnaVcomyIZLz30Zf + mZRYOCTsuXXvFrVGax+wHCgUDnSCOOAQ1+IhXNWSTfSYxCqVeL3ti6GzGJQaSQMH + wK8381TtSfG5VvH+k/VB46FdJ8QvutL4Jk58GzcJNNJVhe6/Qcd/JaWUcm8jSoF0 + d//dhzXS3fYnsBEojzV9X7WjVXBMODZnSjttSzvQh0rZIhGuLpZIFovGuBKiIJxg + eu9EylGHDw3j8zRoavHMoUJ+kLizcULhzm6TpliUsCBoWjm+9J4pdu+o3kx9iVte + vEAoGD+L4SXxBYb4IIcy0lwBtiBWBZwVN09euN/Z/XHH+ypSxAFUNTFE+isMSMzw + ei/4Ow2gwn4Uy4V5IPgo9xL9tfRo04Vt0Bl3NRuvCG+n8F8mwfYy6q7ZtQsEXYtj + sJ3Xx39kQ3KSxF5kfw== + =sLP4 + -----END PGP MESSAGE----- + fp: C8F8A49D04A1AB639F8EA21CDBA4B1DCB1FA5BDD + encrypted_regex: ^(data|stringData)$ + version: 3.6.1