Merge pull request #240 from 3dwardch3ng/app/jellyfin

add app jellyfin
This commit is contained in:
2024-06-19 16:11:19 +10:00
committed by GitHub
5 changed files with 213 additions and 0 deletions

View File

@@ -0,0 +1,21 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: jellyfin-ingress
namespace: jellyfin
annotations:
nginx.ingress.kubernetes.io/ssl-redirect: "false"
nginx.ingress.kubernetes.io/use-regex: "true"
spec:
ingressClassName: nginx
rules:
- host: "jellyfin.cluster.edward.sydney"
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: jellyfin
port:
number: 8096

View File

@@ -0,0 +1,51 @@
apiVersion: v1
kind: PersistentVolume
metadata:
name: jellyfin-config-pv
namespace: jellyfin
labels:
type: local
spec:
storageClassName: local-path
volumeMode: Filesystem
capacity:
storage: 250Mi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
local:
path: "/mnt/nfs/AppData/jellyfin/config"
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- rpi5-cluster-node-3
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: jellyfin-data-pv
namespace: jellyfin
labels:
type: local
spec:
storageClassName: local-path
volumeMode: Filesystem
capacity:
storage: 2Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
local:
path: "/mnt/nfs/AppData/jellyfin/data"
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- rpi5-cluster-node-3

View File

@@ -0,0 +1,117 @@
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: jellyfin
namespace: jellyfin
spec:
releaseName: jellyfin
targetNamespace: jellyfin
chart:
spec:
chart: jellyfin
sourceRef:
kind: HelmRepository
name: beluga-cloud
namespace: flux-system
interval: 1h
install:
remediation:
retries: 3
values:
persistence:
config:
enabled: true
volumeClaimSpec:
accessModes:
- ReadWriteOnce
volumeName: jellyfin-config-pv
data:
enabled: true
volumeClaimSpec:
accessModes:
- ReadWriteOnce
volumeName: jellyfin-data-pv
jellyfin:
mediaVolumes:
- name: movies
readOnly: false
volumeSpec:
storageClassName: local-path
volumeMode: Filesystem
capacity:
storage: 8Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
local:
path: "/mnt/nfs/AppData/jellyfin/media/movies"
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- rpi5-cluster-node-3
- name: series
readOnly: false
volumeSpec:
storageClassName: local-path
volumeMode: Filesystem
capacity:
storage: 8Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
local:
path: "/mnt/nfs/AppData/jellyfin/media/series"
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- rpi5-cluster-node-3
- name: music
readOnly: false
volumeSpec:
storageClassName: local-path
volumeMode: Filesystem
capacity:
storage: 8Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
local:
path: "/mnt/nfs/AppData/jellyfin/media/music"
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- rpi5-cluster-node-3
- name: gv
readOnly: false
volumeSpec:
storageClassName: local-path
volumeMode: Filesystem
capacity:
storage: 8Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
local:
path: "/mnt/nfs/AppData/jellyfin/media/gv"
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- rpi5-cluster-node-3
persistentTranscodes: true

View File

@@ -0,0 +1,16 @@
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: jellyfin
namespace: jellyfin
spec:
interval: 10m
timeout: 1m30s
retryInterval: 30s
path: ./kubernetes/apps/jellyfin/app
prune: true
sourceRef:
kind: GitRepository
namespace: flux-system
name: flux-system

View File

@@ -0,0 +1,8 @@
apiVersion: source.toolkit.fluxcd.io/v1beta2
kind: HelmRepository
metadata:
name: beluga-cloud
namespace: flux-system
spec:
interval: 6h
url: https://beluga-cloud.github.io/charts