--- apiVersion: apps/v1 kind: Deployment metadata: labels: app: jellyfin app.kubernetes.io/instance: jellyfin app.kubernetes.io/name: jellyfin name: jellyfin namespace: jellyfin spec: replicas: 1 selector: matchLabels: app: jellyfin template: metadata: labels: app: jellyfin app.kubernetes.io/name: jellyfin spec: nodeSelector: worker: "true" containers: - image: jellyfin/jellyfin imagePullPolicy: Always name: jellyfin ports: - containerPort: 8096 name: web protocol: TCP env: - name: TZ value: Europe/London volumeMounts: - mountPath: "/Audiobooks" readOnly: false name: smb subPath: Audiobooks - mountPath: "/Films" readOnly: false name: smb subPath: Films - mountPath: "/TVShows" readOnly: false name: smb subPath: TVShows - mountPath: "/Music" readOnly: false name: smb subPath: Music volumes: - name: smb persistentVolumeClaim: claimName: pvc-jellyfin-smb --- apiVersion: v1 kind: Service metadata: labels: app: jellyfin name: jellyfin namespace: jellyfin spec: ports: - name: web-tcp port: 8096 protocol: TCP targetPort: 8096 - name: web-udp port: 8096 protocol: UDP targetPort: 8096 selector: app: jellyfin