Plex Media Server in Docker - läuft, aber nur über IP/DNS erreichbar

Status
Für weitere Antworten geschlossen.

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.137
Punkte für Reaktionen
898
Punkte
424
ok, Stier. Welche DSM Version hattest du drauf?

Vielleicht doch mal ein Ticket bei Synology aufmachen.

Ich bin vorerst mal raus, bis mir was besseres einfällt. Hab selber noch kaum was mit Docker gemacht, obwohl sich das für alle 3rd-party Pakete anbietet, für die dann auch das Backup sehr einfach ausfällt.
 

silofonari

Benutzer
Mitglied seit
14. Nov 2014
Beiträge
81
Punkte für Reaktionen
0
Punkte
6
Die (vorübergehende) Lösung des Problems

So, das hat eine Weile gedauert, aber inzwischen läuft es zumindest - auch wenn es sich eher wie ein Workaround anfühlt, als eine Lösung. Falls jemand mal vor dem selben Problem stehen sollte, will ich hier kurz (oder nicht so kurz) erklären, wie es jetzt geklappt hat.


Nach vielen Nachrichten hin und her mit dem Synology Support hat sich das Problem, dass der Befehl "docker" von der Kommandozeile nicht gefunden wurde, dann ganz plötzlich in Luft aufgelöst, nachdem ich von DSM 6 Beta 1 auf DSM 6 Beta 2 geupgraded habe; seit dem kann ich docker ganz regulär in der Kommandozeile bedienen.
An dieser Stelle muss ich Synology mal kurz ein großes Lob aussprechen: wenn ich in der Kommandozeile neue container erstelle, starte, stoppe oder was auch immer, dann werden diese ebenfalls im DSM, also in der Docker GUI angezeigt - das ermöglicht zumindest ein halbwegs sinnvolles Zusammenspiel, was mir sehr wichtig war und ist! :)

Mein nächster Schritt war dann sofort, einen neuen Plex-Container via Kommandozeile inkl. der Option "--net=host" zu erstellen und zu starten - und ich kann an dieser Stelle schon mal verraten, dass diese (bisher fehlende) Option tatsächlich der Grund dafür war, warum mein Plex Media Server bisher nicht über plex.tv sondern nur via IP im LAN erreichbar war.

Einen Hinweis noch, der zwar nichts mit dem konkreten Problem zu tun hat, im Laufe des Lösungsprozesses nach dem Upgrade auf DSM 6 Beta 2 relevant wurde: ich zitiere hier jetzt einfach mal die E-Mail des englischen Synology Supports
To enhance system security, root access to the DiskStation has be restricted since DSM 6.0 Beta 2:

For SSH

Root: Login with public key is allowed.
Users in Admin Group: Login with password or public key is allowed

For Telnet

Root: Login not allowed
Users in Admin Group: Login with password is allowed

To gain root access, you may log in the command line interface with any user accounts in the administrators group, and then run sudo -i in DSM 6.0 Beta 2. =

Example:

$ ssh a@192.168.0.1 (User "a" belongs to the admin group)

a@192.168.0.1's password: (Enter the password of "a")

a@DiskStation:~$ sudo -i

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.

Password: (Enter the password of "a")

Heißt kurz gesagt: man kann nicht mehr auf die DS via SSH als root zugreifen bzw. nur noch deutlich komplizierter als früher. Statt dessen loggt man sich einfach als admin oder Benutzer mit Admin-Privilegien via SSH ein und verschafft sich dann via "sudo" root-Eigenschaften. Und Docker muss als root ausgeführt werden, ansonsten bekommt man die Rückmeldung, dass der Docker-Daemon nicht gefunden werden konnte. ;)


Also weiter im Text. Die von mir konkret verwendete Eingabe in die Kommandozeile lautete wie folgt:
Rich (BBCode):
docker run --name=plex --net=host -p 32400:32400 -e PUID=1024 -e PGID=101 -e VERSION=latest -v /volume2/videos:/data:ro -v /volume2/plex-server:/config -v /etc/localtime:/etc/localtime:ro linuxserver/plex

Der Docker-Teil davon klappt auch ganz gut, aber der Container selbst beschwert sich kurz nach dem Startup darüber, dass er keine Zugriffsberechtigungen hätte, um verschiedene Ordner (u.a. /config) zu erstellen. [Btw: das lag auch nicht daran, dass ich versucht habe, für den neuen Container die selben Verzeichnisse wie für den alten Container zu verwenden - keine Sorge, ich habe schon ein extra Verzeichnis für den neuen Container erstellt und hier in der "Musterlösung" nur zu Einheitlichkeitszwecken die Pfade manuell angepasst]
Rich (BBCode):
Starting Plex Media Server.
mkdir: cannot create directory ‘/config’: Permission denied
WARNING COULDN'T CREATE /config/Library/Application Support, MAKE SURE I HAVE PERMISSON TO DO THAT!
Ich habe lange mit verschiedenen Berechtigungen herumexperimentiert aber es hat alles nichts geholfen. Sehr merkwürdig war an dieser Stelle dann auch, dass der über die Kommandozeile erstellte Docker-Container die Optionen PUID und PGID komplett ignorierte, was man einerseits in der DSM Docker GUI sehen konnte, aber auch schon allein im Protokoll des Containers:
Rich (BBCode):
GID/UID
-------------------------------------
User uid: 911
User gid: 911
-------------------------------------

Und jetzt kommt der Teil der Lösung, der das ganze eher zu einem Workaround statt zu einer echten, schönen Lösung macht. Ich hatte ja über die GUI schon einen Plex-Container erstellt, der auch einwandfrei lief, bis auf die Erreichbarkeitsprobleme über plex.tv, die mich diesen Thread haben erstellen lassen. Und dieser ist ja, dank dem oben von mir gelobten Zusammenspiel zwischen GUI und Kommandozeile auch über letztere ansprechbar. Also könnte die Lösung doch eigentlich gar nicht einfacher sein, als den bereits funktionierenden Container zu nehmen, diesem die fehlende Option "--net=host" hinzuzufügen und die bereits bekannten Optionen zu übernehmen. Und das geht ziemlich einfach. Nehmen wir an, euer bisheriger, funktionierender aber mangelhaft erreichbarer Plex-Container heißt "plex-alt". Dann gebt ihr - als root - folgende Befehle nacheinander ein (übernommen von http://stackoverflow.com/a/26622041):
Rich (BBCode):
docker stop plex-alt

docker commit plex-alt plex-neu

docker run --net=host -p 32400:32400 -e PUID=1024 -e PGID=101 -v /volume2/videos:/data:ro -v /volume2/plex-server:/config -v /etc/localtime:/etc/localtime:ro -td plex-neu

Et voilà: everything works. Wie aus Zauberhand ist Plex nun wie gewünscht auch über plex.tv/web/app erreichbar.

Ich hoffe, ich konnte damit ein bisschen Licht ins Dunkel bringen. Wenn ihr noch andere Vorschläge oder Fragen habt, dürft ihr euch sehr gerne melden!
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.137
Punkte für Reaktionen
898
Punkte
424
Danke für die Rückmeldung.

Die Befindlichkeiten mit SSH und root unter DSM6 finden sich ja schon im Forum und sind auch in den offiziellen Hilfe-Texten von Synology niedergeschrieben.
https://www.synology.com/de-de/know...in_to_DSM_with_root_permission_via_SSH_Telnet

Das mit uid/gid bleibt allerdings merkwürdig.

Man könnte jetzt aus dem laufenden Container ein neues Image generieren und dies wieder ins Docker repository hochladen.
Oder man kontaktiert mal die Maintainer des aktuellen Image und linkt auf den Thread hier, vielleicht kann das direkt ausgemerzt werden (in der Version müßte ja nur net=host wählbar gemacht werden).
 

silofonari

Benutzer
Mitglied seit
14. Nov 2014
Beiträge
81
Punkte für Reaktionen
0
Punkte
6
Das mit uid/gid bleibt allerdings merkwürdig.

Man könnte jetzt aus dem laufenden Container ein neues Image generieren und dies wieder ins Docker repository hochladen.
Oder man kontaktiert mal die Maintainer des aktuellen Image und linkt auf den Thread hier, vielleicht kann das direkt ausgemerzt werden (in der Version müßte ja nur net=host wählbar gemacht werden).

Wegen was genau die Maintainer (und welche?) kontaktieren meinst du jetzt? Hinsichtlich der Option net=host müsste man ja vermutlich Synology ansprechen, damit die das in der GUI implementieren, oder? Ich hatte das beiläufig in meiner Support-Anfrage damals schon angesprochen, bin mir aber nicht sicher, wie schnell oder wie aktiv sowas realisiert wird.

Wegen den Berechtigungsproblemen des Plex-Containers habe ich vorhin eine Antwort im entsprechenden Thread des Docker-Image-Providers, linuxserver.io, abgesetzt: https://forum.linuxserver.io/index.php?threads/support-linuxserver-io-plex-media-server.443/. Die könnt ihr als Dritte in dieser Minute noch nicht sehen, weil der Beitrag noch den Status "awaiting moderation" hat, aber später sollte das möglich sein. Steht aber im Prinzip nichts drin, was ihr aus meinem letzten Beitrag nicht auch schon mitbekommen habt.
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.137
Punkte für Reaktionen
898
Punkte
424
Ja, vielleicht war ich da zu schnell mit meinen Fingern ...
Zu der Zeit ging ja bei dir Docker command noch nicht.
Man kann ja auf zwei Wege aus dem Image einen laufenden Container machen. Assisstent oder Docker Run Command in der GUI. Falls die natürlich identisch sind vom unterstützten Umfang, dann ja, da kann nur Synology nachhelfen. Weil auf der Kommandozeile ging es ja. Müßte man allerdings testen, ob man den Befehl so auch in der GUI verwenden kann als Docker Run Command, oder ob das Fehler wirft.
Falls du Zeit hast wäre super, andernfalls versuche ich es mal im Hinterkopf zu behalten.

Ansonsten ist wohl alles angestoßen, was gerade möglich ist.
Hoffen wir, dass der nächste Versuch dann besser klappt und der Rest hier die nötige Hilfe findet.
Nochmals danke für deinen ganzen Input.

Edit: Nachfrage.
Etwas off-topic. Die Metadaten, Datenbank etc. die Plex anlegt, befindet sich die im Container? Oder anders gefragt, ist außer den Media Files selbst noch etwas außerhalb des Containers?
 

silofonari

Benutzer
Mitglied seit
14. Nov 2014
Beiträge
81
Punkte für Reaktionen
0
Punkte
6
Müßte man allerdings testen, ob man den Befehl so auch in der GUI verwenden kann als Docker Run Command, oder ob das Fehler wirft.
Falls du Zeit hast wäre super, andernfalls versuche ich es mal im Hinterkopf zu behalten.
Also die Option --net=host wird von Docker Run in der GUI nicht unterstützt, das hatte ich schon vor längerem getestet.

Etwas off-topic. Die Metadaten, Datenbank etc. die Plex anlegt, befindet sich die im Container? Oder anders gefragt, ist außer den Media Files selbst noch etwas außerhalb des Containers?
Kommt darauf an, was bei dir zu Media-Files zählt. Die Videos/Musik etc. wird natürlich extern abgelegt. Aber auch die Metadaten der Mediathek, die Thumbnails, die Poster und und und werden separat in dem Ordner "Library" gespeichert und lassen sich dadurch wunderbar auch separat sichern/wiederherstellen, was ich sehr begrüße.
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.137
Punkte für Reaktionen
898
Punkte
424
Ah stimmt, hattest du ja schon geschrieben. Ja, dann bessert Synology da hoffentlich noch nach, sonst bleib ich halt einfach auf der Kommandozeile.

Ja, bei Media-Files sind die Rohdaten, alles andere zähle ich zu Metadaten. Die liegen bei mir unter /volume1/Plex/.
Wollte nur nochmal kurz klar drüber werden, was dann alles der Vollständigkeit halber mitgesichert werden sollte.

Ich hatte den Ordner neulich mal testweise in einen andern Backup Job mit eingebunden. Der lief normal so 10 Minuten, danach war er nach 15 Stunden noch nicht fertig. Habs erstmal wieder rausgenommen, weil mir die Sachen nicht so wichtig sind und mit (zwar ärgerlichem) Aufwand auch neu zu erstellen.
Muss ich mir auch nochmal anschauen, vermutlich extrem viele kleine Dateien drin (alleine die Größenberechnung mit du -sh dauert fast ewig, wurde während dieses Postings nicht fertig).
 

silofonari

Benutzer
Mitglied seit
14. Nov 2014
Beiträge
81
Punkte für Reaktionen
0
Punkte
6
Ich hatte den Ordner neulich mal testweise in einen andern Backup Job mit eingebunden. Der lief normal so 10 Minuten, danach war er nach 15 Stunden noch nicht fertig. Habs erstmal wieder rausgenommen, weil mir die Sachen nicht so wichtig sind und mit (zwar ärgerlichem) Aufwand auch neu zu erstellen.
Muss ich mir auch nochmal anschauen, vermutlich extrem viele kleine Dateien drin (alleine die Größenberechnung mit du -sh dauert fast ewig, wurde während dieses Postings nicht fertig).

Meine Mediathek ist inzwischen auch zu groß, als dass ich das ganze Kleinzeug sichern wollen würde, das dauert Ewigkeiten. Ich bin deshalb dazu übergegangen, nur noch die Datenbank-Backups selbst zu sichern, siehe hier: https://support.plex.tv/hc/en-us/articles/202485658-Restore-a-Database-Backed-Up-via-Scheduled-Tasks-.
Dadurch habe ich das wirklich allerwichtigste gesichert und das innerhalb weniger Sekunden weil die Datenbanken selbst so klein sind (ohne Thumbnailis etc.)
 

blinddark

Benutzer
Mitglied seit
03. Jan 2013
Beiträge
1.385
Punkte für Reaktionen
34
Punkte
68
@silofonari hast du mit plexpy auch die Plex logs auslesen können? Mein plexpy container wird so generiert:
docker create --name=plexpy --net=host -v /etc/localtime:/etc/localtime:ro -v /volume1/docker/plexpy:/config -v "/volume1/Plex/Library/Application Support/Plex Media Server/Logs":/logs/:ro linuxserver/plexpy
mit start plexpy läuft auch alles und in der config für den PMS zeigt der log Pfad auc nach /logs. Nun kommt aber beim Aufruf der Plexlogs, 0 of 0 entrys und im Log von Plexpy steht ein error beim Zugriff.
 

silofonari

Benutzer
Mitglied seit
14. Nov 2014
Beiträge
81
Punkte für Reaktionen
0
Punkte
6
@silofonari hast du mit plexpy auch die Plex logs auslesen können?

Ich benutze auch das selbe PleyPy-Docker-Image wie du. Allerdings führe ich das ganze nicht über die Kommandozeile aus, sondern, weil es hier problemlos funktioniert, ich starte den Container einfach direkt aus der GUI im DSM. Außer der Portweiterleitung (8181 zu 8181 TCP) findest du alle Einstellungen von Docker bei mir als Screenshot im Anhang. Meine PlexPy-Settings habe ich ebenfalls angehängt, damit läuft eigentlich alles einwandfrei (Screenshot der Log-Auszüge).


Ich selbst habe aber auch nochmal eine andere Frage, die wieder mehr mit Docker selbst und nicht mit den Drittpaketen zu tun hat:
Bisher hatte ich auch immer den Ordner mit meinen Medien (/volume1/videos/) ganz normal via Netzwerkfreigabe für andere DSM-Benutzer (Gruppe "user") mit Lesezugriff freigegeben. Nun würde ich das gerne abschalten. Sobald ich jedoch "user" raus nehme, kann Plex (Docker) nicht mehr darauf zugreifen wie es scheint. Wie kann ich denn entweder Plex (bzw den Container davon) so modifizieren, dass er als Administrator zugreift (obwohl ich Docker von der Kommandozeile ja eigentlich ohnehin als Root ausführe) oder alternativ die Berechtigungen des Ordners so ändern, dass nur Plex/Docker Zugriff darauf hat, aber ohne dass ich den Zugriff allen "usern" erlauben muss? Wäre um Tipps sehr dankbar!

Vielen Dank & schönen Abend!
 

Anhänge

  • PleyPy-LogExample.jpg
    PleyPy-LogExample.jpg
    22,9 KB · Aufrufe: 59
  • PlexPy01.png
    PlexPy01.png
    54,3 KB · Aufrufe: 58
  • PlexPy-ContainerSettings.png
    PlexPy-ContainerSettings.png
    15 KB · Aufrufe: 58

silofonari

Benutzer
Mitglied seit
14. Nov 2014
Beiträge
81
Punkte für Reaktionen
0
Punkte
6
Ich selbst habe aber auch nochmal eine andere Frage, die wieder mehr mit Docker selbst und nicht mit den Drittpaketen zu tun hat:
Bisher hatte ich auch immer den Ordner mit meinen Medien (/volume1/videos/) ganz normal via Netzwerkfreigabe für andere DSM-Benutzer (Gruppe "user") mit Lesezugriff freigegeben. Nun würde ich das gerne abschalten. Sobald ich jedoch "user" raus nehme, kann Plex (Docker) nicht mehr darauf zugreifen wie es scheint. Wie kann ich denn entweder Plex (bzw den Container davon) so modifizieren, dass er als Administrator zugreift (obwohl ich Docker von der Kommandozeile ja eigentlich ohnehin als Root ausführe) oder alternativ die Berechtigungen des Ordners so ändern, dass nur Plex/Docker Zugriff darauf hat, aber ohne dass ich den Zugriff allen "usern" erlauben muss?

Hat keiner einen Tipp für mich? :) wäre wirklich sehr froh, das irgendwie lösen zu können!

Danke schon mal.
 

blinddark

Benutzer
Mitglied seit
03. Jan 2013
Beiträge
1.385
Punkte für Reaktionen
34
Punkte
68
du kannst folgendes versuchen:
schaue in etc/passwd z. B. nach deinem nutzer. da steht nutzer,x,1111,111,...
1111 ist die PUID 111 ist die PGID
- nun öffne ssh oder telnet
- docker rm plex
docker create --name=plex --net=host -v /etc/localtime:/etc/localtime:ro -v /volume1/docker/plex:/config -v "/volume1/music":/music/:ro -e PUID=1111 -e PGID=111 linuxserver/plex
die Ordner und die Quelle musst du dir anpassen
- nun vergebe die Berechtigungen nur an deinen User
- nun docker start plex
 

Tscho

Benutzer
Mitglied seit
20. Dez 2018
Beiträge
2
Punkte für Reaktionen
0
Punkte
1
@silofonari

ich versuche gerade einen Plex-Server in einem Docker der auf meiner Synology DS1517+ läuft aufzusetzen.
Der Start des Containers und der intiale Aufruf im Browser hat auch geklappt.
Allerdings schaffe ich es nicht dass meine Mediafiles (liegen auf der DS1517) angezeigt werden - ich habe den Verdacht, dass das etwas mit Berechtigungen zu tun hat:

Anbei meine aktuelle Konfiguration:
Docker-Setup.jpg

und im App.Plex.tv im Firefox:
Plex-Setup.jpg

Berechtigungen auf der DS1517:
Berechtigungen1.jpg

und
Berechtigungen2.jpg

kannst du mir helfen, warum meine Mediathek leer bleibt?

Grüße

Tscho
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat