Jellyfin - überall, wo du willst

Wenn ich auf Reisen bin, will ich nicht darüber nachdenken, wo meine Filme, Serien oder meine Musik liegen. Ich will einfach die App öffnen, auf Play drücken und dann soll es laufen. Genau deshalb habe ich mir in den letzten Monaten ein Jellyfin-Setup gebaut, das nicht auf wackelige Portfreigaben setzt, sondern auf WireGuard über die FRITZ!Box. Das Beste daran: Es fühlt sich unterwegs so an, als wäre ich einfach daheim im WLAN – inklusive Zugriff über den Amazon Fire TV Stick im Hotel oder bei Freunden.

In diesem Beitrag möchte ich dir zeigen, wie ich Jellyfin und die mobilen Geräte für diesen Zweck eingerichtet habe.

Mein Ausgangspunkt: Raspberry Pi, Docker, Jellyfin, WireGuard

Bei mir läuft Jellyfin auf einem Raspberry Pi 5 (8 GB), als Docker-Container und verwaltet in Portainer. Die Medien liegen sauber getrennt auf der NVMe-Struktur, teilweise ergänzt durch externe Laufwerke. Wichtig war mir dabei von Anfang an, dass es keine offene Angriffsfläche Richtung Internet gibt und keine Bastellösung, die nur funktioniert, solange ich im Heimnetz bin..

Jellyfin selbst ist bei mir lokal unter einer bekannten Adresse erreichbar. Genau diese lokale Serveradresse nutze ich später auch unterwegs, sobald WireGuard aktiv ist. Das ist einer der größten Komfortvorteile: Ich brauche in der App nicht zwischen externen URLs und internen Hosts zu wechseln – ein Server-Eintrag reicht in der Praxis aus.

Was ist WireGuard?

WireGuard ist ein modernes VPN-Protokoll, das einen sicheren Tunnel zwischen deinem mobilen Gerät und deinem Heimnetzwerk (z. B. über eine FRITZ!Box) aufbaut. Sobald der Tunnel aktiv ist, ist dein Gerät virtuell Teil des Heimnetzes, ohne dass Ports im Router geöffnet werden müssen. Dienste wie Jellyfin erkennen den Zugriff daraufhin als normalen, lokalen Verkehr, was Sicherheitsrisiken minimiert und die Konfiguration vereinfacht.

Jellyfin-Server mit IPv6 ansteuern

Um in jedem fremden Netzwerk zuverlässig auf deinen Jellyfin-Server zuzugreifen, empfehle ich die Aktivierung von IPv6. Mit IPv4 ist dies theoretisch ebenfalls möglich – in der Praxis tritt jedoch ein häufiges Problem auf: Wenn sowohl dein Heimnetz als auch das fremde Netzwerk (z. B. ein Hotel-WLAN mit FritzBox) denselben privaten IPv4-Adressbereich (z. B. 192.168.178.0/24) nutzen, entsteht ein Subnetz-Konflikt. Dein Gerät erkennt die Ziel-IP (unseren Jellyfin-Server) als „lokal“ und sendet den Traffic über das lokale Interface – nicht über den WireGuard-Tunnel zu unserem Heimnetz. Das führt dazu, dass der Server nicht erreichbar ist, obwohl die VPN-Verbindung aktiv ist. Mit IPv6 tritt dieses Problem nicht auf, da jede Adresse weltweit eindeutig ist und keine Kollisionen mit lokalen Netzwerken möglich sind. So wird der Traffic immer korrekt über den Tunnel geleitet.

Zunächst müssen wir im Admin-Dashboard von Jellyfin einige Einstellungen vornehmen, damit wir auf Jellyfin von einem externen Netzwerk sauber zugreifen können.

Rufe dazu zunächst deine Jellyfin-Webseite auf. Wenn du angemeldet bist, gehst du oben rechts auf dein Profil und gehst unter dem Menüpunkt "Administration" auf "Übersicht". Hier im Admin-Dashboard gehst du links auf den Tab "Netzwerk". In den Server-Adresseinstellungen siehst du unter der lokalen HTTP-Portnummer die Nummer, mit der du Jellyfin in deinem Netzwerk ansteuerst – die brauchen wir noch.

Nun gehst du unten auf "IP-Protokolle" und aktivierst IPv6.

Damit IPv6 funktioniert, muss dein Internet-Provider IPv6 unterstützen und du musst IPv6 in den Router-Einstellungen aktiviert haben! Auf der FRITZ!Box geht dies über: Internet > Zugangsdaten > IPv6 > Checkbox bei ‚IPv6-Unterstützung aktiv‘ aktivieren. Den Radiobutton unter ‚IPv6-Anbindung‘ kannst du auf ‚Native IPv4-Anbindung verwenden‘ belassen.

WireGuard auf der Fritzbox einrichten

Die Einrichtung auf der Fritzbox ging erstaunlich schnell. Der wichtigste Punkt ist organisatorisch, nicht technisch: Lege für jedes Endgerät eine eigene Verbindung an. Nutze also nicht eine einzige Konfiguration für alle Geräte, sondern richte pro Smartphone, Tablet und Fire TV Stick jeweils einen eigenen Tunnel ein. Das macht die Verwaltung später viel sauberer und du kannst einzelne Geräte bei Bedarf gezielt entfernen.

Wie du WireGuard auf der FritzBox und auf dem Smartphone einrichten kannst, siehst du in diesem anschaulichen Video:

Sobald die Fritzbox die Verbindung erstellt hat, bekommst du je nach Gerät QR-Code oder Konfigurationsdatei. Auf dem Smartphone ist der QR-Code der bequemste Weg. Beim Fire TV Stick ist die Datei-Variante deutlich praktischer, weil das Scannen dort schlicht kaum möglich ist. Kleiner Tipp aus der Praxis: Benenne die Profile direkt eindeutig, sonst weißt du nach ein paar Wochen nicht mehr, welches Profil zu welchem Gerät gehört.

WireGuard auf dem Amazon Fire TV Stick einrichten

Schon von Anfang an wollte ich auch von unterwegs mit meinem Amazon Fire TV Stick (AFTV) meine Jellyfin-Inhalte streamen. Da ich mein Jellyfin aber nicht öffentlich gestellt habe, musste ich WireGuard auf dem AFTV zum Laufen bringen. Ich zeige dir, wie du WireGuard auf dem AFTV installierst und zum Laufen bekommst.

Für eine Video-Anleitung kann ich dieses YouTube-Video empfehlen:

Entwickleroptionen aktivieren

Da WireGuard nicht offiziell im Amazon App Store gelistet ist, muss die Anwendung per Sideloading installiert werden. Dafür navigierst du in den Einstellungen des Fire TV Sticks unter „Mein Fire TV“ zum Punkt „Info“ und klickst siebenmal schnell auf den Gerätenamen. Dadurch erscheinen die Entwickleroptionen, in denen du das ADB-Debugging sowie die Installation von Apps unbekannter Herkunft zulassen musst.

Downloader installieren

Im nächsten Schritt suchst du über die reguläre Suchfunktion des Fire TV Sticks bzw. im App-Store nach der App „Downloader“. Nach der Installation öffnest du diese Anwendung, die es dir ermöglicht, APK-Dateien direkt aus dem Internet auf den Stick zu laden.

WireGuard APK laden

In der Adresszeile der Downloader-App gibst du nun den folgenden Shortcode ein, der dir direkt zur neusten WireGuard APK führt:

2764794

Dieser Shortcode ist eine Abkürzung, die dir es erspart, mühsam diese Adresse hier eingeben zu müssen und dann noch den Download-Link für die APK Datei zu betätigen: https://download.wireguard.com/android-client/
Mit der Benutzung des Shortlinks musst du allerdings auch Cookies und Tracking akzeptieren. Wenn du dies nicht möchtest, gib den vollständigen Link ein. Du kannst bei der Eingabe auch den QR-Code mit deinem Smartphone scannen und dann über das Smartphone den Link eintippen.

Der Download startet daraufhin automatisch und öffnet ein Installationsfenster. Hier musst du lediglich auf „Installieren“ klicken, um WireGuard auf deinem AFTV einzurichten.

Danach wirst du gefragt, ob du die App gleich starten möchtest. Tu das erst einmal noch nicht, sondern klicke nur auf "Fertig".

Konfigurationsdatei übertragen

Vorbereitend für den Start der WireGuard-App solltest du die erstellte Konfigurationsdatei für WireGuard auf den AFTV bringen. Ich empfehle dir, die Konfigurationsdatei umzubenennen, da der Dateiname ohne Dateiendung letztlich so auch in WireGuard als Name des Tunnels angezeigt wird. Statt 'wg_config.conf' kannst du sie also eher nennen 'home.conf'.

Die Konfigurationsdatei schiebst du am einfachsten mit einer Smartphone-App wie „Send Files to TV“ oder über das PC-Tool adbLink per Kommandozeile auf den Fire TV Stick.

Ich bin den Weg über die Smartphone-App gegangen. "Send Files to TV" findest du im normalen App-Store des AFTV. Die Konfigurationsdatei für WireGuard habe ich vorher auf mein Smartphone gebracht. Wie du die App benutzt, wird in diesem Video gut gezeigt:

Wenn du sehen willst, ob das geklappt hat, brauchst du leider wieder eine App wie "File Explorer", die du ebenfalls über den offiziellen AFTV App-Store herunterladen kannst. Die Konfigurationsdatei sollte auf jeden Fall auf der obersten Ebene liegen, also nicht in irgendeinem Ordner.

Konfigurationsdatei (noch nicht umbenannt) im File-Explorer.

WireGuard starten

Nun öffnest du die WireGuard-App auf dem AFTV. Sofern die App nicht im Vordergrund ist, findest du sie unter "Meine Apps". Sobald du die App gestartet hast, klicke unten rechts auf das Plus, um die Konfigurationsdatei zu laden. Nun wirst du darum gebeten, der App Zugriff auf deine Dateien zu geben. Dies musst du erlauben!

WireGuard Erlaubnis für Zugriff auf Dateien

Jetzt müsste sich die Datei-Übersicht öffnen, wo die Konfigurationsdatei im Stammverzeichnis liegen müsste. Liegt sie in einem Ordner, habe ich bemerkt, dass sie WireGuard nicht sehen kann. Du musst also nun die Konfigurationsdatei öffnen. Idealerweise hast du sie vor dem Transfer auf den AFTV korrekt umbenannt.

Auswahl der Konfigurationsdatei für WireGuard

WireGuard Verbindung aktivieren

Nun hast du die Verbindung zu deinem Heimnetzwerk hinzugefügt. Jetzt kannst du die Verbindung bei Bedarf aktivieren, indem du auf die Kachel klickst. In meinem Screenshot siehst du zwei Kacheln, wobei es sich um dieselbe Verbindung handelt. Der Unterschied ist, dass ich bei der ersten die Konfigurationsdatei bereits in "home.conf" umbenannt habe.

WireGuard Verbindung herstellen

Jellyfin App auf dem AFTV und Smartphone für den mobilen Einsatz optimieren

Nun haben wir den Teil mit WireGuard abgehakt✅
Kommen wir nun zur Jellyfin-App selbst, wo es für den mobilen Einsatz auch noch ein paar Dinge beachten könnt.

Server-Adresse auf IPv6 umstellen

Als erstes empfehle ich dir, statt der normalen IPv4-Adresse die IPv6-Adresse zu Jellyfin einzutragen. Hierfür musst du die IPv6-Unterstützung vorher in deinem Router und in den Admin-Einstellungen von Jellyfin aktiviert haben. Da ich mit "Unique Local Addresses (ULA)" arbeite, müssen wir in den FRITZ!Box-Einstellung die automatische Zuweisung dieser Adressen für jedes Gerät noch aktivieren.

ULA aktivieren

In den FRITZ!Box-Einstellungen gehst du auf Heimnetz > Netzwerk > Tab "Netzwerkeinstellungen" > "Erweiterte Netzwerkeinstellungen ändern" > Tab "IPv6" > Checkboxen bei "Unique Local Adresses (ULAs) immer zuweisen" aktivieren > Übernehmen.

IPv6-Adresse des Servers herausfinden

Nun wollen wir die IPv6-Adresse des Gerätes herausfinden, wo du Jellyfin hostest.

Über den Raspberry Pi (Terminal)
  1. Per SSH auf den Pi verbinden.
  2. hostname -I ausführen und in der Ausgabe die IPv6-Adresse identifizieren.
  3. Alternativ ip -6 addr show nutzen und unter eth0 (oder dem genutzten Interface) die Zeilen mit inet6 prüfen.
  4. Hier nimmst du die Adresse, die mit fd beginnt.
Über die Fritz!Box (Weboberfläche)
  • Im Browser http://fritz.box aufrufen und anmelden.
  • Zu „Heimnetz“ → „Netzwerk“ wechseln.
  • In der Geräteliste das Gerät auswählen, wo Jellyfin drauf läuft
  • Auf das Stift-Symbol klicken und unter dem Tab "Heimnetz" die angezeigte IPv6-ULA-Adresse ablesen/kopieren.

IPv6-Adresse als Server-URL in der Jellyfin-App eintragen

Nun haben wir die IPv6-Adresse des Gerätes. Öffne nun die Jellyfin-App und wähle den Server aus. In der Adresszeile gibst du dann die URL ein, also IPv6-Adresse zu deinem Gerät + Port zu deinem Jellyfin-Server. Das kann so aussehen:

http://[fd8f:9b ... b92c]:8096
Server-Adresse mit IPv6 eingeben

Dann klickst du auf Verbinden und du müsstest deine Jellyfin-Inhalte sehen.

Streaming-Bitrate anpassen bei Ladeverzögerungen

Außerhalb meines Heimnetzes sieht das bei mir so aus: WireGuard einschalten, kurz auf den Handshake achten, Jellyfin öffnen, streamen. Bei solider Mobilfunkverbindung ist das absolut brauchbar, vor allem wenn du keine brutalen 4K-Bitrate-Monster abspielst. Für Serien, Musik und die meisten Filme läuft das bei mir stabil. Interessant ist, wie sehr sich die Qualität von Hotel-WLANs unterscheidet – das ist oft der größere Unsicherheitsfaktor als Jellyfin selbst.

Ich habe mir angewöhnt, für unterwegs eher transcode-freundliche Formate (für meinen Raspberry also zB mp4) oder moderate Bitraten zu nutzen. Das reduziert Ruckler massiv, gerade wenn das Zielgerät oder die Netzwerkqualität schwanken. Ich zeige dir, wie man die Bitrate in der Jellyfin-App auf dem AFTV anpassen kann.

  1. Gehe zum Homescreen der Jellyfin-App.
  2. Gehe oben rechts auf das Einstellungszahnrad und öffne so die Einstellungen.
  3. Gehe auf den Reiter "Wiedergabe".
  4. Gehe ganz nach unten zu den erweiterten Wiedergabeeinstellungen und klicke hierauf.
  5. Nun gehst du auf "Max. Streaming-Bitrate" unter Video. Wähle dort bei Rucklern eine niedrigere Bitrate wie 20 Mbit/s oder geringer aus.

Bildwiederholrate anpassen bei Rucklern

Solltest du bei den Videos Ruckler alle paar Sekunden bemerken, liegt das meist an der Bildwiederholrate, die auf dem Abspielgerät nicht mit der des Videos übereinstimmt. Um das anzupassen gehst du wie gerade beschrieben in die erweiterten Wiedergabeeinstellungen. Unter "Video" findest du dann die Einstellung "Umschaltung der Bildwiederholfrequenz". Dort wählst du am besten "Skalierung durch TV" aus. Dann dürfte es wieder flüssig laufen.

Gegebenenfalls musst du in den AFTV-Einstellungen unter "Töne und Bildschirm" auf "Bildschirm" gehen und dort "AN" bei "An Originalbildrate anpassen" aktivieren.

Abschluss

Der größte Gewinn war für mich, die Dinge bewusst einfach zu halten: ein klarer Medienordner-Aufbau, ein stabiler Jellyfin-Server im Heimnetz und der Zugriff von außen ausschließlich über WireGuard. Diese Kombination hat mir unzählige "Warum geht es heute nicht?"-Momente erspart. Gerade wenn man das System nicht nur als Hobby, sondern wirklich im Alltag nutzt, zählt am Ende weniger die maximale Featureliste und mehr die Verlässlichkeit beim ganz normalen Abend auf dem Sofa.

Unterm Strich hat sich das Projekt für mich komplett gelohnt. Ich habe die Kontrolle über meine Medien, keine Abo-Überraschungen und dennoch den Komfort, auch unterwegs entspannt zu streamen. Genau so sollte ein Heimserver-Projekt sein: zuverlässig, sicher und ohne täglichen Administrationsstress.

Dieser Artikel wurde zuletzt aktualisiert am