first commit
This commit is contained in:
6
clusters/default/apps/jellyfin/Chart.yaml
Normal file
6
clusters/default/apps/jellyfin/Chart.yaml
Normal file
@@ -0,0 +1,6 @@
|
||||
apiVersion: v2
|
||||
name: jellyfin
|
||||
description: A Helm chart for Jellyfin
|
||||
type: application
|
||||
version: 0.1.0
|
||||
appVersion: "10.10.7"
|
||||
26
clusters/default/apps/jellyfin/Values.yaml
Normal file
26
clusters/default/apps/jellyfin/Values.yaml
Normal file
@@ -0,0 +1,26 @@
|
||||
name: jellyfin
|
||||
namespace: prod
|
||||
|
||||
image:
|
||||
repository: jellyfin/jellyfin
|
||||
tag: 10.10.7
|
||||
|
||||
nodeSelector:
|
||||
enabled: true
|
||||
key: kubernetes.io/hostname
|
||||
value: master-4
|
||||
|
||||
persistence:
|
||||
config:
|
||||
enabled: true
|
||||
existingClaim: true
|
||||
claimName: longhorn-jellyfin-config
|
||||
|
||||
media:
|
||||
nfs:
|
||||
server: 10.0.0.123
|
||||
path: /merge
|
||||
|
||||
service:
|
||||
type: LoadBalancer
|
||||
port: 8096
|
||||
22
clusters/default/apps/jellyfin/templates/jellyfin-svc.yaml
Normal file
22
clusters/default/apps/jellyfin/templates/jellyfin-svc.yaml
Normal file
@@ -0,0 +1,22 @@
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: "{{ .Values.name }}-service"
|
||||
namespace: {{ .Values.namespace }}
|
||||
spec:
|
||||
{{- if eq .Values.service.type "LoadBalancer" }}
|
||||
type: LoadBalancer
|
||||
{{- else if eq .Values.service.type "NodePort" }}
|
||||
type: NodePort
|
||||
{{- end }}
|
||||
selector:
|
||||
app: {{ .Values.name }}
|
||||
ports:
|
||||
- targetPort: 8096
|
||||
protocol: TCP
|
||||
{{- if eq .Values.service.type "LoadBalancer" }}
|
||||
port: {{ .Values.service.port }}
|
||||
{{- else if eq .Values.service.type "NodePort" }}
|
||||
nodePort: {{ .Values.service.nodePort }}
|
||||
{{- end }}
|
||||
67
clusters/default/apps/jellyfin/templates/jellyfin.yaml
Normal file
67
clusters/default/apps/jellyfin/templates/jellyfin.yaml
Normal file
@@ -0,0 +1,67 @@
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: {{ .Values.name }}
|
||||
namespace: {{ .Values.namespace }}
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: {{ .Values.name }}
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: {{ .Values.name }}
|
||||
spec:
|
||||
securityContext:
|
||||
supplementalGroups:
|
||||
- 128
|
||||
- 226
|
||||
- 106
|
||||
- 44
|
||||
- 104
|
||||
{{- if .Values.nodeSelector.enabled }}
|
||||
nodeSelector:
|
||||
{{ .Values.nodeSelector.key }}: {{ .Values.nodeSelector.value }}
|
||||
{{- end }}
|
||||
containers:
|
||||
- name: jellyfin
|
||||
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
||||
volumeMounts:
|
||||
- name: media
|
||||
mountPath: /media
|
||||
readOnly: true
|
||||
recursiveReadOnly: Enabled
|
||||
- name: config
|
||||
mountPath: /config
|
||||
- name: cache
|
||||
mountPath: /cache
|
||||
- name: card
|
||||
mountPath: /dev/dri/renderD128
|
||||
securityContext:
|
||||
privileged: true
|
||||
volumes:
|
||||
{{- if and .Values.persistence.config.enabled .Values.persistence.config.existingClaim }}
|
||||
- name: config
|
||||
persistentVolumeClaim:
|
||||
claimName: "{{ .Values.persistence.config.claimName }}"
|
||||
{{- else if .Values.persistence.config.enabled }}
|
||||
- name: config
|
||||
persistentVolumeClaim:
|
||||
claimName: "longhorn-{{ .Values.name }}-config"
|
||||
{{- else }}
|
||||
- name: config
|
||||
emptyDir: {}
|
||||
{{- end }}
|
||||
- name: cache
|
||||
hostPath:
|
||||
path: /home/akshun/jellyfin/cache
|
||||
type: Directory
|
||||
- name: media
|
||||
nfs:
|
||||
server: {{ .Values.persistence.media.nfs.server }}
|
||||
path: {{ .Values.persistence.media.nfs.path }}
|
||||
- name: card
|
||||
hostPath:
|
||||
path: /dev/dri/renderD128
|
||||
Reference in New Issue
Block a user