blob: 3b2aa87b0178f6d5909ceee5f8756544288960a9 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
apiVersion: v1
kind: ConfigMap
metadata:
name: jellyfin
data:
JELLYFIN_PublishedServerUrl: http://shimakaze:8096
---
apiVersion: v1
kind: Pod
metadata:
name: jellyfin
labels:
traefik.enable: true
traefik.http.routers.jellyfin.tls: true
traefik.http.routers.jellyfin.tls.certresolver: le
traefik.http.routers.jellyfin.entrypoints: http,https
traefik.http.routers.jellyfin.rule: Host(`tv.gzr.im`)
traefik.http.routers.jellyfin.service: jellyfin
traefik.http.routers.jellyfin.middlewares: tls-redirect@file
traefik.http.services.jellyfin.loadbalancer.server.port: 8096
# metrics
traefik.http.routers.jellyfin-metrics.entrypoints: metrics
traefik.http.routers.jellyfin-metrics.rule: Path(`/metrics/jellyfin`)
traefik.http.routers.jellyfin-metrics.middlewares: replacepath-metrics@file
spec:
# NOTE: required to make discovery work
# jellyfin clients use udp broadcast messages on port 7359
# sending "Who is JellyfinServer?". To receive those requests the
# jellyfin server can't be behind container networking
hostNetwork: true
restartPolicy: Never
dnsPolicy: Default
containers:
- name: jellyfin
image: ghcr.io/jellyfin/jellyfin:${version}
envFrom:
- configMapRef:
name: jellyfin
ports:
- containerPort: 8096
protocol: TCP
- containerPort: 1900
protocol: UDP
- containerPort: 7359
protocol: UDP
volumeMounts:
- name: data
mountPath: /config
- name: cache
mountPath: /cache
- name: media
mountPath: /media
readOnly: true
resources:
requests:
podman.io/device=/dev/dri/card0: 1
podman.io/device=/dev/dri/renderD128: 1
limits:
memory: 512Mi
volumes:
- name: data
hostPath:
path: /var/lib/jellyfin
type: DirectoryOrCreate
- name: cache
emptyDir: {}
- name: media
hostPath:
path: /media/hayasui/media
type: Directory
|