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_datafür Filme, Serien, Musik und andere Medienconfig_datafü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_frontendmit 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.

