1
0
Fork 0

add jellyfin server

This commit is contained in:
Massaki Archambault 2023-06-17 00:47:17 -04:00
parent 070786702d
commit 7a170337a1
7 changed files with 179 additions and 0 deletions

View File

@ -0,0 +1,94 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: server
labels:
app.kubernetes.io/name: jellyfin
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
app.kubernetes.io/name: jellyfin
template:
metadata:
labels:
app.kubernetes.io/name: jellyfin
spec:
securityContext:
runAsUser: 33
runAsGroup: 33
fsGroup: 33
containers:
- image: jellyfin/jellyfin
name: jellyfin
env:
- name: JELLYFIN_PublishedServerUrl
value: ${JELLYFIN_EXTERNAL_URL}
- name: JELLYFIN_CONFIG_DIR
value: /config
- name: JELLYFIN_CACHE_DIR
value: /cache
ports:
- name: http
containerPort: 8096
resources:
requests:
cpu: 2000m
memory: 2Gi
limits:
cpu: 3500m
memory: 2Gi
volumeMounts:
- name: jellyfin-config-pvc
mountPath: /config
- name: jellyfin-cache-pvc
mountPath: /cache
volumes:
- name: jellyfin-config-pvc
persistentVolumeClaim:
claimName: jellyfin-config-pvc
- name: jellyfin-cache-pvc
persistentVolumeClaim:
claimName: jellyfin-cache-pvc
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: jellyfin-config-pvc
labels:
app.kubernetes.io/name: jellyfin
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: jellyfin-cache-pvc
labels:
app.kubernetes.io/name: jellyfin
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
---
apiVersion: v1
kind: Service
metadata:
name: server
labels:
app.kubernetes.io/name: jellyfin
spec:
selector:
app.kubernetes.io/name: jellyfin
ports:
- name: http
port: 80
targetPort: http

View File

@ -0,0 +1,19 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: server
labels:
app.kubernetes.io/name: jellyfin
probe: blackbox-http
spec:
rules:
- host: ${JELLYFIN_EXTERNAL_HOST}
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: server
port:
name: http

View File

@ -0,0 +1,36 @@
resources:
- jellyfin-deployment.yaml
- jellyfin-ingress.yaml
namePrefix: jellyfin-
commonLabels:
app.kubernetes.io/name: jellyfin
configMapGenerator:
- name: kustomize-generated-config
literals:
- JELLYFIN_EXTERNAL_HOST=jellyfin.badjware.dev
- JELLYFIN_EXTERNAL_URL=https://jellyfin.badjware.dev
replacements:
- source:
kind: ConfigMap
name: kustomize-generated-config
fieldPath: data.JELLYFIN_EXTERNAL_HOST
targets:
- select:
kind: Ingress
name: server
fieldPaths:
- spec.rules.0.host
- source:
kind: ConfigMap
name: kustomize-generated-config
fieldPath: data.JELLYFIN_EXTERNAL_URL
targets:
- select:
kind: Deployment
name: server
fieldPaths:
- spec.template.spec.containers.0.env.0.value

View File

@ -8,6 +8,7 @@ resources:
- ../../overlays/monitoring
- ../../overlays/nextcloud
- ../../overlays/home-assistant
- ../../overlays/jellyfin
# resources:
# - probes/external-services-bobcat-miner.yaml
@ -37,6 +38,8 @@ images:
newTag: 20230613_120442-latest-arm64
- name: homeassistant/home-assistant
newTag: 2023.5.4
- name: jellyfin/jellyfin
newTag: 10.8.10
- name: postgres
newTag: 9.6.23
- name: redis
@ -69,6 +72,11 @@ patches:
kind: Deployment
name: nextcloud-server
path: patches/nextcloud-deployment-patch.yaml
- target:
version: v1
kind: Deployment
name: jellyfin-server
path: patches/jellyfin-deployment-patch.yaml
# - target:
# version: v1
# kind: Prometheus

View File

@ -0,0 +1,13 @@
- op: add
path: /spec/template/spec/containers/0/volumeMounts/-
value:
name: share-media-nfs
mountPath: /share/media
readOnly: true
- op: add
path: /spec/template/spec/volumes/-
value:
name: share-media-nfs
nfs:
server: 192.168.20.30
path: /mnt/pool0/media

View File

@ -0,0 +1,5 @@
resources:
- namespace.yaml
- ../../bases/jellyfin
namespace: jellyfin

View File

@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: jellyfin