about summary refs log tree commit diff
path: root/bundles/jellyfin/files/kube.yaml
blob: fb6897ca89cace97647bf267e4db9f70e891244d (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.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
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:10.10.7
      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:
          #cpu: 300m
          #memory: 512Mi

  volumes:
    - name: data
      hostPath:
        path: /var/lib/jellyfin
        type: DirectoryOrCreate
    - name: cache
      emptyDir: {}
    - name: media
      hostPath:
        path: /media/hayasui/media
        type: Directory