about summary refs log tree commit diff
path: root/bundles/jellyfin/files/kube.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/jellyfin/files/kube.yaml')
-rw-r--r--bundles/jellyfin/files/kube.yaml72
1 files changed, 72 insertions, 0 deletions
diff --git a/bundles/jellyfin/files/kube.yaml b/bundles/jellyfin/files/kube.yaml
new file mode 100644
index 0000000..fb6897c
--- /dev/null
+++ b/bundles/jellyfin/files/kube.yaml
@@ -0,0 +1,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