infra-charts/jellyfin/templates/deployment.yaml

61 lines
1.8 KiB
YAML

{{- $labelsenv := dict "name" "jellyfin" "version" .Values.imageVersion }}
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: jellyfin
namespace: {{ .Values.namespace }}
labels: {{ include "common.app.labels" $labelsenv | nindent 4 }}
spec:
replicas: 1
selector:
matchLabels: {{ include "common.app.labels" $labelsenv | nindent 6 }}
template:
metadata:
labels: {{ include "common.app.labels" $labelsenv | nindent 8 }}
spec:
securityContext:
runAsUser: {{ .Values.security.user }}
runAsGroup: {{ .Values.security.group }}
runAsNonRoot: true
capabilities:
drop:
- ALL
containers:
- name: jellyfin
image: "{{ .Values.image }}:{{ .Values.imageVersion }}"
env:
- name: JELLYFIN_PublishedServerUrl
value: {{ .Values.network.externalUrl | quote }}
ports:
- containerPort: 8096
protocol: TCP
name: http
livenessProbe:
httpGet:
path: /System/Ping
port: http
scheme: HTTP
readinessProbe:
httpGet:
path: /System/Ping
port: http
scheme: HTTP
volumeMounts:
- name: storage
mountPath: /storage
- name: config
mountPath: /config
- name: cache
mountPath: /var/cache/jellyfin
volumes:
- name: storage
persistentVolumeClaim:
claimName: {{ .Values.storage.data.claimName }}
- name: cache
persistentVolumeClaim:
claimName: {{ .Values.storage.cache.claimName }}
- name: config
persistentVolumeClaim:
claimName: {{ .Values.storage.config.claimName }}