titan-iac/services/jellyfin/deployment.yaml

68 lines
1.7 KiB
YAML
Raw Normal View History

2025-08-25 12:35:36 -05:00
# services/jellyfin/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: jellyfin
namespace: jellyfin
labels:
app: jellyfin
spec:
2025-08-27 18:51:09 -05:00
replicas: 1
2025-09-02 19:46:21 -05:00
strategy:
2025-09-02 20:12:29 -05:00
type: RollingUpdate
rollingUpdate:
maxSurge: 0
maxUnavailable: 1
2025-08-25 12:35:36 -05:00
selector:
matchLabels:
app: jellyfin
template:
metadata:
labels:
app: jellyfin
spec:
nodeSelector:
jellyfin: "true"
runtimeClassName: nvidia
containers:
- name: jellyfin
2025-09-02 07:30:39 -05:00
image: docker.io/jellyfin/jellyfin:10.10.7
2025-08-25 12:35:36 -05:00
imagePullPolicy: IfNotPresent
ports:
- name: http
containerPort: 8096
env:
- name: NVIDIA_DRIVER_CAPABILITIES
value: "compute,video,utility"
- name: JELLYFIN_PublishedServerUrl
value: "https://stream.bstein.dev"
resources:
limits:
nvidia.com/gpu: 1
# cpu: "4"
# memory: 8Gi
requests:
nvidia.com/gpu: 1
cpu: "500m"
memory: 1Gi
volumeMounts:
- name: config
mountPath: /config
- name: cache
mountPath: /cache
- name: media
mountPath: /media
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: false
volumes:
- name: config
persistentVolumeClaim:
2025-09-02 19:46:21 -05:00
claimName: jellyfin-config-astreae
2025-08-25 12:35:36 -05:00
- name: cache
persistentVolumeClaim:
2025-09-02 19:46:21 -05:00
claimName: jellyfin-cache-astreae
2025-08-25 12:35:36 -05:00
- name: media
persistentVolumeClaim:
2025-09-04 18:31:21 -05:00
claimName: jellyfin-media-asteria