Jellyfin

Jellyfin ist die zentrale Medienplattform der Private Cloud.

Der Dienst stellt Filme, Serien und weitere Medien über Webbrowser, mobile Geräte und Smart TVs bereit.

Referenzen

Zweck

  • Medienverwaltung

  • Video-Streaming

  • Audio-Streaming

  • Hardwarebeschleunigtes Transcoding

  • Zentrale Medienbibliothek

Architektur

Clients
    |
Gateway API
    |
Jellyfin
    |
    +-- Config Storage
    |
    +-- Cache Storage
    |
    +-- NFS Share
          |
          v
      QNAP NAS

Infrastruktur

Typ

Produktiver Dienst

Standort

home-tamay-cloud

Betrieb

Kubernetes

Deployment

StatefulSet

GitOps

Ja

Storage

Piraeus + NFS

GPU

Intel UHD Graphics 630

Deployment

Jellyfin wird als StatefulSet betrieben.

Verwendete Komponenten:

  • Gateway API

  • Intel GPU

  • NFS Storage

  • Flux Image Automation

Datenhaltung

Jellyfin verwendet drei Speicherbereiche.

Config

Persistente Konfiguration.

PVC
50 GiB

Beispiele:

  • Benutzer

  • Einstellungen

  • Bibliotheken

  • Metadaten

Cache

Persistenter Cache.

PVC
50 GiB

Verwendung:

  • Thumbnails

  • Transcoding Cache

  • Metadaten Cache

Medienbibliothek

Die Mediendaten liegen nicht im Kubernetes Storage.

Bereitstellung:

QNAP NAS
      |
     NFS
      |
 Jellyfin

NFS Server:

10.0.0.10

Mount:

/media

Hardwarebeschleunigung

Jellyfin nutzt die integrierten Intel GPUs der Kubernetes-Nodes.

Verwendete Ressourcen:

resources:
  limits:
    gpu.intel.com/i915: "1"

Dadurch wird Intel Quick Sync Video für Hardware Transcoding verwendet.

Weitere Informationen:

Netzwerk

Der Dienst wird über Gateway API veröffentlicht.

Verwendete Ressource:

HTTPRoute

Backend-Port:

8096/TCP

Zusätzlich werden folgende Ports für Discovery bereitgestellt.

Port Verwendung

1900/UDP

DLNA Discovery

7359/UDP

Client Discovery

Automatische Updates

Container-Images werden automatisch über Flux Image Automation aktualisiert.

Verwendete Quelle:

ghcr.io/jellyfin/jellyfin

Update-Regel:

10.x

Dadurch werden neue Jellyfin-Releases innerhalb des Major-Releases automatisch übernommen.

Backup

Folgende Daten werden gesichert:

  • Config Volume

  • Cache Volume

  • Kubernetes Ressourcen

Nicht gesichert werden:

  • Filme

  • Serien

  • Musik

Die Mediendaten werden unabhängig auf der QNAP NAS betrieben.

Betrieb

Deployment und Konfiguration werden vollständig über GitOps verwaltet.

Weitere Informationen:

Verwendete Components

Das Modul verwendet folgende Kustomize Components:

  • gateway-api

  • gpu

  • imageautomation

  • nfs

Die eigentliche Deployment-Konfiguration wird durch das Overlay home.tamay.cloud zusammengesetzt.

Wiederherstellung

Wiederherstellungsreihenfolge:

  1. Config PVC wiederherstellen

  2. Cache PVC wiederherstellen

  3. NFS Share verfügbar machen

  4. Jellyfin Deployment bereitstellen

  5. Medienbibliothek prüfen