⬆️ jellyfin app-template v2

This commit is contained in:
auricom
2023-10-29 09:38:07 +01:00
parent 42c914e8b4
commit 524824a27c
4 changed files with 74 additions and 59 deletions

View File

@@ -10,7 +10,7 @@ spec:
chart: chart:
spec: spec:
chart: app-template chart: app-template
version: 1.5.1 version: 2.0.3
sourceRef: sourceRef:
kind: HelmRepository kind: HelmRepository
name: bjw-s name: bjw-s
@@ -27,15 +27,67 @@ spec:
uninstall: uninstall:
keepHistory: false keepHistory: false
values: values:
controllers:
main:
type: statefulset
annotations:
reloader.stakater.com/auto: "true"
containers:
main:
image: image:
repository: ghcr.io/onedr0p/jellyfin repository: ghcr.io/onedr0p/jellyfin
tag: 10.8.11@sha256:926e2a9f6677a0c7b12feba29f36c954154869318d6a52df72f72ff9c74cf494 tag: 10.8.11@sha256:926e2a9f6677a0c7b12feba29f36c954154869318d6a52df72f72ff9c74cf494
env: env:
DOTNET_SYSTEM_IO_DISABLEFILELOCKING: "true"
JELLYFIN_FFmpeg__probesize: 50000000
JELLYFIN_FFmpeg__analyzeduration: 50000000
JELLYFIN_PublishedServerUrl: &loadBalancerIP ${CLUSTER_LB_JELLYFIN}
TZ: ${TIMEZONE} TZ: ${TIMEZONE}
probes:
liveness: &probes
enabled: true
custom: true
spec:
httpGet:
path: /health
port: &port 8096
initialDelaySeconds: 0
periodSeconds: 10
timeoutSeconds: 1
failureThreshold: 3
readiness: *probes
startup:
enabled: false
resources:
requests:
gpu.intel.com/i915: 1
cpu: 100m
memory: 512Mi
limits:
gpu.intel.com/i915: 1
memory: 4Gi
statefulset:
volumeClaimTemplates:
- name: config
accessMode: ReadWriteOnce
size: 50Gi
storageClass: rook-ceph-block
globalMounts:
- path: /config
pod:
enableServiceLinks: false
nodeSelector:
intel.feature.node.kubernetes.io/gpu: "true"
securityContext:
runAsUser: 568
runAsGroup: 568
fsGroup: 568
fsGroupChangePolicy: OnRootMismatch
supplementalGroups: [44, 105, 10000]
service: service:
main: main:
type: LoadBalancer type: LoadBalancer
loadBalancerIP: "${CLUSTER_LB_JELLYFIN}" loadBalancerIP: *loadBalancerIP
externalTrafficPolicy: Local externalTrafficPolicy: Local
ports: ports:
http: http:
@@ -43,68 +95,49 @@ spec:
ingress: ingress:
main: main:
enabled: true enabled: true
ingressClassName: "nginx" className: "nginx"
annotations: annotations:
hajimari.io/icon: simple-icons:jellyfin hajimari.io/icon: simple-icons:jellyfin
hosts: hosts:
- host: &host "{{ .Release.Name }}.${SECRET_CLUSTER_DOMAIN}" - host: &host "{{ .Release.Name }}.${SECRET_CLUSTER_DOMAIN}"
paths: paths:
- path: / - path: /
pathType: Prefix service:
name: main
port: http
tls: tls:
- hosts: - hosts:
- *host - *host
podSecurityContext:
runAsUser: 568
runAsGroup: 568
fsGroup: 568
fsGroupChangePolicy: "OnRootMismatch"
supplementalGroups:
- 44
- 109
persistence: persistence:
config:
enabled: true
existingClaim: jellyfin-config
mountPath: /config
music: music:
enabled: true enabled: true
type: nfs type: nfs
server: "${LOCAL_LAN_TRUENAS}" server: "${LOCAL_LAN_TRUENAS}"
path: /mnt/storage/music path: /mnt/storage/music
mountPath: /mnt/storage/music globalMounts:
- path: /mnt/storage/music
photo: photo:
enabled: true enabled: true
type: nfs type: nfs
server: "${LOCAL_LAN_TRUENAS}" server: "${LOCAL_LAN_TRUENAS}"
path: /mnt/storage/photo path: /mnt/storage/photo
mountPath: /mnt/storage/photo mountPath: /mnt/storage/photo
globalMounts:
- path: /mnt/storage/photo``
video: video:
enabled: true enabled: true
type: nfs type: nfs
server: "${LOCAL_LAN_TRUENAS}" server: "${LOCAL_LAN_TRUENAS}"
path: /mnt/storage/video path: /mnt/storage/video
mountPath: /mnt/storage/video globalMounts:
- path: /mnt/storage/video
transcode: transcode:
enabled: true enabled: true
type: emptyDir type: emptyDir
globalMounts:
- path: /transcode
cache: cache:
enabled: true enabled: true
type: emptyDir type: emptyDir
affinity: globalMounts:
nodeAffinity: - path: /cache
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: intel.feature.node.kubernetes.io/gpu
operator: In
values:
- "true"
resources:
requests:
gpu.intel.com/i915: 1
cpu: 100m
memory: 1Gi
limits:
gpu.intel.com/i915: 1
memory: 6Gi

View File

@@ -7,4 +7,3 @@ resources:
- ./gatus.yaml - ./gatus.yaml
- ./helmrelease.yaml - ./helmrelease.yaml
- ./volsync.yaml - ./volsync.yaml
- ./volume.yaml

View File

@@ -30,7 +30,7 @@ metadata:
name: jellyfin name: jellyfin
namespace: default namespace: default
spec: spec:
sourcePVC: jellyfin-config sourcePVC: config-jellyfin-0
trigger: trigger:
schedule: "0 7 * * *" schedule: "0 7 * * *"
restic: restic:

View File

@@ -1,17 +0,0 @@
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: jellyfin-config
namespace: default
labels:
app.kubernetes.io/name: &name jellyfin
app.kubernetes.io/instance: *name
snapshot.home.arpa/enabled: "true"
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 30Gi
storageClassName: rook-ceph-block