Jellyfin auf einem VPS: So erstellen Sie Ihren eigenen Medienserver
Ein Ordner voller Videos ist selten eine komfortable Mediathek: uneinheitliche Dateinamen, separate Untertitel und die manuelle Suche nach der richtigen Folge. Jellyfin verwandelt ein solches Archiv in einen persönlichen Streaming-Dienst mit Postern, Beschreibungen, Benutzerprofilen und gespeichertem Wiedergabefortschritt.
Dabei verkauft Jellyfin kein Abonnement und stellt keinen fertigen Inhaltskatalog bereit. Die Software arbeitet mit Ihren eigenen Dateien und kann auf einem Heimcomputer, NAS oder VPS betrieben werden. Im Folgenden betrachten wir die Funktionen, die Serveranforderungen und die Installation unter Ubuntu mit Domain und HTTPS.
Was ist Jellyfin und wofür wird es benötigt?
Jellyfin ist ein kostenloser Open-Source-Medienserver. Der Server indexiert Filme, Serien, Musik, Fotos und andere Inhalte, während die Client-Anwendungen sie auf einem Smartphone, Computer oder Fernseher wiedergeben.
Nach dem Scannen der Ordner lädt Jellyfin Poster und Beschreibungen herunter, ordnet Serien nach Staffeln, speichert den Wiedergabefortschritt und zeigt den Bereich „Weiterschauen“ an. Für Familien lassen sich separate lokale Profile erstellen, der Zugriff auf Mediatheken einschränken und eine Kindersicherung einrichten. Mit Quick Connect können Sie sich über einen kurzen Code am Fernseher anmelden, ohne ein langes Passwort einzugeben.
Clients sind für Android, iOS, Android TV, Roku, webOS, Tizen, Xbox und Computer verfügbar. Außerdem gibt es eine Weboberfläche und eine Integration mit Kodi.
Zusätzlich unterstützt Jellyfin Musik, IPTV, TV-Tuner und die Aufnahme von Fernsehsendungen. SyncPlay synchronisiert die Wiedergabe für mehrere Benutzer, während Plugins Untertitel, neue Metadatenquellen und Integrationen hinzufügen.
Jellyfin sucht oder lädt Filme nicht selbstständig herunter. Die Software organisiert und überträgt lediglich Inhalte, die dem Serverbetreiber bereits vorliegen.
Jellyfin und Plex: die wichtigsten Unterschiede
Beide Lösungen verwandeln eine lokale Sammlung in einen Mediendienst, verfolgen jedoch unterschiedliche Modelle.
| Parameter | Jellyfin | Plex |
|---|---|---|
| Quellcode | Offen | Proprietär |
| Premium-Funktionen | Server und offizielle Clients haben keine kostenpflichtige Stufe | Einige Funktionen hängen vom Tarif ab |
| Zentrales Konto | Nicht erforderlich | Nutzt das Ökosystem des Anbieters |
| Fernzugriff | Der Betreiber richtet Domain, Reverse Proxy oder VPN ein | Bietet mehr vorkonfigurierte Mechanismen |
| Kontrolle über die Daten | Maximal | Ein Teil der Infrastruktur wird vom Anbieter kontrolliert |
Jellyfin wird wegen seiner Unabhängigkeit, Privatsphäre und des fehlenden Abonnements gewählt. Plex kann bequemer sein, wenn ein möglichst einfacher Einstieg und einheitlich ausgereifte Apps auf allen Geräten wichtiger sind.
Direct Play oder Transkodierung: Was belastet den Server?
Die Leistung von Jellyfin hängt weniger von der Größe der Mediathek als von der Art der Wiedergabe ab.
| Modus | Was passiert | Auslastung |
|---|---|---|
| Direct Play | Der Server überträgt die Originaldatei | Niedrig |
| Direct Stream | Der Container oder eine einzelne Spur wird geändert | Niedrig oder mittel |
| Transcoding | Codec, Auflösung oder Bitrate werden während der Wiedergabe geändert | Hoch |
Wenn der Fernseher Codec, Audioformat und Untertitel der Datei unterstützt, benötigt der Server kaum CPU-Leistung. Probleme beginnen, wenn der Client das Format nicht versteht, die Verbindung eine niedrigere Bitrate erfordert oder Untertitel in das Bild eingebrannt werden müssen. Dann startet Jellyfin FFmpeg und transkodiert das Video in Echtzeit.
Besonders anspruchsvoll sind 4K, HEVC, HDR und die Umwandlung von HDR in SDR. Ein gewöhnlicher VPS ohne Grafikkarte kann damit überfordert sein, selbst wenn er über viele virtuelle Kerne verfügt. Kompatible Formate und Direct Play sparen deshalb häufig mehr Geld als der Wechsel in den nächsthöheren Tarif.
Welcher Server wird für Jellyfin benötigt?
Die offizielle Empfehlung für eine gewöhnliche Installation liegt bei etwa 8 GB RAM. Unter Linux ohne grafische Oberfläche kann ein kleiner Server mit 4 GB arbeiten. Ein schnelles Laufwerk wird für das System, die Datenbank, Bilder, den Cache und temporäre Dateien benötigt; die Mediathek wird separat gespeichert und belegt normalerweise den größten Teil des Speicherplatzes.
| Szenario | Einstiegskonfiguration | Hinweis |
|---|---|---|
| Musik und ein 1080p-Direct-Play-Stream | 2 vCPU, 4 GB RAM | Netzwerk- und Laufwerksgeschwindigkeit sind wichtiger |
| Kleine Familienmediathek | 4 vCPU, 8 GB RAM | Kompatible Formate sind empfehlenswert |
| Gelegentliche 1080p-Transkodierung | 4–8 leistungsstarke vCPU oder GPU | Die Auslastung hängt vom Codec ab |
| Mehrere 4K/HDR-Streams | Moderne Intel-iGPU oder Grafikkarte | Ein gewöhnlicher CPU-only-VPS ist ungeeignet |
Berücksichtigen Sie außerdem den Datenverkehr: Ein Stream mit 20 Mbit/s überträgt etwa 9 GB Daten pro Stunde. Bei täglicher Nutzung steigt der Verbrauch schnell auf mehrere Hundert Gigabyte pro Monat.
Heimserver oder VPS
Ein Mini-PC oder NAS zu Hause ist für eine mehrere Terabyte große Sammlung und regelmäßige Hardware-Transkodierung wirtschaftlicher. Sie können große Laufwerke installieren und einen Prozessor mit Intel Quick Sync wählen, der Fernzugriff hängt jedoch von der Stromversorgung, dem heimischen Internetanschluss und einer öffentlichen IP-Adresse ab.
Ein VPS besitzt eine öffentliche Adresse, eine stabile Verbindung und läuft rund um die Uhr. Er eignet sich für Musik, eine kleine Videothek, Direct Play und Benutzer an verschiedenen Standorten. Einschränkungen sind die Speicherkosten und die fehlende GPU bei gewöhnlichen Tarifen.
Es gibt auch eine Hybridlösung: Die Dateien bleiben zu Hause, während der VPS als geschützter Zugangspunkt dient. Dieses Konzept hilft, wenn keine öffentliche IPv4-Adresse verfügbar ist, die Wiedergabegeschwindigkeit wird jedoch weiterhin durch die Upload-Bandbreite des Heimanschlusses begrenzt.
Jellyfin unter Ubuntu mit Docker Compose installieren
In der folgenden Konfiguration laufen Jellyfin und Caddy im selben Docker-Netzwerk. Port 8096 wird nicht im Internet veröffentlicht; Caddy nimmt HTTPS-Verbindungen an und ruft automatisch ein Zertifikat ab.
Richten Sie zunächst den A-Record der Domain, beispielsweise media.example.com, auf die IP-Adresse des Servers.
1. Docker installieren und Verzeichnisse erstellen
sudo apt update
sudo apt install -y docker.io docker-compose-v2
sudo systemctl enable --now docker
sudo mkdir -p /opt/jellyfin/{config,cache,caddy-data,caddy-config}
sudo mkdir -p /srv/media/{movies,series,music}
cd /opt/jellyfin2. /opt/jellyfin/compose.yaml erstellen
services:
jellyfin:
image: jellyfin/jellyfin:latest
container_name: jellyfin
restart: unless-stopped
volumes:
- ./config:/config
- ./cache:/cache
- /srv/media:/media:ro
networks: [media]
caddy:
image: caddy:2
container_name: jellyfin-caddy
restart: unless-stopped
ports:
- "80:80"
- "443:443"
- "443:443/udp"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- ./caddy-data:/data
- ./caddy-config:/config
networks: [media]
networks:
media:Die Option :ro bindet die Mediathek schreibgeschützt ein und schützt die Originaldateien vor einem versehentlichen Löschen über Jellyfin.
3. /opt/jellyfin/Caddyfile erstellen
media.example.com {
reverse_proxy jellyfin:8096
}Ersetzen Sie die Domain durch Ihre eigene, starten Sie die Container und öffnen Sie die erforderlichen Ports:
sudo docker compose up -d
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 443/udp
sudo ufw enableWenn SSH einen anderen Port verwendet, geben Sie ihn mit einer separaten Regel frei, bevor Sie ufw enable ausführen.
Öffnen Sie nach der Ausstellung des Zertifikats https://media.example.com. Fügen Sie in den Netzwerkeinstellungen von Jellyfin den Reverse Proxy zur Liste der vertrauenswürdigen Proxys hinzu, damit Einschränkungen für externe Zugriffe korrekt funktionieren.
Ersteinrichtung der Mediathek
Wählen Sie im Einrichtungsassistenten die Sprache, erstellen Sie einen Administrator und fügen Sie die Mediatheken hinzu:
- Filme —
/media/movies; - Serien —
/media/series; - Musik —
/media/music.
Verwenden Sie für eine zuverlässige Erkennung eindeutige Namen:
/media/movies/Filmtitel (2024)/Filmtitel (2024).mkv
/media/series/Serientitel (2024)/Season 01/Serientitel S01E01.mkvErstellen Sie für die Wiedergabe ein separates Standardprofil und blenden Sie das Administratorkonto auf dem Anmeldebildschirm aus. Gewähren Sie Benutzern nur Zugriff auf die benötigten Mediatheken und erlauben Sie das Löschen von Dateien nur, wenn es erforderlich ist.
Updates und Sicherungskopien
Die Jellyfin-Konfiguration enthält Benutzer, Einstellungen, die Datenbank und den Wiedergabefortschritt. Stoppen Sie vor einem Update den Container und sichern Sie das Verzeichnis config:
cd /opt/jellyfin
sudo docker compose stop jellyfin
sudo tar -czf /root/jellyfin-config-$(date +%F).tar.gz config
sudo docker compose start jellyfinÜbertragen Sie das Archiv an einen Speicherort außerhalb des VPS. Mediendateien werden separat gesichert.
Führen Sie für ein Update folgende Befehle aus:
sudo docker compose pull
sudo docker compose up -dVeröffentlichen Sie Port 8096 nicht direkt. Verwenden Sie HTTPS oder ein VPN, installieren Sie regelmäßig Updates und überwachen Sie den freien Speicherplatz.
Jellyfin auf einem VPS von tropic.host
Für eine kleine Mediathek, die überwiegend Direct Play nutzt, können Sie mit einem Linux-VPS mit 4 GB RAM beginnen. Für mehrere Benutzer, eine große Datenbank und zusätzliche Dienste sind 8 GB sinnvoller.
Bewerten Sie bei der Auswahl eines VPS von tropic.host Speicherkapazität, monatlichen Datenverkehr und den Bedarf an Transkodierung getrennt. Ein virtueller Server ist als ständig erreichbarer Zugangspunkt mit öffentlicher IP-Adresse und HTTPS praktisch, ersetzt jedoch keinen GPU-Server. Wenn mehrere 4K/HDR-Streams mit Formatumwandlung benötigt werden, eignen sich ein Heimserver mit Intel-iGPU, ein dedizierter Server oder ein spezieller Tarif mit Grafikkarte besser.
Beginnen Sie mit einer kleinen Sammlung, prüfen Sie im Jellyfin-Dashboard den Anteil der Direct-Play-Sitzungen und erhöhen Sie CPU, RAM oder Speicher erst anschließend entsprechend der tatsächlichen Auslastung.
Kurzes Fazit
Jellyfin verwandelt Ihre eigene Sammlung in einen persönlichen Streaming-Dienst ohne verpflichtendes Abonnement und ohne zentrales Benutzerkonto. Für eine erfolgreiche Einrichtung sollten Speicherbedarf, Datenverkehr und die Wahrscheinlichkeit einer Transkodierung im Voraus berechnet werden.
Für einen kleinen Server mit Direct Play reichen häufig 4–8 GB RAM. Regelmäßige 4K/HDR-Wiedergabe erfordert eine hardwarebeschleunigte Videoverarbeitung. Unabhängig von der Konfiguration sollte der externe Zugriff durch HTTPS oder ein VPN geschützt werden; Einstellungen und Mediathek sollten getrennt gesichert werden.
FAQ
Ist Jellyfin vollständig kostenlos?
Ja. Server und Clients sind ohne Premium-Tarif verfügbar. Kosten entstehen nur für Hardware, VPS, Laufwerke, Domain und Datenverkehr.
Enthält Jellyfin fertige Filme und Serien?
Nein. Benutzer fügen ihre eigenen Mediendateien hinzu.
Kann Jellyfin auf einem VPS ohne Grafikkarte betrieben werden?
Ja, wenn der Großteil der Dateien über Direct Play wiedergegeben wird. Für häufige 4K- und HDR-Transkodierung ist ein Server mit geeigneter iGPU oder Grafikkarte erforderlich.
Wie viel RAM benötigt Jellyfin?
Ein kleiner Linux-Server kann mit 4 GB RAM arbeiten. Für eine Familienmediathek und mehrere Benutzer sollten Sie eher 8 GB einplanen.
Wie kann Jellyfin sicher über das Internet genutzt werden?
Verwenden Sie eine Domain und HTTPS über einen Reverse Proxy oder ein VPN. Öffnen Sie Port 8096 nicht direkt und erstellen Sie separate Benutzerkonten mit minimalen Berechtigungen.
