initial migration

This commit is contained in:
2023-10-05 14:34:37 +02:00
parent 5cb41fd5e4
commit 41f0153fd0
145 changed files with 17441 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: jellyfin-ingress
namespace: media
spec:
entryPoints:
- websecure
routes:
- match: Host(`media.kluster.moll.re`)
middlewares:
- name: jellyfin-websocket
kind: Rule
services:
- name: jellyfin
port: 8096
tls:
certResolver: default-tls
---
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
name: jellyfin-websocket
namespace: media
spec:
headers:
customRequestHeaders:
X-Forwarded-Proto: "https"
Upgrade: "websocket"

View File

@@ -0,0 +1,72 @@
apiVersion: v1
kind: PersistentVolume
metadata:
namespace: media
name: jellyfin-config-nfs
labels:
directory: jellyfin
spec:
storageClassName: slow
capacity:
storage: "1Gi"
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
nfs:
path: /export/kluster/jellyfin-config
server: 192.168.1.157
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
namespace: media
name: jellyfin-config-nfs
spec:
storageClassName: slow
accessModes:
- ReadWriteOnce
resources:
requests:
storage: "1Gi"
selector:
matchLabels:
directory: jellyfin
---
apiVersion: v1
kind: PersistentVolume
metadata:
namespace: media
name: jellyfin-data-nfs
labels:
directory: jellyfin
spec:
storageClassName: slow
capacity:
storage: "1Ti"
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
nfs:
path: /export/jellyfin-media
server: 192.168.1.157
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
namespace: media
name: jellyfin-data-nfs
spec:
storageClassName: slow
accessModes:
- ReadWriteOnce
resources:
requests:
storage: "1Ti"
selector:
matchLabels:
directory: jellyfin
---

View File

@@ -0,0 +1,108 @@
image:
# -- image repository
repository: jellyfin/jellyfin
# -- image tag
tag: 10.8.9
# -- image pull policy
pullPolicy: IfNotPresent
# -- environment variables. See [image docs](https://jellyfin.org/docs/general/administration/configuration.html) for more details.
# @default -- See below
env:
# -- Set the container timezone
TZ: Europe/Berlin
# -- Configures service settings for the chart.
# @default -- See values.yaml
service:
main:
ports:
http:
port: 8096
ingress:
# -- Enable and configure ingress settings for the chart under this key.
# @default -- See values.yaml
main:
enabled: false
# -- Configure persistence settings for the chart under this key.
# @default -- See values.yaml
persistence:
config:
enabled: true
type: pvc
existingClaim: jellyfin-config-nfs
accessMode:
- ReadWriteOnce
# Cache does NOT contain temporary transcoding data.
cache:
enabled: false
mountPath: /cache
media:
enabled: true
# use local storage
type: pvc
existingClaim: jellyfin-data-nfs
accessMode:
- ReadWriteOnce
mountPath: /media
# encoder:
# enabled: true
# type: hostPath
# hostPath: /dev/dri/renderD128
# # -- Configure the Security Context for the Pod
# podSecurityContext:
# runAsUser: 0 # root user -> access to /dev/video*
# runAsUser: 568
# runAsGroup: 568
# fsGroup: 568
# # Hardware acceleration using an Intel iGPU w/ QuickSync
# # These IDs below should be matched to your `video` and `render` group on the host
# # To obtain those IDs run the following grep statement on the host:
# # $ cat /etc/group | grep "video\|render"
# # video:x:44:
# # render:x:109:
# supplementalGroups:
# - 44
# - 109
# resources:
# requests:
# # Hardware acceleration using an Intel iGPU w/ QuickSync and
# # using intel-gpu-plugin (https://github.com/intel/intel-device-plugins-for-kubernetes)
# gpu.intel.com/i915: 1
# cpu: 200m
# memory: 256Mi
# limits:
# # Hardware acceleration using an Intel iGPU w/ QuickSync and
# # using intel-gpu-plugin (https://github.com/intel/intel-device-plugins-for-kubernetes)
# gpu.intel.com/i915: 1
# memory: 4096Mi
probes:
# -- Liveness probe configuration
# @default -- See below
liveness:
# -- Enable the liveness probe
enabled: true
# -- Set this to `true` if you wish to specify your own livenessProbe
custom: true
# -- The spec field contains the values for the default livenessProbe.
# If you selected `custom: true`, this field holds the definition of the livenessProbe.
# @default -- See below
spec:
initialDelaySeconds: 100
periodSeconds: 100
timeoutSeconds: 5
failureThreshold: 3
httpGet:
path: /health
port: 8096