Plex/Jellyfin mit Docker Compose: Media Server auf Linux betreiben

Media-Server wie Plex oder Jellyfin ermöglichen das Streamen von Filmen, Serien und Musik über das lokale Netzwerk oder das Internet. Docker Compose erleichtert das Setup, indem Container für den Media-Server, Datenbanken (falls erforderlich) und persistente Speicher orchestriert werden. In diesem Tutorial wird erklärt, wie ein stabiler, updatefähiger Plex- oder Jellyfin-Stack auf Linux eingerichtet wird.

Grundkomponenten eines Media-Server-Stacks

Ein typischer Media-Server-Stack besteht aus:

  • Plex oder Jellyfin: Container mit Webinterface und Streaming-Funktion
  • Optionale Datenbank: SQLite (Jellyfin) oder integrierte Datenbank (Plex)
  • Volumes: Persistente Speicherung für Medien, Metadaten und Konfigurationen
  • Netzwerke: Interne Kommunikation und Zugriff auf das lokale Netzwerk

Volumes für Persistenz

Volumes sind essenziell, um Medien, Datenbankdateien und Konfigurationen persistent zu speichern.

volumes:
  media_data:
  config_data:
  • media_data für Filme, Serien, Musik und andere Medien
  • config_data für Serverkonfiguration und Metadaten
  • Persistente Volumes bleiben erhalten, auch wenn Container neu gestartet oder aktualisiert werden

Netzwerke für interne Kommunikation

Separate Netzwerke ermöglichen sichere Kommunikation zwischen Container und Host, sowie Zugriff auf Clients im LAN.

networks:
  media_frontend:
  • Container kommunizieren über media_frontend mit dem Host und untereinander
  • Erleichtert Port-Mapping für Webinterface und Streaming

Beispiel: docker-compose.yml für Plex

version: '3.8'

services:
plex:
image: linuxserver/plex:latest
container_name: plex
environment:
PUID: 1000
PGID: 1000
TZ: Europe/Berlin
PLEX_CLAIM: 'your_plex_claim_token'
volumes:
- media_data:/media
- config_data:/config
ports:
- "32400:32400"
- "3005:3005"
- "8324:8324"
- "32469:32469"
networks:
- media_frontend
restart: unless-stopped

Beispiel: docker-compose.yml für Jellyfin

version: '3.8'

services:
jellyfin:
image: jellyfin/jellyfin:latest
container_name: jellyfin
environment:
PUID: 1000
PGID: 1000
TZ: Europe/Berlin
volumes:
- media_data:/media
- config_data:/config
ports:
- "8096:8096"
- "8920:8920"
networks:
- media_frontend
restart: unless-stopped

Erklärungen zur Compose-Datei

  • Volumes: Persistente Speicherung der Medien und Serverkonfigurationen
  • Ports: Mapping für Webinterface, Streaming und Remote-Zugriff
  • Environment: UID, GID und Zeitzone für konsistente Berechtigungen
  • Restart-Policy: Sicherstellung, dass Container automatisch neu starten
  • PLEX_CLAIM: Token für automatisches Registrieren bei Plex-Account

Start und Verwaltung des Media-Server-Stacks

Der gesamte Stack kann mit einem Befehl gestartet werden:

docker-compose up -d

Zum Stoppen und Entfernen aller Container, Netzwerke und Volumes:

docker-compose down -v

Best Practices

  • Persistente Volumes für Medien und Konfigurationen nutzen
  • Versionierte Images für einfache Rollbacks verwenden
  • Reverse Proxy optional für SSL und externe Zugriffe einsetzen
  • Regelmäßige Backups der Volumes erstellen
  • Monitoring und Logs aktivieren, um Serverstatus zu überwachen
  • Netzwerke trennen, um Sicherheit zu erhöhen
  • CI/CD oder automatische Updates nur bei Bedarf einsetzen

Praxisbeispiele

Plex starten

docker-compose up -d

Jellyfin starten

docker-compose up -d

Logs überwachen

docker-compose logs -f plex
docker-compose logs -f jellyfin

Rollback auf vorherige Image-Version

docker service update --image linuxserver/plex:1.30.1 plex
docker service update --image jellyfin/jellyfin:10.9.0 jellyfin

Updatefähigkeit

Durch versionierte Docker Images können Plex und Jellyfin unkompliziert aktualisiert werden, während Volumes und Medien unverändert bleiben. Backups vor Updates stellen sicher, dass Daten und Konfigurationen geschützt sind.

docker-compose pull
docker-compose up -d

Zusammenfassung

Mit Docker Compose lässt sich ein Plex- oder Jellyfin-Server schnell, sauber und updatefähig auf Linux betreiben. Persistente Volumes, korrekt gesetzte Netzwerke und Best Practices wie Monitoring, Backups und Reverse Proxy sorgen für einen sicheren und stabilen Betrieb. Versionierte Images erleichtern Updates und Rollbacks, wodurch der Media-Server langfristig wartbar bleibt.

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3

Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.

Meine Leistungen umfassen:

  • Professionelle Konfiguration von Routern und Switches

  • Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen

  • Erstellung von Topologien und Simulationen in Cisco Packet Tracer

  • Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG

  • Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible

  • Erstellung von Skripten für wiederkehrende Netzwerkaufgaben

  • Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege

  • Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Related Articles