The biggie, jellyfin

Signed-off-by: Martyn Ranyard <m@rtyn.berlin>
This commit is contained in:
Martyn 2023-12-15 15:05:14 +01:00
parent 28c1cef554
commit ed9a5ad9d4
7 changed files with 186 additions and 0 deletions

View File

@ -0,0 +1,72 @@
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: jellyfin
name: jellyfin
spec:
replicas: 1
selector:
matchLabels:
app: jellyfin
template:
metadata:
labels:
app: jellyfin
spec:
containers:
- env:
- name: NODE_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: spec.nodeName
- name: POD_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.name
- name: POD_NAMESPACE
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.namespace
image: docker.io/jellyfin/jellyfin:10.8.9
imagePullPolicy: Always
name: jellyfin
ports:
- containerPort: 8096
name: web
protocol: TCP
- containerPort: 1900
name: dlna
protocol: UDP
volumeMounts:
- mountPath: /data2/media
name: runningseries
- mountPath: /films
name: films
- mountPath: /config
name: jellyfin-config
- mountPath: /music
name: music
- mountPath: /oldbigseries
name: oldseries
dnsPolicy: ClusterFirst
terminationGracePeriodSeconds: 30
volumes:
- persistentVolumeClaim:
claimName: smb-series
name: runningseries
- name: jellyfin-config
persistentVolumeClaim:
claimName: jellyfin-config
- persistentVolumeClaim:
claimName: smb-music
name: music
- persistentVolumeClaim:
claimName: smb-films
name: films
- persistentVolumeClaim:
claimName: smb-oldseries
name: oldseries

View File

@ -0,0 +1,47 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: smb-series
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: smb-series
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: smb-oldseries
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: smb-oldseries
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: smb-music
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: smb-music
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: smb-films
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: smb-films

View File

@ -0,0 +1,11 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: jellyfin-transcodes
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: "100Gi"
storageClassName: rook-ceph-block-ssd

View File

@ -0,0 +1,11 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: jellyfin-config
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: "10Gi"
storageClassName: rook-ceph-block-ssd

View File

@ -0,0 +1,14 @@
apiVersion: v1
kind: Service
metadata:
labels:
app: jellyfin
name: jellyfin-dlna
spec:
ports:
- name: dlna
port: 9100
protocol: UDP
selector:
app: jellyfin
type: LoadBalancer

View File

@ -0,0 +1,14 @@
apiVersion: v1
kind: Service
metadata:
labels:
app: jellyfin
name: jellyfin
spec:
ports:
- name: web
targetPort: 80
port: 8096
selector:
app: jellyfin
type: LoadBalancer

View File

@ -0,0 +1,17 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: jellyfin
namespace: argocd
spec:
destination:
namespace: jellyfin
server: https://kubernetes.default.svc
project: apps
source:
path: apps-kustomized/jellyfin
repoURL: https://git.martyn.berlin/martyn/infra4talos
targetRevision: HEAD
syncPolicy:
automated:
selfHeal: true