Zum Hauptinhalt springen
S-EDV news
← Alle Anleitungen
📘 Anleitung UGREEN NAS 04.11.2026 · 13 min Lesezeit

UGREEN NAS: Plex mit Docker einrichten, Rechte und Netzwerk richtig setzen

Teil 79 der UGREEN-Serie: Plex Media Server 1.43 im Docker-Container, mit eigenem Konto, Medien nur lesend, Claim-Code und Netzwerk-Einstellungen für den Bridge-Modus.

Geprüft am 04.11.2026 · für UGOS Pro 1.21.0.0190, Plex Media Server 1.43.5

Mit KI erstellt – redaktionelle Prüfung ausstehend

WerbelinksMit * markierte Links sind Werbelinks: Bei einem Kauf erhalten wir eine Provision, der Preis bleibt gleich. Als Amazon-Partner verdiene ich an qualifizierten Verkäufen. Mehr dazu

Titelbild Teil 79: Plex auf der UGREEN NAS einrichten

Plex verwandelt Ihre Film- und Videosammlung auf der UGREEN NAS in eine Mediathek mit Vorschaubildern, die Sie auf Fernseher, Handy und im Browser abspielen. Diese Anleitung zeigt die Einrichtung mit Docker Schritt für Schritt: mit eigenem Konto für den Container, Medien nur lesend, Anmeldung per Claim-Code und den Netzwerk-Einstellungen, ohne die Plex Ihr Heimnetz für einen Fernzugriff hält.

Getestet auf einer UGREEN DXP4800 Pro mit UGOS Pro 1.21.0.0190 und Docker 29.6.2, mit Plex Media Server 1.43.5 im Image lscr.io/linuxserver/plex und Plex Web 4.162.1.

Voraussetzungen

  • Eine UGREEN NAS mit der App Docker und fester IP-Adresse, siehe Teil 63 und feste IP einrichten
  • SSH-Zugang, siehe Teil 52
  • Ein Konto für Container wie dockeruser mit Leserecht auf Ihre Medienfreigabe, siehe Teil 65
  • Ein Konto bei plex.tv, laut Plex reicht ein kostenloses
  • Etwa 45 Minuten

Bridge-Modus oder Host-Netzwerk?

Die Herausgeber des Images linuxserver.io empfehlen für Plex laut Dokumentation das Host-Netzwerk. Der Container nutzt dann direkt die Netzwerkschnittstelle der NAS, Plex sieht die echten Adressen im Heimnetz, und die Suche nach Geräten per GDM und DLNA funktioniert ohne weitere Ports. Dafür gehört der Port 32400 dann fest dem Container, und Sie sehen in der Compose-Datei nicht, welche Ports offen sind.

Diese Anleitung nutzt den Bridge-Modus mit einem einzigen freigegebenen Port. Der Container hängt in einem eigenen Docker-Netz, und nur Port 32400 ist von außen erreichbar. Auf unserer Test-NAS lief bereits eine Plex im Host-Netzwerk auf Port 32400. Deshalb sehen Sie in den Bildern Port 32450, Sie verwenden 32400. Der Bridge-Modus braucht den Claim-Code aus Schritt 4 und zwei Netzwerk-Einstellungen, die Schritt 7 zeigt.

Schritt 1: Projektordner und Datenordner anlegen

Plex speichert Datenbank, Vorschaubilder und Einstellungen im Ordner config, die Zwischendateien beim Umwandeln von Videos im Ordner transcode. Legen Sie beide im Projektordner auf dem SSD-Volume an und stellen Sie sie auf Linux-Rechte um, wie in Teil 65 erklärt. Passen Sie volume2 und die ID 1001 von dockeruser an Ihre NAS an:

sudo -i
mkdir -p /volume2/docker/plex/config /volume2/docker/plex/transcode
cd /volume2/docker/plex
ugacltool del_all config
ugacltool del_all transcode
chown -R 1001:100 config transcode
chmod 750 config transcode
ugacltool getace config
It's Linux mode

Ohne diesen Schritt erben neue Ordner unter docker die Rechte-Einträge von UGOS, die nur der Gruppe admin Zugriff geben. Bei unserem Test lief Plex mit den IDs von dockeruser dann in eine Schleife aus Absturz und Neustart. Das Protokoll des Containers zeigte immer wieder:

boost::filesystem::create_directories: Permission denied [system:13]:
"/config/Library/Application Support/Plex Media Server/Cache"

Nach dem Umstellen auf Linux-Rechte startete Plex ohne Fehler. Legen Sie noch die Datei für den Claim-Code aus Schritt 4 an, zunächst leer, und verlassen Sie die root-Sitzung mit exit:

printf 'PLEX_CLAIM=\n' > plex.env
chmod 600 plex.env
exit

Verifizieren: ugacltool getace meldet für config und transcode „It's Linux mode“, und ls -ln zeigt 1001 und 100 als Besitzer und Gruppe.

Schritt 2: Die Medienfreigabe prüfen

Plex braucht auf Ihre Filme nur Leserecht. Geben Sie dockeruser in der App Dateien für die Medienfreigabe, bei uns Videothek, das Recht Nur-Lesen, wie in Teil 65 gezeigt. Prüfen Sie es per SSH:

sudo -u dockeruser ls /volume1/Videothek

Der Befehl muss Ihre Ordner und Filme auflisten. Endet er mit „Permission denied“, fehlt der Eintrag für dockeruser. In unserem Test lief Plex zuerst mit den IDs des Administratorkontos, das seine Rechte in UGOS nur über die Gruppe admin bekommt. Plex legte die Mediathek an, sie blieb aber leer, und im Serverprotokoll stand:

ERROR - Failed to create iterator to "/medien/Videos": Permission denied

Mit den IDs von dockeruser und dessen Leserecht fand derselbe Scan beide Testvideos.

Verifizieren: sudo -u dockeruser ls listet die Medienfreigabe ohne Fehler.

Schritt 3: Die Compose-Datei schreiben

cd /volume2/docker/plex
sudo nano compose.yaml
services:
  plex:
    image: lscr.io/linuxserver/plex:1.43.5
    container_name: plex
    hostname: UGREEN-Plex
    env_file: plex.env
    environment:
      - PUID=1001
      - PGID=100
      - TZ=Europe/Berlin
      - VERSION=docker
    ports:
      - 192.168.1.10:32400:32400/tcp
    devices:
      - /dev/dri:/dev/dri
    volumes:
      - ./config:/config
      - ./transcode:/transcode
      - /volume1/Videothek:/medien:ro
    restart: unless-stopped

Die wichtigsten Punkte:

  • image mit Versionsnummer: So bestimmen Sie selbst, wann Plex aktualisiert wird, siehe Teil 69.
  • VERSION=docker: Der Container lädt beim Start keine neuere Plex-Version nach. Die Version steckt im Image, so wie es zur Versionsnummer passt. Beim Neustart meldete der Container bei uns „Docker is used for versioning skip update check“.
  • PUID und PGID: die IDs von dockeruser. Plex läuft mit dessen Rechten, nicht als root.
  • hostname: Diesen Namen schlägt Plex später als Servernamen vor.
  • ports: Nur Port 32400 an der Adresse der NAS, ersetzen Sie 192.168.1.10 durch Ihre Adresse.
  • devices: gibt dem Container die Grafikeinheit für Hardware-Transcoding. Das Image von linuxserver.io nimmt das Konto beim Start selbst in die Gruppe von renderD128 auf, bei uns meldete das Protokoll „adding /dev/dri/renderD128 to group“. Details stehen in Teil 81.
  • /medien:ro: hängt die Videothek nur lesend unter dem kurzen Pfad /medien ein, ein zweiter Schutz zusätzlich zu den Rechten in UGOS.

Die Variable ADVERTISE_IP aus anderen Anleitungen gehört zum offiziellen Image plexinc/pms-docker. Im Image von linuxserver.io blieb sie in unserem Test ohne Wirkung, die Adresse tragen Sie in Schritt 7 in Plex ein.

Verifizieren: sudo docker compose config im Projektordner gibt die Datei ohne Fehlermeldung aus.

Schritt 4: Den Server mit dem Claim-Code verknüpfen

Im Bridge-Modus kommt Ihr Browser aus Sicht von Plex nicht aus dem eigenen Netz, denn der Container hat eine interne Docker-Adresse. Einen noch nicht verknüpften Server können Sie deshalb laut Dokumentation von linuxserver.io nicht einfach im Browser übernehmen. Der dokumentierte Weg ist ein Claim-Code. Laden Sie zuerst das Image, damit der Code beim Start noch gilt:

cd /volume2/docker/plex
sudo docker compose pull

Öffnen Sie dann https://plex.tv/claim, angemeldet mit Ihrem Plex-Konto. Die Seite zeigt einen Code, der mit claim- beginnt und laut plex.tv nur etwa vier Minuten gilt. Erscheint unter dem Text kein Code, laden Sie die Seite neu oder öffnen Sie sie in einem anderen Browser. Das war bei uns einmal nötig. Arbeiten Sie danach zügig:

sudo nano plex.env
sudo docker compose up -d

Tragen Sie den Code in nano direkt hinter PLEX_CLAIM= ein, speichern Sie mit Strg+O und der Eingabetaste und schließen Sie mit Strg+X. Der Code gehört nicht in die Compose-Datei, sondern nur in plex.env. Prüfen Sie nach etwa einer Minute, ob die Verknüpfung geklappt hat, ohne den gespeicherten Schlüssel anzuzeigen:

sudo grep -c PlexOnlineToken "config/Library/Application Support/Plex Media Server/Preferences.xml"
1

Ist der Code abgelaufen, steht dort 0. Holen Sie dann einen neuen Code, tragen Sie ihn in plex.env ein und erstellen Sie den Container mit sudo docker compose up -d --force-recreate neu. Ist der Server verknüpft, leeren Sie die Zeile in plex.env wieder auf PLEX_CLAIM=. Das wirkt beim nächsten Neuerstellen des Containers. Bei uns blieb der Server danach verknüpft, das Protokoll meldete „Server already claimed“.

Verifizieren: Die Prüfung mit grep gibt 1 aus, und sudo docker logs plex zeigt „Starting Plex Media Server“ ohne Permission denied.

Schritt 5: Den Einrichtungsassistenten durchlaufen

Öffnen Sie http://ADRESSE-DER-NAS:32400/web. Plex leitet Sie einmal zur Anmeldung auf app.plex.tv weiter und fragt, ob Plex Web auf Ihr Konto zugreifen darf. Nach der Bestätigung startet der Assistent mit einer kurzen Erklärung und danach dem Servernamen:

Plex-Einrichtungsassistent auf der UGREEN NAS mit Servername UGREEN-Plex und abgeschaltetem Fernzugriff
Servereinrichtung: 1 Servername aus dem hostname der Compose-Datei, 2 Haken für den Fernzugriff entfernt, 3 Weiter.

Entfernen Sie den Haken bei Erlaube mir Zugriff auf meine Medien von außerhalb meines Heimnetzwerkes. Sonst versucht Plex laut Hinweis, Ihr Netzwerk automatisch für den Zugriff von außen einzurichten, laut Plex über eine automatische Portfreigabe am Router. Für unterwegs ist ein VPN ins Heimnetz die sicherere Wahl.

Verifizieren: Der Assistent wechselt zum Schritt Mediathek.

Schritt 6: Eine Mediathek anlegen

Klicken Sie auf Mediathek Hinzufügen und wählen Sie den Typ:

Plex-Dialog Mediathek hinzufügen mit den Typen Filme, Serien, Musik, Fotos und Andere Videos
Mediathek hinzufügen: 1 Typen Filme, Serien, Musik und Fotos, 2 Andere Videos für eigene Aufnahmen.

Für Spielfilme nehmen Sie Filme. Plex holt dann Titelbilder und Beschreibungen aus dem Internet, wenn die Dateien nach dem Muster Titel (Jahr) benannt sind. Für eigene Aufnahmen ohne Eintrag in einer Filmdatenbank passt Andere Videos, das haben wir für unsere zwei Testvideos genutzt. Geben Sie einen Namen ein und klicken Sie auf Weiter. Unter Nach Medienordnern Durchsuchen wählen Sie den Pfad im Container, nicht den auf der NAS. In unserem Testaufbau lag darin ein Unterordner Videos, Sie wählen /medien oder Ihren Unterordner, etwa /medien/Filme:

Plex-Ordnerauswahl mit dem Containerpfad /medien/Videos
Ordner hinzufügen: 1 Pfad /medien/Videos, 2 der eingehängte Ordner medien, 3 Hinzufügen.

Im Container heißt Ihre Videothek /medien, so wie in der Compose-Datei festgelegt. Ordner wie config und transcode tauchen in der Auswahl ebenfalls auf, sie gehören nicht in eine Mediathek. Nach Mediathek Hinzufügen steht die Mediathek in der Liste:

Plex-Assistent mit der angelegten Mediathek Videos und ihrem Pfad
Schritt Mediathek im Assistenten: 1 die neue Mediathek mit Pfad, 2 Weiter zum Abschluss.

Klicken Sie auf Weiter und Fertig. Plex durchsucht den Ordner im Hintergrund. Bei unseren zwei Testdateien dauerte das wenige Sekunden.

Plex-Mediathek Videos auf dem Server UGREEN-Plex mit zwei Testvideos
Mediathek Videos auf UGREEN-Plex: 1 Reiter Mediathek, 2 die zwei Testvideos mit Vorschaubild.

Plex Web zeigt links alle Server, die mit Ihrem Konto verknüpft sind. Unter jeder Mediathek steht der Name des Servers, hier UGREEN-Plex. Bleibt eine Mediathek leer, öffnen Sie das Menü mit den drei Punkten neben ihrem Namen und wählen Mediathek-Dateien einlesen. Hilft das nicht, liegt es meist an den Rechten aus Schritt 2.

Verifizieren: Die Mediathek zeigt Ihre Videos, und sudo grep -i "permission denied" "/volume2/docker/plex/config/Library/Application Support/Plex Media Server/Logs/Plex Media Server.log" gibt nichts aus.

Schritt 7: Heimnetz und Adresse eintragen

Dieser Schritt ist im Bridge-Modus wichtig und wird oft vergessen. Plex hält laut Hinweis in den Einstellungen ohne eigene Angabe nur das Subnetz für lokal, in dem die Adresse des Servers liegt. Im Bridge-Modus ist das das interne Docker-Netz. Bei unserem Test lief die erste Wiedergabe im Browser deshalb als Fernzugriff, die Sitzung meldete location="wan". Für Fernzugriffe gelten in Plex eigene Grenzen für die Bandbreite.

Öffnen Sie über das Werkzeug-Symbol oben rechts die Einstellungen, wählen Sie links unter Ihrem Server Netzwerk und klicken Sie auf Erweiterte Optionen anzeigen:

Plex-Netzwerkeinstellungen mit LAN-Netzwerk und eigener URL der UGREEN NAS
Netzwerk: 1 LAN Netzwerke mit dem Heimnetz, 2 eigene URL mit Adresse der NAS und Port.

Tragen Sie bei LAN Netzwerke Ihr Heimnetz ein, zum Beispiel 192.168.1.0/24, mehrere Netze durch Komma ohne Leerzeichen getrennt. Danach lief dieselbe Wiedergabe bei uns als location="lan".

Tragen Sie außerdem bei Eigene URLs für den Zugriff auf diesen Server die Adresse der NAS mit Port ein, also http://192.168.1.10:32400, und speichern Sie. Vorher kannte plex.tv in unserem Test nur die interne Adresse des Containers mit Port 32400. Ein Fernseher oder Handy im Heimnetz kann diese Adresse nicht erreichen. Nach dem Speichern veröffentlichte Plex zusätzlich eine verschlüsselte Adresse auf plex.direct mit der IP der NAS und dem freigegebenen Port. Diese Adresse antwortete vom Mac mit gültigem Zertifikat. Die Apps nutzen diese Liste laut Plex, um den Server zu finden. Im Bild steht Port 32450 aus unserem Testaufbau, Sie tragen 32400 ein. Blockiert Ihr Router Adressen auf plex.direct mit einem Schutz gegen DNS-Rebinding, braucht er laut Plex eine Ausnahme für plex.direct.

Ob alles stimmt, zeigt das Dashboard unter Status, während ein Video läuft:

Plex-Dashboard mit lokaler Wiedergabe als Direct Stream und Bandbreitendiagramm
Dashboard: 1 Wiedergabe als Local mit Adresse im Heimnetz, 2 Direct Stream ohne Umwandlung, 3 Bandbreite erst Entfernt, nach der Einstellung Lokal.

Im Diagramm Bandbreite sehen Sie den Unterschied aus unserem Test: Die ersten Wiedergaben erscheinen blau als Entfernt, die nach dem Eintragen orange als Lokal. Direct Stream bedeutet, dass Plex das Video ohne Umwandlung an den Browser schickt.

Verifizieren: Das Dashboard zeigt bei einer Wiedergabe im Heimnetz Local und die Adresse des Geräts.

Schritt 8: Das Verzeichnis für den Transcoder setzen

Kann ein Gerät ein Video nicht direkt abspielen, wandelt Plex es während der Wiedergabe um und schreibt dabei laufend Zwischendateien. Diese sollen im Ordner transcode auf der SSD landen und nicht in der Datenbank unter config. Öffnen Sie in den Einstellungen Transcoder, klicken Sie auf Erweiterte Optionen anzeigen und tragen Sie bei Temporäres Verzeichnis für Transcoder den Pfad im Container ein:

Plex-Transcoder-Einstellung mit dem Verzeichnis /transcode
Transcoder: 1 Temporäres Verzeichnis für Transcoder mit /transcode.

Bei unserem Test war das Feld leer, wir haben /transcode eingetragen und gespeichert. Danach haben wir eine Umwandlung auf 640 mal 360 Bildpunkte erzwungen. Die Teilstücke des Videos lagen wie gewünscht auf der NAS unter transcode/Transcode/Sessions, bei uns rund 9 MB. Plex räumt den Ordner nach der Wiedergabe selbst auf. Ob die Grafikeinheit die Umwandlung übernimmt, hängt laut Plex von einem Plex Pass ab. Wie Sie das prüfen, zeigt Teil 81.

Verifizieren: Stellen Sie im Player die Qualität herunter, etwa auf 720p, wie in Teil 81 gezeigt. Während der Umwandlung zeigt sudo ls /volume2/docker/plex/transcode/Transcode/Sessions einen Ordner der laufenden Sitzung.

Sichern und aktualisieren

Alles, was Plex über Ihre Sammlung weiß, liegt im Ordner config: Datenbank, Vorschaubilder, gesehene Folgen und die Verknüpfung mit Ihrem Konto. In unserem Test belegte er mit zwei Videos schon 238 MB, bei großen Sammlungen werden daraus schnell mehrere Gigabyte. Sichern Sie den Ordner bei gestopptem Container, wie in Teil 61 beschrieben. Den Ordner transcode brauchen Sie nicht zu sichern. Für ein Update ändern Sie die Versionsnummer in der Compose-Datei und starten neu:

sudo docker compose pull
sudo docker compose up -d

Das Image war bei uns 411 MB groß, im Leerlauf belegte Plex rund 90 MiB Arbeitsspeicher.

Typische Fehler

  • Container startet immer wieder neu: Im Protokoll steht create_directories: Permission denied. Die Datenordner tragen noch die Rechte von UGOS. Schritt 1 wiederholen.
  • Mediathek bleibt leer: Im Serverprotokoll steht Failed to create iterator, Permission denied. dockeruser fehlt das Leserecht auf der Medienfreigabe.
  • Server erscheint nicht: Der Claim-Code war abgelaufen. Neuen Code holen und den Container neu erstellen.
  • Meldung, dass der Server keine unsicheren Verbindungen erlaubt: Bei uns erschien sie, während der Container wegen fehlender Rechte immer wieder neu startete. Erst das Protokoll prüfen.
  • Wiedergabe im Heimnetz zählt als Entfernt: LAN Netzwerke fehlt, siehe Schritt 7.
  • Fernseher findet den Server nicht: Laut Plex fehlt meist die eigene URL mit Adresse der NAS, siehe Schritt 7.

Häufige Fragen

Brauche ich einen Plex Pass?

Für Server, Mediatheken und die Wiedergabe im Heimnetz laut Plex nicht. Funktionen wie Hardware-Transcoding setzen laut Plex dagegen einen Plex Pass voraus. Welche Funktionen genau dazugehören, steht auf der Seite von Plex.

Kann ich Plex auch ohne Konto bei plex.tv nutzen?

Nein, nicht für die Einrichtung in dieser Anleitung. Server und Apps melden sich über plex.tv an, auch wenn die Videos im Heimnetz direkt von der NAS kommen. Wer ganz ohne Konto beim Hersteller auskommen will, findet mit Jellyfin eine Alternative, die laut Dokumentation ohne Anmeldung bei einem Dienst läuft. Sie folgt in Teil 80.

Wie komme ich von unterwegs an meine Filme?

Am sichersten über ein VPN ins Heimnetz, dann brauchen Sie keine Portfreigabe am Router. Hat das VPN einen eigenen Adressbereich, tragen Sie diesen zusätzlich bei LAN Netzwerke ein, etwa 192.168.1.0/24,10.6.0.0/24. Sonst zählt Plex die Wiedergabe über das VPN als Fernzugriff. Lassen Sie den Fernzugriff von Plex mit offenem Port ausgeschaltet.

Fazit

Plex läuft auf der UGREEN NAS zuverlässig im Container, wenn die Rechte stimmen: ein eigenes Konto mit Leserecht auf die Medien und Datenordner mit Linux-Rechten. Der Claim-Code verknüpft den Server mit Ihrem Konto. Im Bridge-Modus gehören das Heimnetz und die Adresse der NAS in die Netzwerk-Einstellungen, sonst behandelt Plex Ihre Geräte wie Fremde. Mit dem Transcoder-Verzeichnis auf der SSD ist der Server fertig für den Alltag.

Weiterführende Anleitungen und Quellen

UGREENUGREEN NASDockerPlexMediaserverUGOS Pro