Jellyfin-Docker-Compose-Generator
Erstellen Sie eine compose.yaml-Datei für Jellyfin. Wählen Sie das offizielle Image oder das Image von LinuxServer.io, Ports und Netzwerk, Medienordner sowie die Hardwarebeschleunigung für Intel, AMD oder NVIDIA aus und erhalten Sie eine sofort ausführbare Datei.
Eingabe
Ausgabe
- Die Ausführung von Jellyfin in einem Container wird nur unter Linux unterstützt. Installieren Sie Jellyfin unter Windows und macOS nativ.
Readme
Was ist Jellyfin?
Jellyfin ist ein kostenloser Open-Source-Medienserver. Er streamt Ihre Filme, Serien, Musik und Fotos an Browser, Smartphones, Fernseher und andere Geräte und kann Videos während der Wiedergabe transcodieren. Das Projekt stellt ein offizielles Image, jellyfin/jellyfin, bereit, das auch als ghcr.io/jellyfin/jellyfin veröffentlicht wird. Das Projekt LinuxServer.io bietet ein weiteres Image, lscr.io/linuxserver/jellyfin, mit eigenen Ordnern und Variablen.
Beschreibung des Tools
Dieses Tool erstellt anhand der Installationsanleitung des Projekts eine compose.yaml für Jellyfin. Sie wählen das Image und den Tag, Ports und Netzwerk, den Benutzer, die Ordner für Konfiguration und cache sowie beliebig viele Medienordner aus, die schreibgeschützt eingebunden werden können. Mit dem offiziellen Image können Sie außerdem Ordner mit benutzerdefinierten Schriften und Ersatzschriften einbinden. Für die Grafikkarte fügt das Tool hinzu, was in der Jellyfin-Dokumentation beschrieben wird: /dev/dri und die Render-Gruppe für Intel und AMD oder die NVIDIA-Runtime und eine GPU-Reservierung für NVIDIA. Wenn Sie das LinuxServer.io-Image auswählen, ändert es die Datei, da dieses anstelle eines user die Variablen PUID, PGID und TZ verwendet. Alles wird in Ihrem Browser erstellt.
Funktionen
- Das offizielle Image von Docker Hub oder der GitHub Container Registry oder das Image von LinuxServer.io mit einem beliebigen Tag
- Der Bridge-Modus mit den Ports 8096 und 7359/udp, einem optionalen HTTPS-Port 8920 und einer Bind-Adresse oder der Host-Modus, den DLNA benötigt
- Die veröffentlichte Server-URL für Clients, die den Server erkennen
- Ein Benutzer im Format
uid:gidfür das offizielle Image oderPUID,PGIDund die Zeitzone für LinuxServer.io - Konfiguration und cache auf dem Host oder in benannten Docker-Volumes, die für Sie deklariert werden
- Mehrere Medienordner, jeweils mit einem Pfad im Container und der Option, sie schreibgeschützt einzubinden
- Benutzerdefinierte Schriften und Ersatzschriften für Untertitel, die während der Transcodierung fest in das Bild eingebettet werden
- Hardwarebeschleunigung mit VA-API oder QSV für Intel und AMD oder NVENC für NVIDIA
- Beliebige weitere Umgebungsvariable, Kommentare zur Erläuterung der Datei und ein Download als
compose.yaml
Beispiele
Die Standardeinstellungen entsprechen dem Beispiel aus der Jellyfin-Dokumentation, wobei sich die Ordner neben der Datei befinden:
services:
jellyfin:
image: jellyfin/jellyfin
container_name: jellyfin
ports:
- "8096:8096"
- "7359:7359/udp"
volumes:
- ./config:/config
- ./cache:/cache
- /path/to/media:/media
restart: unless-stoppedWenn Sie die NVIDIA-Hardwarebeschleunigung auswählen, werden die Runtime und die GPU-Reservierung hinzugefügt:
runtime: nvidia
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities:
- gpuTipps
- Speichern Sie das Ergebnis als
compose.yamlund starten Sie es mitdocker compose up -d. Öffnen Sie anschließendhttp://localhost:8096und fügen Sie Ihre Medienordner als Bibliotheken hinzu. Verwenden Sie dabei die Pfade im Container - Die Ausführung von Jellyfin in einem Container wird nur unter Linux unterstützt. Installieren Sie Jellyfin unter Windows und macOS nativ, da bekannt ist, dass Hardwarebeschleunigung und Bibliotheksscans dort in Containern nicht zuverlässig funktionieren
- Ermitteln Sie die ID der Render-Gruppe auf dem Host mit
getent group render | cut -d: -f3. Auf manchen Systemen heißt die Gruppevideooderinput - Installieren Sie für NVIDIA zuerst den NVIDIA-Treiber und das NVIDIA Container Toolkit auf dem Host
- Nachdem Sie die Hardwarebeschleunigung im Container aktiviert haben, schalten Sie sie im Jellyfin-Dashboard unter Wiedergabe, Transcodierung ein
- DLNA ist ein Plugin und benötigt den Host-Modus, da die Erkennung Broadcasts auf Port 1900/udp verwendet, die den Bridge-Modus nicht passieren
- Die Images des offiziellen Projekts und von LinuxServer.io speichern ihre Daten an unterschiedlichen Orten. Daher können Sie bei einem vorhandenen Ordner nicht einfach das eine durch das andere ersetzen
- Binden Sie Medien schreibgeschützt ein, wenn Jellyfin sie nicht ändern muss