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

Status
Für weitere Antworten geschlossen.

silofonari

Benutzer
Mitglied seit
14. Nov 2014
Beiträge
81
Punkte für Reaktionen
0
Punkte
6
Hi.

Ich mache zur Zeit meine ersten Schritte mit Docker. Plex Media Server (PMS) nutze ich hingegen schon seit über einem Jahr. Nun wollte ich aus verschiedenen Gründen den "nativen" PMS (direkt im DMS installiert) durch einen Docker-Container ablösen. Das hat nach einigem Hin und Her sogar ganz gut geklappt - im LAN und WAN, also lokal und von außerhalb, ist der Server erreichbar. Aber: obwohl ich den Server mit meinem Plex-Account - angeblich erfolgreich - verbunden habe und auch in den Plex-Einstellungen unter dem Punkt "Remote Access" alles grün und super aussieht, ist der Server einfach nicht über app.plex.tv/web/app zu erreichen. Das kann so nicht bleiben, weil ich meine Mediathek auch mit anderen Familienmitgliedern geteilt habe und die jetzt natürlich keinen Zugriff mehr haben.

Bei der Migration von PMS "nativ" zum Docker Container habe ich meine bisherigen Mediatheken übernommen und nur im Nachhinein die neuen Pfade der Mediatheken angepasst (wie gesagt, das Abspielen funktioniert an sich problemlos). Jetzt habe ich gerade diesen Thread entdeckt und befürchte, dass bei mir das selbe - bisher ungelöste (?) - Problem besteht: https://lime-technology.com/forum/index.php?topic=36009.0. Aber die Mediatheken einfach von Grund auf neu zu erstellen würde mich unzählige Stunden bis hin zu Tagen kosten, weil ich auch sehr viele Videos in der Mediathek habe, die keine Filme / TV-Serien sind und demnach manuell mit Metadaten/Tags von mir versehen wurden.


Ich wäre unglaublich dankbar, wenn mir jemand weiterhelfen könnte - entweder, wie ich den Server zwar neu einrichten, aber trotzdem Meta-Tags für Medien übernehmen kann oder, indem mir jemand einen Tipp hat, warum mein Server einfach nicht erreichbar ist über die Plex-Seite, obwohl alle Lampen auf grün stehen.

Vielen Dank allen Helfenden!
Schönen Abend & guten Start in die Woche ;)
 

Anhänge

  • Plex02.jpg
    Plex02.jpg
    10,5 KB · Aufrufe: 180
  • Plex01.png
    Plex01.png
    10,1 KB · Aufrufe: 181

Hudrator

Benutzer
Mitglied seit
04. Sep 2014
Beiträge
61
Punkte für Reaktionen
0
Punkte
0
Was passiert denn, wenn du "reload the app insecure" auswählst?
 

silofonari

Benutzer
Mitglied seit
14. Nov 2014
Beiträge
81
Punkte für Reaktionen
0
Punkte
6
Was passiert denn, wenn du "reload the app insecure" auswählst?

Das ändert leider überhaupt nichts.

Ich habe nun aber zwei (weitere) merkwürdige Details festgestllt:
1. Die unter "Remote Access" angezeigte, interne IP Adresse stimmt nicht mit der tatsächlichen internen IP Adresse meiner DiskStation überein - hat das einen Grund? Liegt das evtl. daran, dass Plex innerhalb von Docker betrieben wird und die Netzwerkverbindung der DS nur durchgereicht wird?
2. Von außerhalb (also einem anderen Netzwerk aus) ist mein Plex-Server scheinbar via https://app.plex.tv/web/app erreichbar, nur im internen Netz nicht - für mich vollkommen unverständlich

Ich bin immer noch ahnungslos, woran das liegt... Hilfe ist sehr willkommen!
 

mexx81

Benutzer
Mitglied seit
17. Dez 2013
Beiträge
597
Punkte für Reaktionen
0
Punkte
42
Eventuell liegt das an Docker und nicht an Plex. Immerhin ist Docker eine Containerlösung, dass heißt, Du musst alle notwendigen Ports, die von der Container-Anwendung gebraucht werden "weiterleiten". Hier mal ein Beispiel von Traccar. Traccar, was bei mir in Docker läuft, braucht zwei Ports. Einen für die WebGUI und einen für den Empfang der Geodaten.

WebGUI ist Port ist 8082
Geodatenempfang ist 5505

So sieht das dann im Docker aus.

Unbenannt.JPG

Ich leite die beiden Ports auf freie Ports um. Diese werden dann erzeugt. Statt 8082, verwende ich 48082 und statt 5505, verwende ich 45505. Oft sind die Dockerpakete nicht so clever, dass sie diese Portweiterleitung vollumfänglich unterstützen.

Probier doch mal die Ports 1:1 weiterzuleiten, bzw. zu definieren. Hier kurz alle notwendigen Ports für Plex gegoogelt.

https://support.plex.tv/hc/en-us/articles/201543147-What-network-ports-do-I-need-to-allow-through-my-firewall-

Per Telnet kannst Du prüfen, ob die Ports dann antworten.
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.135
Punkte für Reaktionen
898
Punkte
424
Ich bin nicht mehr ganz sicher das Gesamtbild erkennen zu können.
Kannst du nochmal kurz eine Übersicht machen über welchen Zugriffsweg (IP, DDNS, plex.tv, ..) du von wo (LAN, WAN) zugreifen kannst und von wo nicht?
Und vielleicht welcher Zugriff für dein Szenario funktionieren müßte.

Welche IPs verwendest du den im LAN und welche IP erkennt Plex im Docker Container?
Wie @mexx81 denke ich aber auch, dass dies ein Problem im Zusammenspiel mit Docker ist.
 

silofonari

Benutzer
Mitglied seit
14. Nov 2014
Beiträge
81
Punkte für Reaktionen
0
Punkte
6
Den Port reiche ich in Docker bereits 1:1 weiter. Und auf dem Router geöffnet ist der Port ja auch, es hat ja zuvor schon monatelang erfolgreich funktioniert (außerhalb von Docker).
plex-docker-port.jpg

Bei Plex als interne IP wird 172.17.0.16 angegeben:
plex-internal-ip.png

Dabei hat meine DS folgende interne IP im LAN:
dsm-lan1.png


Ich versuche mich jetzt nochmal an einer kurzen Übersicht, wo was klappt:


Vielen Dank, dass ihr mir helft :)
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.135
Punkte für Reaktionen
898
Punkte
424
Was findet sich in deinem plex server Einstellungen unter Netzwerk?
Hast du den Plex Server mal neu gestartet?
Nach einem Neustart wäre auch ein Blick in die Plex Media Server Logs mal interessant
Welchen Docker Container hast du dir genau geholt?

Edit: Funktioniert denn meinedns.de:32400/web im LAN?
 

mexx81

Benutzer
Mitglied seit
17. Dez 2013
Beiträge
597
Punkte für Reaktionen
0
Punkte
42
1. Wenn externe Namen intern nicht funktionieren, könnte dies ein Problem des Routerhttps://telekomhilft.telekom.de/t5/Ger%C3%A4te-Zubeh%C3%B6r/Implementierung-von-Hairpin-NAT-aka-NAT-Loopback/td-p/1045322

2. Dass es vorher ging und mit Docker nicht, könnte darin liegen, dass die Implementierung der Software als Docker-Paket nicht richtig war.

3. Ich finde, dass sind zu wenig Ports. Laut Plex sind doch noch mehr Ports für den Plex notwendig.

4. Ist der Port für Plex auch in der Firewall der DS freigegeben?

5. Was ist das für eine URL app.plex.tv? Das ist doch eine von Plex selber und nicht von Deinen Server?
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.135
Punkte für Reaktionen
898
Punkte
424
Ich habe von extern auch nur die Umleitung auf 32400 offen, das reicht für Clients von außerhalb aus (Smartphone, FireTV), auch zum Streamen.
Eventuell werden weitere nötige Verbindungen dann von Innen geöffnet.

plex.tv ist das Frontend. Bietet einen "komfortablen" Zugriff von in/extern.
Das ist für Leute die eben keine DDNS einrichten wollen. Darüber hinaus sollte es via plex.tv und ddns funktionieren.
 

silofonari

Benutzer
Mitglied seit
14. Nov 2014
Beiträge
81
Punkte für Reaktionen
0
Punkte
6
Was findet sich in deinem plex server Einstellungen unter Netzwerk?
Hast du den Plex Server mal neu gestartet?
Nach einem Neustart wäre auch ein Blick in die Plex Media Server Logs mal interessant
Welchen Docker Container hast du dir genau geholt?

Edit: Funktioniert denn meinedns.de:32400/web im LAN?

Nein, das funktioniert nicht, siehe gleich (unten).

Bei den Netzwerkeinstellungen habe ich quasi nichts verändert. Wenn man die erweiterten Einstellungen einblendet sind auch alle Felder leer, habe sie nur eingeklappt, weil es sonst die Bildschirmgröße überschreiten würde:
plex-netzwerkeinstellungen.jpg


Plex habe ich inzwischen schon unzählige Male neu gestartet, tue das aber gerne auch nochmal. Hier mal der Output des Docker-Containers beim Starten:
Rich (BBCode):
plex			
date	stream	content	
2016-02-22 12:57:49	stdout	Server startup complete. Host name is plex.local. Local service cookie is 2512029828.	
2016-02-22 12:57:49	stdout	Registering HINFO record with values 'X86_64'/'LINUX'.	
2016-02-22 12:57:49	stdout	Network interface enumeration completed.	
2016-02-22 12:57:49	stdout	No service file found in /etc/avahi/services.	
2016-02-22 12:57:49	stdout	avahi-daemon 0.6.31 starting up.	
2016-02-22 12:57:49	stdout	Successfully dropped root privileges.	
2016-02-22 12:57:49	stdout	Found user 'avahi' (UID 104) and group 'avahi' (GID 107).	
2016-02-22 12:57:49	stdout	Starting Avahi daemon	
2016-02-22 12:57:49	stdout	Feb 22 12:57:49 plex syslog-ng[47]: syslog-ng starting up	 version='3.5.3'
2016-02-22 12:57:48	stdout	dbus[44]: [system] org.freedesktop.DBus.Error.AccessDenied: Failed to set fd limit to 65536: Operation not permitted	
2016-02-22 12:57:48	stdout	8192	
2016-02-22 12:57:48	stdout	6 3000 /config/Library/Application Support	
2016-02-22 12:57:48	stdout	avahi-daemon 0.6.31 exiting.	
2016-02-22 12:57:48	stdout	WARNING: Failed to contact D-Bus daemon.	
2016-02-22 12:57:48	stdout	dbus_bus_get_private(): Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory	
2016-02-22 12:57:48	stdout	Starting Plex Media Server.	
2016-02-22 12:57:48	stdout	avahi-daemon 0.6.31 starting up.	
2016-02-22 12:57:48	stdout	Successfully dropped root privileges.	
2016-02-22 12:57:48	stdout	Found user 'avahi' (UID 104) and group 'avahi' (GID 107).	
2016-02-22 12:57:48	stdout	Starting dbus-daemon	
2016-02-22 12:57:48	stdout	Starting Avahi daemon	
2016-02-22 12:57:48	stdout	*** Runit started as PID 35	
2016-02-22 12:57:48	stdout	*** Booting runit daemon...	
2016-02-22 12:57:48	stdout	*** Running /etc/rc.local...	
2016-02-22 12:57:48	stdout	*** Running /etc/my_init.d/999_advanced_script.sh...	
2016-02-22 12:57:48	stdout	*** Running /etc/my_init.d/90_chown_plex_owned_files.sh...	
2016-02-22 12:57:48	stdout	‘/defaults/plexmediaserver’ -> ‘/etc/default/plexmediaserver’	
2016-02-22 12:57:48	stdout	No need to update!	
2016-02-22 12:57:48	stdout	Using version: 0.9.15.3.1674-f46e7e6 from Public latest	
2016-02-22 12:57:46	stdout	*** Running /etc/my_init.d/30_update_plex.sh...	
2016-02-22 12:57:46	stdout	*** Running /etc/my_init.d/20_apt_update.sh...	
2016-02-22 12:57:46	stdout	changed ownership of ‘/transcode’ from root:root to abc:abc	
2016-02-22 12:57:45	stdout	*** Running /etc/my_init.d/15_fix_for_transcode.sh...	
2016-02-22 12:57:44	stdout	*** Running /etc/my_init.d/10_dbus.sh...	
2016-02-22 12:57:44	stdout		
2016-02-22 12:57:44	stdout	-------------------------------------	
2016-02-22 12:57:44	stdout	User gid:    911	
2016-02-22 12:57:44	stdout	User uid:    1024	
2016-02-22 12:57:44	stdout	-------------------------------------	
2016-02-22 12:57:44	stdout	GID/UID	
2016-02-22 12:57:44	stdout	-------------------------------------	
2016-02-22 12:57:44	stdout	https://www.linuxserver.io/donations	
2016-02-22 12:57:44	stdout	We do accept donations at:	
2016-02-22 12:57:44	stdout	Brought to you by linuxserver.io	
2016-02-22 12:57:44	stdout		
2016-02-22 12:57:44	stdout	               |_|	
2016-02-22 12:57:44	stdout	         |_|___/ |_|\___/	
2016-02-22 12:57:44	stdout	         | \__ \ | | (_) |	
2016-02-22 12:57:44	stdout	         | / __| | |/ _ \ 	
2016-02-22 12:57:44	stdout	         | |___| (_) ___	
2016-02-22 12:57:44	stdout	          _     _ _	
2016-02-22 12:57:44	stdout	-------------------------------------	
2016-02-22 12:57:44	stdout		
2016-02-22 12:57:44	stdout	*** Running /etc/my_init.d/10_add_user_abc.sh...	
2016-02-22 12:57:44	stdout	*** Running /etc/my_init.d/00_regen_ssh_host_keys.sh...

Nur der Dokumentation wegen: GUID 101 ist "administrators", PUID ist "admin". Anzumerken wäre auch noch, dass ich es bisher leider bei keinem meiner Docker Container geschafft habe, dass die korrekte Uhrzeit von meiner DSM übernommen wird; Die Uhr der Docker-Container geht immer eine Stunde nach...
Wie aus dem Log auch hervorgeht, nutze ich den Build von linuxserver.io, also den hier: https://hub.docker.com/r/linuxserver/plexpy/.


So, nun folgt der Output des Plex-Logs (also aus der Datei "Logs/PMS Plugin Logs/com.plexapp.system.log" - ich hoffe, den wolltet ihr sehen): https://gist.github.com/anonymous/7be8223b4b30b48a2ab7 (zu lang, um es direkt hier einzufügen).

1. Wenn externe Namen intern nicht funktionieren, könnte dies ein Problem des Routerhttps://telekomhilft.telekom.de/t5/Ger%C3%A4te-Zubeh%C3%B6r/Implementierung-von-Hairpin-NAT-aka-NAT-Loopback/td-p/1045322

2. Dass es vorher ging und mit Docker nicht, könnte darin liegen, dass die Implementierung der Software als Docker-Paket nicht richtig war.

3. Ich finde, dass sind zu wenig Ports. Laut Plex sind doch noch mehr Ports für den Plex notwendig.

4. Ist der Port für Plex auch in der Firewall der DS freigegeben?

5. Was ist das für eine URL app.plex.tv? Das ist doch eine von Plex selber und nicht von Deinen Server?

1. Das (DNS im LAN) funktioniert mit keiner Anwendung/Seite meiner DSM. Ich hatte das vor Ewigkeiten mal recherchiert und es liegt tatsächlich am Router, schätze das ist auch das, worauf du mich mit dem Link verweist (kann mich nur an den Namen nicht mehr erinnern, den ich damals gefunden hatte). Sitze hinter einer Vodafone EasyBox und kann daran derzeit auch leider nichts ändern.

2. gibt euch die Tatsache, welchen Build ich verwende (siehe oben), irgendwelche Aufschlüsse?

3. Also vielleicht habe ich was nicht verstanden, aber eigentlich nutze ich keinen der Dienste, der angeblich weitere Ports erfordert. Aber wenn ihr wollt kann ich zum Testen gerne noch weitere einfügen, gebt mir einfach Bescheid, welche...

4. War es bisher nicht, habe jetzt aber einen entsprechenden Eintrag hinzugefügt. Passt das so?
firewall-port32400.png

5. https://app.plex.tv/web/app ist die ganz normale URL über die man Plex verwendet, wenn man die IP/DNS nicht kennt, also insb. auch alle Leute, die nicht selber den Server betreiben. Ich persönlich nutze das aber auch ganz gerne, weil ich dann (siehe Problem Punkt 1) nicht wechseln muss zwischen IP und DNS, je nachdem, ob ich im LAN oder WAN bin... Siehe auch: https://support.plex.tv/hc/en-us/articles/200288666-Opening-Plex-Web-App.


Vielen vielen Dank auf jeden Fall!
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.135
Punkte für Reaktionen
898
Punkte
424
Ich denke da ist irgendwas bei der Container-Erstellung schief gelaufen. Stichwort --net=host
https://hub.docker.com/r/linuxserver/plex/

Die 172.17.x.x ist jedenfalls die interne IP auf eth0 des Containers.

Alternativ könnte man auch die dort erwähnten Ports mal alle in den Container leiten, also lokal und eventuell DS Firewall, NICHT auf dem Router, dort erstmal nur die 32400 lassen.

Zudem bin ich auch auf das gestoßen
https://hub.docker.com/r/linuxserver/plexpy/
Ist ein Plex Usage Tracker Container
https://hub.docker.com/r/linuxserver/plex/
Ist ein Plex Media Server Container

Einfach den flaschen erwischt vielleicht?
 

silofonari

Benutzer
Mitglied seit
14. Nov 2014
Beiträge
81
Punkte für Reaktionen
0
Punkte
6
Wie bekomme ich das mit dem --net=host bzw. den Einstellungen in Griff?

Und das falsche Image habe ich nicht verwendet, ich habe sowohl plex als auch plexpy im Einsatz. PlexPy dient dazu, ein paar Statistiken über das eigene Nutzungsverhalten von Plex zu sammeln (also wann schaue ich Filme, werden sie direkt abgespielt oder transkodiert etc.)
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.135
Punkte für Reaktionen
898
Punkte
424
Gute Frage. Wenn du rumspielen kannst, würde ich mal einen neuen Container anlegen und anstatt via Assistenten den Eintrag "Docker run" auswählen.
In der Befehlszeile kopierst du dir dann den docker Befehl wie er auf https://hub.docker.com/r/linuxserver/plex/ aufgeführt ist.

Es werden aber wohl nicht alle docker run Befehle unterstützt, dazu könnte auch die net=host Option gehören.
Docker run füllt wohl auch nur die Felder des Assistenten aus.
Im Standard wird wohl auch net=bridge gesetzt, was dein Problem sein dürfte.

Eventuell muss man das ganze also direkt über Kommandozeile erledigen https://forum.synology.com/enu/viewtopic.php?t=106014
oder https://forum.synology.com/enu/viewtopic.php?f=258&t=101241&hilit=net+host
 

silofonari

Benutzer
Mitglied seit
14. Nov 2014
Beiträge
81
Punkte für Reaktionen
0
Punkte
6
Ich habe den Container damals schon über Docker Run angelegt und net=host wird tatsächlich wohl nicht unterstützt :/

Ich liebe die Kommandozeile und würde gerne viel mehr (diesbezüglich) darüber erledigen. Aber ich verstehe nicht so ganz, wie ich mit der Docker-GUI (von Synology) via Kommandozeile kommunizieren kann. Wenn ich mich via SSH auf meiner DS einlogge, dann gibt es nicht mal docker als befehl, es kommt nur ein Fehler zurück :(
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.135
Punkte für Reaktionen
898
Punkte
424
Mit der Docker GUI mußt du auch nicht kommunizieren. Diese ist wie der Name sagt ein Graphical User Interface, greift also auch nur auf dem System laufende Dienste/Prozesse zu.
Nichts anderes machst du dann auf der Kommandozeile (also alternative GUI sozusagen :) ) . Was davon dann in der Syno GUI sichtbar ist, ist wieder eine andere Sache.

Hast du dich via SSH per root eingeloggt?
Wenn ja sollte die Ausgabe so aussehen
diskstation> docker run
docker: "run" requires a minimum of 1 argument. See 'docker run --help'.
 

silofonari

Benutzer
Mitglied seit
14. Nov 2014
Beiträge
81
Punkte für Reaktionen
0
Punkte
6
Mit der Docker GUI mußt du auch nicht kommunizieren. Diese ist wie der Name sagt ein Graphical User Interface, greift also auch nur auf dem System laufende Dienste/Prozesse zu.
Nichts anderes machst du dann auf der Kommandozeile (also alternative GUI sozusagen :) ) . Was davon dann in der Syno GUI sichtbar ist, ist wieder eine andere Sache.

Hast du dich via SSH per root eingeloggt?
Wenn ja sollte die Ausgabe so aussehen

Hätte ich auch vermutet, dem ist aber leider nicht so:
Rich (BBCode):
root@DiskStation:~# docker run
-ash: docker: command not found

Sehr merkwürdig!
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.135
Punkte für Reaktionen
898
Punkte
424
Das ist in der Tat merkwürdig. Und ich bin spontan mal ratlos was da jetzt nicht passt.

Hast du denn noch die Alternative von weiter oben mal probiert mit dem Strauß an Portweiterleitungen, die auch auf der Container Website genannt wird?

P.S. Bitte keine Vollzitate. Danke.
 

silofonari

Benutzer
Mitglied seit
14. Nov 2014
Beiträge
81
Punkte für Reaktionen
0
Punkte
6
Hast du denn noch die Alternative von weiter oben mal probiert mit dem Strauß an Portweiterleitungen, die auch auf der Container Website genannt wird?
Hilft leider gar nicht weiter :(

Ich habe wirklich das Gefühl, es liegt an der merkwürdigen IP bzw. der - soweit ich weiß standardmäßigen - --net=bridge statt --net=host Option... nur weiß ich nicht, wie ich das testen soll, mangels ssh Erfolg. Ich hatte Docker vor kurzem auch nochmal ganz frisch installiert, daran sollte es also eigentlich nicht liegen.
 
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