Files
homey/templates/jellyfin.yaml
T
2023-02-12 15:40:54 +02:00

107 lines
2.1 KiB
YAML

---
apiVersion: apps/v1
kind: Deployment
metadata:
name: jellyfin
labels:
app: jellyfin
spec:
replicas: 1
selector:
matchLabels:
app: jellyfin
template:
metadata:
labels:
app: jellyfin
name: jellyfin
spec:
containers:
- name: jellyfin
image: docker.io/jellyfin/jellyfin
imagePullPolicy: Always
volumeMounts:
- name: jellyfin-volume
mountPath: "/config"
subPath: backup/jellyfin/config
- name: jellyfin-volume
mountPath: "/data/movies"
subPath: nobackup/downloads/complete/movies
- name: jellyfin-volume
mountPath: "/data/tvshows"
subPath: nobackup/downloads/complete/tvshows
volumes:
- name: jellyfin-volume
persistentVolumeClaim:
claimName: homey-pvc-nfs
---
apiVersion: v1
kind: Service
metadata:
name: jellyfin-web
spec:
selector:
app: jellyfin
ports:
- port: 80
targetPort: 8096
name: jellyfin-web
---
apiVersion: v1
kind: Service
metadata:
name: jellyfin-web-nodeport
spec:
type: NodePort
selector:
app: jellyfin
ports:
- port: 80
targetPort: 8096
nodePort: 30096
name: jellyfin-web
---
apiVersion: v1
kind: Service
metadata:
name: jellyfin-external-ports
spec:
type: NodePort
selector:
app: jellyfin
ports:
- port: 7359
targetPort: 7359
protocol: UDP
name: jellyfin-discovery-local
nodePort: 30059
- port: 1900
targetPort: 1900
protocol: UDP
name: jellyfin-discovery-dnla
nodePort: 31900
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: jellyfin-ingress
annotations:
nginx.ingress.kubernetes.io/whitelist-source-range: "10.0.0.0/16"
spec:
ingressClassName: {{ .Values.homey.ingress_class }}
tls:
- hosts:
- media.{{ .Values.homey.url }}
secretName: {{ .Values.homey.certname }}
rules:
- host: media.{{ .Values.homey.url }}
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: jellyfin-web
port:
number: 80