🎬 Das eigene Netflix mit Jellyfin
In dieser Anleitung baust du eine Mediathek für die ganze Familie: Jellyfin läuft als kleiner Container auf Proxmox, die Filme liegen auf einem Windows-Rechner (oder NAS) und werden nur lesend eingebunden. Am Ende schaut ihr auf jedem Fernseher, Handy und im Browser – ohne Abo und ohne Werbung.
Beispielwerte in dieser Anleitung – ersetze sie durch deine eigenen:
Windows-Rechner 192.168.178.10, Freigabe Video, Jellyfin-Container Nummer 110.
01Container anlegen
Am schnellsten geht es mit den Community-Skripten für Proxmox. In der Proxmox-Oberfläche links auf den Server (pve) klicken → Shell und eingeben:
Proxmox-Shellbash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/jellyfin.sh)"
Im Assistenten „Advanced“ wählen und vergeben: 2 CPU-Kerne, 3072 MB RAM, 16 GB Speicher, eine feste IP
(z. B. 192.168.178.20/24). Das Skript installiert Jellyfin gleich mit. Notiere dir die Container-Nummer (CT-ID).
http://192.168.178.20:8096 öffnen – der Jellyfin-Einrichtungsassistent erscheint.
Noch nicht durchklicken, erst kommen die Filme.02Windows-Freigabe vorbereiten
- Auf dem Windows-Rechner einen eigenen Benutzer nur für Jellyfin anlegen, z. B.
jfmediamit eigenem Passwort (Einstellungen → Konten → Andere Benutzer → Konto hinzufügen → „Ich kenne die Anmeldeinformationen nicht“ → „Benutzer ohne Microsoft-Konto“). - Rechtsklick auf den Filmordner → Eigenschaften → Freigabe → Erweiterte Freigabe → „Diesen Ordner freigeben“,
Name
Video→ Berechtigungen: „Jeder“ entfernen,jfmediahinzufügen, nur „Lesen“ anhaken. - Im Reiter Sicherheit ebenfalls
jfmediamit „Lesen, Ausführen“ eintragen.
03Freigabe auf dem Proxmox-Host einhängen
Ein normaler (unprivilegierter) Container darf selbst keine Windows-Freigaben einhängen. Deshalb hängt der Proxmox-Host sie ein und reicht sie danach durch. In der Proxmox-Shell:
Proxmox-Shellapt install -y cifs-utils mkdir -p /mnt/jellyfin-media # Zugangsdaten in eine Datei, die nur root lesen darf cat > /root/.smb-jellyfin <<'EOF' username=jfmedia password=DEIN-PASSWORT EOF chmod 600 /root/.smb-jellyfin
Dann den Eintrag in /etc/fstab ergänzen (alles in eine Zeile, z. B. mit nano /etc/fstab):
/etc/fstab – eine Zeile//192.168.178.10/Video /mnt/jellyfin-media cifs credentials=/root/.smb-jellyfin,ro,soft,vers=3.0,iocharset=utf8,file_mode=0444,dir_mode=0555,_netdev,x-systemd.automount 0 0
Proxmox-Shellsystemctl daemon-reload
mount /mnt/jellyfin-media
ls /mnt/jellyfin-media
ls zeigt deine Filmordner. Steht dort „Permission denied“ oder „host is down“:
Benutzer/Passwort in /root/.smb-jellyfin und die Freigabe-Rechte aus Schritt 2 prüfen.soft? Ohne diese Option friert alles ein, was auf die Freigabe zugreift, sobald der
Windows-Rechner aus ist – im schlimmsten Fall der ganze Container. Mit soft gibt es nur eine Fehlermeldung.04In den Container durchreichen
Proxmox-Shellpct set 110 -mp0 /mnt/jellyfin-media,mp=/media/video,ro=1
pct reboot 110
pct exec 110 -- ls /media/video zeigt dieselben Ordner wie auf dem Host.05Ordner richtig benennen
Jellyfin erkennt Titel, Cover und Beschreibung fast immer richtig, wenn die Ordner so aussehen:
OrdnerstrukturFilme/
Zurück in die Zukunft (1985)/
Zurück in die Zukunft (1985).mkv
Serien/
The Expanse/
Staffel 01/
The Expanse S01E01.mkv
Wichtig sind das Jahr in Klammern bei Filmen und SxxEyy bei Serien-Folgen.
06Jellyfin einrichten
http://192.168.178.20:8096öffnen, Sprache Deutsch, Admin-Konto mit starkem Passwort anlegen.- Medienbibliothek hinzufügen → Inhaltstyp „Filme“ → Ordner
/media/video/Filme→ Bevorzugte Sprache „Deutsch“, Land „Deutschland“. Dasselbe mit „Serien“ und/media/video/Serien. - Weiter bis zum Ende – Jellyfin liest jetzt alles ein. Bei großen Sammlungen kann das eine Stunde dauern.
- Dashboard → Benutzer → +: für jedes Familienmitglied ein eigenes Konto. Bei Kindern unter „Kindersicherung“ eine Altersfreigabe setzen.
07Schutz gegen leere Bibliotheken
Startet Jellyfin (z. B. nach einem Stromausfall), bevor die Freigabe da ist, sieht es leere Ordner – und räumt Sammlungen und „Weiterschauen“-Listen ab. Dagegen hilft ein kleines Warte-Skript im Container:
Shell im Container (pct enter 110)cat > /usr/local/bin/warte-auf-medien.sh <<'EOF'
#!/bin/bash
# Jellyfin erst starten, wenn die Filmfreigabe wirklich lesbar ist (max. 5 Minuten warten)
for i in $(seq 1 60); do
[ -n "$(ls -A /media/video/Filme 2>/dev/null)" ] && exit 0
sleep 5
done
echo "Medienfreigabe fehlt - Jellyfin startet trotzdem" >&2
EOF
chmod +x /usr/local/bin/warte-auf-medien.sh
mkdir -p /etc/systemd/system/jellyfin.service.d
cat > /etc/systemd/system/jellyfin.service.d/warten.conf <<'EOF'
[Service]
ExecStartPre=/usr/local/bin/warte-auf-medien.sh
TimeoutStartSec=400
EOF
systemctl daemon-reload
08Apps & Zugriff von unterwegs
- Fire TV / Android TV / Handy: App „Jellyfin“ aus dem App-Store, Server
http://192.168.178.20:8096, mit dem eigenen Konto anmelden. - Unterwegs – am sichersten: per VPN (z. B. NetBird oder WireGuard, siehe Schutzschild). Dann gilt dieselbe Adresse wie zu Hause.
- Unterwegs – ohne VPN: nur über HTTPS mit eigener Domain und Reverse-Proxy, z. B. Caddy:
Caddyfilejelly.deine-domain.de {
reverse_proxy 192.168.178.20:8096
}
"jörg " statt "jörg".