From 8e8b99355b26f88ca9117452e09142b9fe0f542f Mon Sep 17 00:00:00 2001 From: Junwei Zhao Date: Wed, 4 Aug 2021 16:26:13 +1000 Subject: [PATCH] add jellyfin and update home --- home.yaml | 2 +- media.yaml | 112 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 113 insertions(+), 1 deletion(-) diff --git a/home.yaml b/home.yaml index 24a73ca..4a7ca2d 100644 --- a/home.yaml +++ b/home.yaml @@ -41,7 +41,7 @@ spec: apiVersion: networking.k8s.io/v1 kind: Ingress metadata: - name: nas-ingress + name: home-ingress annotations: kubernetes.io/ingress.class: "nginx" kubernetes.io/tls-acme: "true" diff --git a/media.yaml b/media.yaml index 6d8c3dd..b0ea3e3 100644 --- a/media.yaml +++ b/media.yaml @@ -717,3 +717,115 @@ spec: name: books port: number: 80 + +--- + +apiVersion: apps/v1 +kind: Deployment +metadata: + name: jellyfin +spec: + selector: + matchLabels: + app: jellyfin + replicas: 1 + template: + metadata: + labels: + app: jellyfin + spec: + volumes: + - name: config + persistentVolumeClaim: + claimName: configs-nfs + - name: downloads + persistentVolumeClaim: + claimName: downloads-nfs + - name: dev-dri + hostPath: + path: /dev/dri + containers: + - name: jellyfin + image: ghcr.io/linuxserver/jellyfin + imagePullPolicy: Always + ports: + - containerPort: 8096 + name: http-web + protocol: TCP + env: + - name: TZ + value: Australia/Melbourne + - name: HOSTNAME + value: home-server + - name: PUID + value: "1000" + - name: PGID + value: "1000" + volumeMounts: + - name: config + mountPath: /config + - name: downloads + mountPath: /data/movies + subPath: radarr + - name: downloads + mountPath: /data/tvshows + subPath: sonarr + - name: dev-dri + mountPath: /dev/dri + securityContext: + privileged: true + resources: + requests: + cpu: 800m + memory: 800Mi + limits: + cpu: 2000m + memory: 2000Mi + +--- + +apiVersion: v1 +kind: Service +metadata: + name: jellyfin + labels: + app: jellyfin +spec: + type: ClusterIP + ports: + - port: 80 + targetPort: http-web + protocol: TCP + name: jellyfin + selector: + app: jellyfin + +--- + + +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: jellyfin-ingress + annotations: + kubernetes.io/ingress.class: "nginx" + kubernetes.io/tls-acme: "true" + cert-manager.io/cluster-issuer: "letsencrypt-prod" + nginx.ingress.kubernetes.io/auth-url: "https://id.junv.me/oauth2/auth" + nginx.ingress.kubernetes.io/auth-signin: "https://id.junv.me/oauth2/start?rd=https%3A%2F%2F$host$request_uri" +spec: + tls: + - hosts: + - play.junv.me + secretName: jellyfin-tls + rules: + - host: play.junv.me + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: jellyfin + port: + number: 80