diff --git a/mediaserver/base/mediaserver-jellyfin-deployment.yaml b/mediaserver/base/mediaserver-jellyfin-deployment.yaml new file mode 100644 index 0000000..e13a041 --- /dev/null +++ b/mediaserver/base/mediaserver-jellyfin-deployment.yaml @@ -0,0 +1,49 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: jellyfin + namespace: jellyfin + labels: + app: jellyfin +spec: + replicas: 1 + selector: + matchLabels: + app: jellyfin + template: + metadata: + labels: + app: jellyfin + annotations: + spec: + volumes: + - name: jellyfin-config + persistentVolumeClaim: + claimName: mediaserver-jellyfin-config-pvc + - name: plex-data + persistentVolumeClaim: + claimName: mediaserver-plex-data-pvc + containers: + - name: jellyfin + image: ghcr.io/hotio/jellyfin:latest@sha256:691de0ddf8b3f27c8520f34cc566e4a18090ea2ac36a9ace1eec7184b6e9baca + resources: + requests: + cpu: 1 + memory: 512Mi + ports: + - name: web + containerPort: 8096 + env: + - name: PUID + value: "1000" + - name: PGID + value: "1000" + - name: UMASK + value: "002" + - name: TZ + value: Europe/Amsterdam + volumeMounts: + - mountPath: /config + name: jellyfin-config + - mountPath: /data + name: plex-data diff --git a/mediaserver/base/mediaserver-jellyfin-ingress.yaml b/mediaserver/base/mediaserver-jellyfin-ingress.yaml new file mode 100644 index 0000000..293ca21 --- /dev/null +++ b/mediaserver/base/mediaserver-jellyfin-ingress.yaml @@ -0,0 +1,12 @@ +apiVersion: traefik.io/v1alpha1 +kind: IngressRoute +metadata: + name: mediaserver-ingressroute +spec: + routes: + - match: Host(`jellyfin.mziesel.nl`) + kind: Rule + services: + - name: mediaserver-jellyfin + port: web + tls: {} diff --git a/mediaserver/base/mediaserver-jellyfin-pvc.yaml b/mediaserver/base/mediaserver-jellyfin-pvc.yaml new file mode 100644 index 0000000..10efad9 --- /dev/null +++ b/mediaserver/base/mediaserver-jellyfin-pvc.yaml @@ -0,0 +1,11 @@ +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: mediaserver-jellyfin-config-pvc +spec: + storageClassName: nfs-client + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 2Gi diff --git a/mediaserver/base/mediaserver-jellyfin-svc.yaml b/mediaserver/base/mediaserver-jellyfin-svc.yaml new file mode 100644 index 0000000..cc88685 --- /dev/null +++ b/mediaserver/base/mediaserver-jellyfin-svc.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: Service +metadata: + name: mediaserver-jellyfin +spec: + ports: + - name: web + port: 80 + targetPort: web + selector: + app: jellyfin diff --git a/mediaserver/kustomization.yaml b/mediaserver/kustomization.yaml index 9c49574..14cbb9d 100644 --- a/mediaserver/kustomization.yaml +++ b/mediaserver/kustomization.yaml @@ -31,3 +31,7 @@ resources: - ./base/mediaserver-overseerr-ingress.yaml - ./base/mediaserver-overseerr-pvc.yaml - ./base/mediaserver-overseerr-svc.yaml +- ./base/mediaserver-jellyfin-deployment.yaml +- ./base/mediaserver-jellyfin-ingress.yaml +- ./base/mediaserver-jellyfin-pvc.yaml +- ./base/mediaserver-jellyfin-svc.yaml