Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- apiVersion: v1
- kind: PersistentVolume
- metadata:
- name: jellyfin-new-config-pv
- spec:
- capacity:
- storage: 1Gi
- volumeMode: Filesystem
- accessModes:
- - ReadWriteOnce
- persistentVolumeReclaimPolicy: Retain
- storageClassName: local-storage
- local:
- path: /mnt/media/jellyfin/config
- nodeAffinity:
- required:
- nodeSelectorTerms:
- - matchExpressions:
- - key: kubernetes.io/hostname
- operator: In
- values:
- - extranuc
- ---
- apiVersion: v1
- kind: PersistentVolume
- metadata:
- name: jellyfin-new-cache-pv
- spec:
- capacity:
- storage: 1Gi
- volumeMode: Filesystem
- accessModes:
- - ReadWriteOnce
- persistentVolumeReclaimPolicy: Retain
- storageClassName: local-storage
- local:
- path: /mnt/media/jellyfin/cache
- nodeAffinity:
- required:
- nodeSelectorTerms:
- - matchExpressions:
- - key: kubernetes.io/hostname
- operator: In
- values:
- - extranuc
- ---
- apiVersion: v1
- kind: PersistentVolume
- metadata:
- name: jellyfin-new-media-pv
- spec:
- capacity:
- storage: 10Gi
- volumeMode: Filesystem
- accessModes:
- - ReadWriteOnce
- persistentVolumeReclaimPolicy: Retain
- storageClassName: local-storage
- local:
- path: /mnt/media/jellyfin/media
- nodeAffinity:
- required:
- nodeSelectorTerms:
- - matchExpressions:
- - key: kubernetes.io/hostname
- operator: In
- values:
- - extranuc
- ---
- apiVersion: v1
- kind: PersistentVolume
- metadata:
- name: jellyfin-apt-cache-pv
- spec:
- capacity:
- storage: 2Gi
- volumeMode: Filesystem
- accessModes:
- - ReadWriteOnce
- persistentVolumeReclaimPolicy: Retain
- storageClassName: local-storage
- local:
- path: /mnt/media/jellyfin/apt-cache
- nodeAffinity:
- required:
- nodeSelectorTerms:
- - matchExpressions:
- - key: kubernetes.io/hostname
- operator: In
- values:
- - extranuc
- ---
- apiVersion: v1
- kind: PersistentVolumeClaim
- metadata:
- name: jellyfin-new-config-pvc
- spec:
- accessModes:
- - ReadWriteOnce
- resources:
- requests:
- storage: 1Gi
- storageClassName: local-storage
- volumeName: jellyfin-new-config-pv
- ---
- apiVersion: v1
- kind: PersistentVolumeClaim
- metadata:
- name: jellyfin-new-cache-pvc
- spec:
- accessModes:
- - ReadWriteOnce
- resources:
- requests:
- storage: 1Gi
- storageClassName: local-storage
- volumeName: jellyfin-new-cache-pv
- ---
- apiVersion: v1
- kind: PersistentVolumeClaim
- metadata:
- name: jellyfin-new-media-pvc
- spec:
- accessModes:
- - ReadWriteOnce
- resources:
- requests:
- storage: 10Gi
- storageClassName: local-storage
- volumeName: jellyfin-new-media-pv
- ---
- apiVersion: v1
- kind: PersistentVolumeClaim
- metadata:
- name: jellyfin-apt-cache-pvc
- spec:
- accessModes:
- - ReadWriteOnce
- resources:
- requests:
- storage: 2Gi
- storageClassName: local-storage
- volumeName: jellyfin-apt-cache-pv
- ---
- apiVersion: apps/v1
- kind: Deployment
- metadata:
- name: jellyfin
- spec:
- replicas: 1
- selector:
- matchLabels:
- app: jellyfin
- template:
- metadata:
- labels:
- app: jellyfin
- spec:
- nodeSelector:
- kubernetes.io/hostname: extranuc
- containers:
- - name: jellyfin
- image: ubuntu:22.04
- command: ["/bin/sh", "-c"]
- args:
- - |
- export APT_CACHE=/var/cache/apt/archives
- export APT_LISTS=/var/lib/apt/lists
- echo "nameserver 8.8.8.8" > /etc/resolv.conf
- echo "nameserver 8.8.4.4" >> /etc/resolv.conf
- apt-get update -o Dir::Cache::Archives="$APT_CACHE" -o Dir::State::Lists="$APT_LISTS"
- apt-get install -y -o Dir::Cache::Archives="$APT_CACHE" -o Dir::State::Lists="$APT_LISTS" wget gnupg apt-transport-https
- wget -O - https://repo.jellyfin.org/jellyfin_team.gpg.key | apt-key add -
- echo "deb [arch=$(dpkg --print-architecture)] https://repo.jellyfin.org/ubuntu jammy main" > /etc/apt/sources.list.d/jellyfin.list
- apt-get update -o Dir::Cache::Archives="$APT_CACHE" -o Dir::State::Lists="$APT_LISTS"
- apt-get install --download-only -y jellyfin libicu70
- touch /config/.initialized
- if ! command -v jellyfin &>/dev/null; then
- apt-get install -y -o Dir::Cache::Archives="$APT_CACHE" -o Dir::State::Lists="$APT_LISTS" jellyfin libicu70
- fi
- exec /usr/bin/jellyfin --datadir /config --cachedir /cache --webdir=/usr/share/jellyfin/web --ffmpeg=/usr/bin/ffmpeg
- ports:
- - containerPort: 8096
- volumeMounts:
- - name: config
- mountPath: /config
- - name: cache
- mountPath: /cache
- - name: media
- mountPath: /media
- - name: apt-cache
- mountPath: /var/cache/apt/archives
- - name: apt-lists
- mountPath: /var/lib/apt/lists
- volumes:
- - name: config
- persistentVolumeClaim:
- claimName: jellyfin-new-config-pvc
- - name: cache
- persistentVolumeClaim:
- claimName: jellyfin-new-cache-pvc
- - name: media
- persistentVolumeClaim:
- claimName: jellyfin-new-media-pvc
- - name: apt-cache
- persistentVolumeClaim:
- claimName: jellyfin-apt-cache-pvc
- - name: apt-lists
- emptyDir: {}
- ---
- apiVersion: v1
- kind: Service
- metadata:
- name: jellyfin
- spec:
- selector:
- app: jellyfin
- ports:
- - protocol: TCP
- port: 80
- targetPort: 8096
- type: ClusterIP
- ---
- apiVersion: networking.k8s.io/v1
- kind: Ingress
- metadata:
- name: jellyfin-ingress
- spec:
- rules:
- - host: jellyfin.(my domain)
- http:
- paths:
- - path: /
- pathType: Prefix
- backend:
- service:
- name: jellyfin
- port:
- number: 80
Advertisement
Add Comment
Please, Sign In to add comment