diff --git a/jellyfin/Chart.yaml b/jellyfin/Chart.yaml new file mode 100644 index 0000000..e64b8b5 --- /dev/null +++ b/jellyfin/Chart.yaml @@ -0,0 +1,28 @@ +apiVersion: v2 +name: jellyfin +description: A Helm chart for Kubernetes + +# A chart can be either an 'application' or a 'library' chart. +# +# Application charts are a collection of templates that can be packaged into versioned archives +# to be deployed. +# +# Library charts provide useful utilities or functions for the chart developer. They're included as +# a dependency of application charts to inject those utilities and functions into the rendering +# pipeline. Library charts do not define any templates and therefore cannot be deployed. +type: application + +# This is the chart version. This version number should be incremented each time you make changes +# to the chart and its templates, including the app version. +# Versions are expected to follow Semantic Versioning (https://semver.org/) +version: 0.1.0 + +# This is the version number of the application being deployed. This version number should be +# incremented each time you make changes to the application. Versions are not expected to +# follow Semantic Versioning. They should reflect the version the application is using. +appVersion: "1.0" + +dependencies: +- name: jellyfin + version: 2.3.0 + repository: https://jellyfin.github.io/jellyfin-helm \ No newline at end of file diff --git a/jellyfin/templates/redirect-regex.yaml b/jellyfin/templates/redirect-regex.yaml new file mode 100644 index 0000000..be61352 --- /dev/null +++ b/jellyfin/templates/redirect-regex.yaml @@ -0,0 +1,26 @@ +apiVersion: traefik.io/v1alpha1 +kind: Middleware +metadata: + name: emby-redirect +spec: + redirectRegex: + regex: ^https?://emby\.dubyatp\.xyz/(.*)$ + replacement: https://jellyfin.dubyatp.xyz/${1} + permanent: true +--- +apiVersion: traefik.io/v1alpha1 +kind: IngressRoute +metadata: + name: emby-redirect +spec: + entryPoints: + - websecure + - web + routes: + - kind: Rule + match: Host(`emby.dubyatp.xyz`) + middlewares: + - name: emby-redirect + services: + - name: noop@internal + kind: TraefikService \ No newline at end of file diff --git a/jellyfin/templates/ssl-cert.yaml b/jellyfin/templates/ssl-cert.yaml new file mode 100644 index 0000000..cb2c1d8 --- /dev/null +++ b/jellyfin/templates/ssl-cert.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +data: + tls.crt: + tls.key: +kind: Secret +metadata: + annotations: + replicator.v1.mittwald.de/replicate-from: cert-manager/cert-dubyatp-xyz + replicator.v1.mittwald.de/replicated-keys: tls.crt,tls.key + name: cert-dubyatp-xyz +type: Opaque \ No newline at end of file diff --git a/jellyfin/values.yaml b/jellyfin/values.yaml new file mode 100644 index 0000000..adb14ec --- /dev/null +++ b/jellyfin/values.yaml @@ -0,0 +1,65 @@ +jellyfin: + deploymentStrategy: + type: Recreate + ingress: + enabled: true + hosts: + - host: jellyfin.dubyatp.xyz + paths: + - path: / + pathType: ImplementationSpecific + tls: + - secretName: cert-dubyatp.xyz + hosts: + - jellyfin.dubyatp.xyz + persistence: + media: + enabled: false + volumes: + - name: tv-shows + nfs: + server: 10.105.15.20 + path: /mnt/hdd-pool/tv-shows + - name: movies + nfs: + server: 10.105.15.20 + path: /mnt/hdd-pool/movies + - name: dvr + nfs: + server: 10.105.15.20 + path: /mnt/hdd-pool/DVR + - name: youtube-vids + nfs: + server: 10.105.15.20 + path: /mnt/hdd-pool/youtube-vids + - name: transcode-temp + emptyDir: + sizeLimit: 8Gi + medium: Memory + - name: dev-dri + hostPath: + path: /dev/dri + volumeMounts: + - name: tv-shows + mountPath: /mnt/tv-shows + - name: movies + mountPath: /mnt/movies + - name: dvr + mountPath: /mnt/dvr + - name: youtube-vids + mountPath: /mnt/youtube-vids + - name: transcode-temp + mountPath: /tmp/transcode + - name: dev-dri + mountPath: /dev/dri + securityContext: + privileged: true + nodeSelector: + kubernetes.io/hostname: weyma-talos-testw04 + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: extensions.talos.dev/i915 + operator: Exists \ No newline at end of file