initial migration
This commit is contained in:
32
apps/media/jellyfin.ingress.yaml
Normal file
32
apps/media/jellyfin.ingress.yaml
Normal 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"
|
||||
|
||||
|
72
apps/media/jellyfin.pvc.yaml
Normal file
72
apps/media/jellyfin.pvc.yaml
Normal 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
|
||||
---
|
108
apps/media/jellyfin.values.yaml
Normal file
108
apps/media/jellyfin.values.yaml
Normal 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
|
Reference in New Issue
Block a user