Raspberry Pi Plex Server, Einrichtung mit Docker und Portainer

Plex bietet dir eine elegante Lösung, um deine Mediensammlung zu organisieren und über ein Heimnetzwerk oder sogar über das Internet zu streamen. In diesem Leitfaden zeige ich dir, wie du einen Raspberry Pi Plex Server mit Hilfe von Docker und Portainer einrichtest – zwei mächtige Werkzeuge, die die Bereitstellung und Verwaltung von Anwendungen vereinfachen. Die Kombination eines kostengünstigen Raspberry Pi mit der Flexibilität von Plex bildet eine ideale Plattform für dein persönliches Media Center. Egal, ob du bereits Erfahrung mit Docker hast oder neu in der Welt der Heim-Server bist, dieser Leitfaden wird dir helfen, deine eigene Streaming-Lösung einzurichten.”

Einführung in Plex auf dem Raspberry Pi

Plex ist eine Medienserver-Software, die es dir ermöglicht Filme, Serien, Videos, Musik und mehr und von verschiedenen Geräten aus von deinem Server aus zu streamen. Sie bietet auch Funktionen wie das Downloaden der Medien für die Offlineverwendung und die gemeinsame Nutzung von Medien mit anderen Nutzern, welche sich leicht verwalten lässt. Im Grunde läuft es, wenn fertig eingerichtet ist, wie deine private Streaming App a la Netflix, nur mit mehr Funktionen.

Voraussetzungen und vorherige Schritte

Dieses Tutorial baut auf ein anderen Blog-Beitrag auf, dem Docker/Portainer Tutorial.

Im vorherigen Beitrag haben wir einen Raspberry Server aufgesetzt und diesen mit Docker und Portainer eingerichtet, dort lassen sich nun ohne viel Aufwand verschiedene Dienste als Container/Stacks einrichten.

Im Grunde müssen wir für den Plex Server also nur ein Stack in Portainer einrichten und starten, danach kann Plex schon konfiguriert werden.

Raspberry Pi Plex Server via Docker und Portainer einrichten

Stack in Portainer für Plex erstellen

Um den Prozess zu starten, rufst du Portainer im Browser auf, wählst deine Umgebung (local) aus und klickst dann im Menü links auf ‘Stacks’, gefolgt von ‘Add Stack’ oben rechts.

Docker-Compose Konfiguration

Du benennst den Stack (der Name muss mit einem Kleinbuchstaben beginnen) und fügst die folgenden Zeilen in den Web-Editor ein:

version: “2.1”

services:

  plex:

    image: lscr.io/linuxserver/plex:latest

    container_name: plex

    network_mode: host

    environment:

      – PUID=1000

      – PGID=1000

      – TZ=Europe/Berlin

      – VERSION=docker

      – PLEX_CLAIM= #optional

    volumes:

      – ~/docker/plex:/config         # Speicherort der Persistenten Plex Config Dateien

      – /Pfad/zur/Festplatte/Filme:/Filme:ro        # Pfad zu euren Filmen/Serien/usw.

    restart: unless-stopped

Konfiguration der Speicherpfade im Plex Stack

Anpassung der Volume-Pfade

Unter “Volumes” musst du die Pfade anpassen und dabei auf die korrekte Formatierung und Struktur achten. Achte auf Leerzeichen und die allgemeine Formatierung, um Fehlermeldungen zu vermeiden.

Gib den Speicherort der Medien, die du einbinden möchtest, nach dem “-” an, zum Beispiel: “

- /pfad-zum-filmeordner/“,

gefolgt von einem “:”, und dem Einhängepunkt des Ordners im Plex Container, z.B. “

:/Filme“.

Das “:ro” am Ende signalisiert “Read Only”. Diese Einstellung verwende ich standardmäßig an allen Einhängepunkten meiner Medien, da Plex die Daten lediglich lesen soll.

Unter Volumes müsst ihr noch die Pfade anpassen, achtet dabei auf die Formatierung, die Struktur (Leerzeichen und Formatierung) muss eingehalten werden, sonst gibt es später eine Fehlermeldung.

Unter Volumes müsst ihr noch die Pfade anpassen, achtet dabei auf die Formatierung, die Struktur (Leerzeichen und Formatierung) muss eingehalten werden, sonst gibt es später eine Fehlermeldung.

Bei mir sieht es in dem Fall so aus.

Zugriff und Verwaltung des Plex Servers

Wenn du alles angepasst hast, klick unten auf „Deploy the Stack“ und Docker sollte den Rest automatisch im Hintergrund erledigen. Damit sollte der Plex Media Server auch schon laufen.

Der Server wird nun unter „http://ip-des-raspberrys:32400/manage“ erreicht.

Dort muss man sich Anmelden und noch einige Einstellungen vornehmen. (Ich habe mich mit meinem Google Account angemeldet du kannst aber auch eine andere Anmeldemethode wählen oder mit einer E-Mail registrieren, wie hier im Beispiel.)

Nach der Anmeldung kommen noch 2 kleine Infos, den Plex Pass kannst du oben Rechts auf dem X wegklicken.

Abschluss der Plex Server Konfiguration auf dem Raspberry Pi

Einrichten von Medienbibliotheken

Anschließend wirst du gefragt, wie dein Server heißen soll und welche Medienbibliotheken du anlegen möchtest.

Klicke zum Beispiel auf „Filme“, dann links auf „Ordner hinzufügen“ und anschließend auf „Nach Medienordnern Durchsuchen“. Du siehst nun das Root-Verzeichnis des Plex-Containers, in dem direkt die Volumenpfade angezeigt werden sollten, die du angegeben hast (in deinem Fall beispielsweise Filme und Serien).

Wähle den gesamten Filme-Ordner aus und drücke auf “Hinzufügen”. Hier kannst du mehrere Speicherorte eintragen, falls du beispielsweise mehrere Festplatten nutzt, abhängig davon, wie alles gemountet ist. Anschließend klicke auf „Mediathek Hinzufügen“.

Wenn du alles hinzugefügt hast klicke auf “Weiter” und dann auf “Fertig”.

Ihr werdet noch gefragt welche Medienquellen angeheftet werden sollen, ich wähle immer nur meine Eigenen Quellen aus.

Damit sollte euer Plex Server auch schon eingerichtet sein.

Einbinden und Verwalten externer Festplatten am Raspberry Pi

Falls du nicht weisst wie man eine externe Festplatten einbindet habe ich dir die Schritte hier zusammengesetllt:

Erkennung und Einbindung externer Festplatten

Nach dem Anschließen der externen Festplatte über USB gibst du in der Shell den Befehl lsblk ein.

Dieser Befehl listet alle vorhandenen Blockgeräte auf. Du solltest deine angeschlossene Festplatte dort sehen, zum Beispiel als /dev/sda, und die Partitionen werden als sda1, sda2 usw. aufgeführt.

Um eine Partition einzuhängen, verwendest du den mount-Befehl mit Root-Rechten.

Zum Beispiel: sudo mount /dev/sda1 /mnt.

Stelle sicher, dass das Zielverzeichnis existiert.

Falls nicht, kannst du es mit mkdir ~/Extern erstellen.

Anschließend kannst du die Festplatte in dieses Verzeichnis einhängen mit: sudo mount /dev/sda1 /home/'benutzer'/Extern.

Dadurch wird der gesamte Inhalt der Festplatte im Ordner “Extern” verfügbar.

Wenn du auf der Festplatte einen Ordner für Filme hast, ist der Pfad, den du in der Docker-Compose-Datei angibst, ~/extern/Filme.

Das Tilde-Symbol ~ steht für dein Home-Verzeichnis.

Du könntest auch den vollständigen Pfad angeben, also /home/'benutzer'/extern/Filme.

Permanente Einbindung mit der fstab-Datei

Die Einbindung der Festplatte ist nur temporär, bis ein Neustart durchgeführt wird. Um eine permanente Einrichtung zu gewährleisten, muss die fstab-Datei angepasst werden. Hierfür ist die UUID der Partition notwendig, die mit dem Befehl lsblk -f ermittelt werden kann.

Nachdem du die UUID kopiert hast, öffnest du als Root-Benutzer die fstab-Datei mit einem Texteditor, beispielsweise mit sudo nano /etc/fstab.

In dieser Datei fügst du einen neuen Eintrag hinzu, damit die Festplatte oder Partition bei jedem Systemstart automatisch eingebunden wird.

UUID='die-UID-der-Partition'            "einhängeort"           "Dateisystem"       auto,nofail,noatime          0       0

z.b.

UUID=F89992A007FF4R            /home/berry/Filme           ntfs    ro,auto,nofail,noatime          0       0

Die Datei wird mit STRG + X gespeichert und geschlossen, und das Speichern bestätigst du mit Y.

Um zu testen, ob alles funktioniert hat, gibst du einfach mount -a ein. Dieser Befehl versucht, alle in der fstab-Datei definierten Einträge zu mounten. Wenn alles korrekt eingerichtet wurde, sollte das System die Festplatte bei jedem Systemstart automatisch einbinden, vorausgesetzt, sie ist angeschlossen.

Die mobile Version verlassen