Mehrere Plex Instanzen auf einer DS

Jedich

Benutzer
Mitglied seit
04. Aug 2023
Beiträge
39
Punkte für Reaktionen
0
Punkte
12
Tu ich nicht, alles gut.
Ich bin halt Fan von großen Speicherplatten. Man kann irgendwie nie genug haben 😁
Andere kaufen sich andere Sachen die sie nicht brauchen...oder oder oder. Jedem das seine, oder anders gesagt: Leben und leben lassen.
Und diesen Speicher habe ich btw auch zB nicht als Privatmensch gekauft. Heißt die Kosten waren um ein vielfaches geringer. War mit unter anderem einer der Gründe wieso ich zugeschlagen habe.

Was ich oft gesehen/gelesen habe in den meisten Foren, es wird immer nach den Hintergründen gefragt, obwohl diese nichts mit dem Anliegen ansich zutun haben. Würde hier ein Zusammenhang bestehen, dann erkläre ich das gerne. Könnte ja sein, dass ich wichtige Infos vergessen habe zu erwähnen.

Ich bin was NAS Systeme angeht halt Anfänger und versuche hier und da im Netz meine Antworten zu suchen, oder alternativ hier bei euch.
Wäre also klasse wenn man mir erklären könnte wie ich mein Vorhaben umsetzen könnte, falls dies überhaupt möglich wäre.
 

Ulfhednir

Benutzer
Sehr erfahren
Mitglied seit
26. Aug 2013
Beiträge
3.503
Punkte für Reaktionen
1.093
Punkte
194
Heißt das im Umkehrschluss, dass die Leute dann von ext. auf Port 100 zugreifen müssen?
Was heißt "müssen"... Natürlich würde das dann von extern über den Port 100 laufen. Welcher das konkret ist, spielt aber überhaupt keine Geige, da der Benutzer den Port überhaupt nicht angeben muss. Du verschickst eine Einladung. Benutzer erhält eine Benachrichtung / Email, dass eine Einladung vorliegt. Bestätigt diese und kann dann innerhalb der Plex-App den jeweiligen Plex-Server auswählen.
 
  • Like
Reaktionen: Jedich

Jedich

Benutzer
Mitglied seit
04. Aug 2023
Beiträge
39
Punkte für Reaktionen
0
Punkte
12
Okay, der neue User müsste dann in seinen Plex Account dann auch keine Ports ändern. Wie sähe das mit bestehenden Usern aus?
 

Ulfhednir

Benutzer
Sehr erfahren
Mitglied seit
26. Aug 2013
Beiträge
3.503
Punkte für Reaktionen
1.093
Punkte
194
Also ich habe in der Vergangenheit den Port von 32400 auf 443 (Reverse Proxy) geändert. Ich kann mich nicht entsinnen, dass ich im Nachgang neue Benutzereinladungen verschicken musste. Macht auch überhaupt keinen Sinn. Da ich ein wenig von Softwareentwicklung verstehe, habe ich eine grobe Vorstellung wie Plex hier möglicherweise vorgeht.

In dem Moment der Serverinstallation erhält deine Installation eine GUID (XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX).
Wenn du den Fernzugriff einrichtest, werden deine Verbindungsdaten (DynDNS+Port) an die zentralen Plex-Verwaltungsserver übermittelt.
Mit der Einladung eines Plex-Accounts zu deiner Serverinstallation wird die Server-GUID mit dem jeweiligen Account gekoppelt.
Wenn die Fernzugriff-Serverdaten jetzt von dir geändert werden, so wird diese Information gleichwohl auf dem Verwaltungsserver aktualisiert.

Übrigens: Es gibt ja auch noch die Möglichkeit zur Verwendung des Relay-Servers
https://support.plex.tv/articles/216766168-accessing-a-server-through-relay/

Damit kann man auch ohne Portfreigabe auf Plex zugreifen. Das läuft dann vergleich zu QuickConnect von Synology.
Der Relay-Server basiert darauf, dass dein Server eine ausgehende Datenverbindung zu einem Fremdserver aufbaut.
Der Client verbindet sich dann indirekt: Client <-> Relay-Server <-> NAS

Die Übertragungsrate ist beim Relay-Server i.d.R. reduziert. Musst halt schauen, ob das dann Alternative wäre.
 
  • Like
Reaktionen: Jedich

Jedich

Benutzer
Mitglied seit
04. Aug 2023
Beiträge
39
Punkte für Reaktionen
0
Punkte
12
Also ich habe in der Vergangenheit den Port von 32400 auf 443 (Reverse Proxy) geändert.

Das hatte ich auch schon mal am Laufen (QNAP+RS), da gab es aber Probleme.
Um nicht ganz verwirrt da zu stehen. Einerseits soll ich den Reverse Proxy nicht nutzen, andererseits hattest du das ganze mit dem 443er Port (Reverse Proxy) betrieben.

Also, ich habe mal geschaut wie man die Docker Container erstellt/aufbaut. YouTube Anleitungen sind veraltet, da es im Paket-Zentrum kein "Docker" mehr als solches zu finden gibt, sondern nun "Container Manager". Alle weiteren Einstellungstips kann ich nicht 1:1 nachvollziehen, da auch hier das Menü anders aussieht. Habe aber soweit es geht die Einstellungen versucht zu übernehmen, die einem erklärt wurden.
Was habe ich also bisher gemacht?
- Image plexinc/pms-docker heruntergeladen. Dieses ist beim Container Manager links im Reiter Image zu finden.
- Im Container habe ich einen Container erstellt, und zwar wie folgt:
  • Containername: Docker1_Plex1
  • Automatischen Neustart aktivieren: Ja
  • Webportal via Web Station* einrichten: Nein (bin mir da noch nicht ganz sicher mit, später aber mehr dazu)
  • Unter Port-Einstellungen werden mir alle Ports aufgelistet, wie zB 1900, 32400, 32410 usw. Alles so belassen.
  • Im Docker-Ordner habe ich noch folgenden Ordner erstellt: plex1, dieser beinhaltet diese neu erstellen Ordner: db, exercise, movies, music, photos und transcode.
  • gemountet ist wie folgt: /docker/plex1/ /data, /docker/plex1/db /config, /docker/plex1/transcode /transcode
  • In der Umgebung habe ich erstmal nur TZ (TimeZone). PGID und PUID (laut Anleitung) noch nicht.
Mit "Einstellungen duplizieren" habe ich 2 weitere Container erstellt.

Das kleine Mini Gerüst steht schonmal, welche aber noch richtig eingestellt werden müssen.

*Web Station. Also Info wird mir folgendes dargestellt: "Aktivieren Sie diese Option, um HTTP-/HTTPS-Dienste über Web Station für den Container bereitzustellen. Nur offengelegte Ports können für Web Station verwendet werden."
Heißt für mich, ich muss den Port 32400 eintragen, damit dieser von außen erreichbar ist?

Das Ganze wäre ja ein wenig anders gestrickt.
Plex1: Öffentlich: 100 <-> Container (extern): 32500 <-> Container (intern): 32400
Plex1: Öffentlich: 200 <-> Container (extern): 32600 <-> Container (intern): 32400
Wo/Wie genau ändere ich den Port intern 32400 auf extern 32500?
Die Netzwerkeinstellungen habe ich mir kurz angeschaut:
bridge
  • Subnetz 172.17.0.0/16
  • IPv6: Deaktiviert
  • IP Masqeruade: network:enable
  • Container: Alle 3 Container werden hier aufgelistet.
Und am Ende muss ich im Router ja dann von 32500 auf 100 forwarden, korrekt?

Viele Fragen auf einmal :-|
 

alexhell

Benutzer
Sehr erfahren
Mitglied seit
13. Mai 2021
Beiträge
2.831
Punkte für Reaktionen
854
Punkte
154
Um nicht ganz verwirrt da zu stehen. Einerseits soll ich den Reverse Proxy nicht nutzen, andererseits hattest du das ganze mit dem 443er Port (Reverse Proxy) betrieben.
Da ging es um mehrere Instanzen.

Das Paket Docker gibt es nicht mehr, es heißt jetzt einfach nur Container Manager. Unter der Haube ist es aber kein Unterschied. Da der Container Manager inzwischen auch docker-compose untersützt, würde ich an deiner Stelle einfach die Docker-Compose von der offiziellen Image Seite (https://hub.docker.com/r/plexinc/pms-docker/) nehmen und es anpassen. Dabei würde ich unter "Bridge Networking" oder MACVLAN gucken. MACVLAN hat aber andere "Herausforderungen". Bei Bridge musst du halt viele Ports anpassen/mappen.
 

Jedich

Benutzer
Mitglied seit
04. Aug 2023
Beiträge
39
Punkte für Reaktionen
0
Punkte
12
würde ich an deiner Stelle einfach die Docker-Compose von der offiziellen Image Seite (https://hub.docker.com/r/plexinc/pms-docker/) nehmen und es anpassen
Das wird auch gefunden, wenn man unter Registrierung "plex" sucht. Der ext. Link verweist auf die gleiche Quelle wie dein Link. Ich denke das wird dann wohl das gleiche sein, oder?
Unter dem Reiter Projekt kann ich ein Projekt erstellen:
Name:
Pfad: (wofür genau?)
Quelle: docker-compose.yml hochladen oder erstellen
Datei:

Was ist Docker Compose?
"Docker Compose ist ein Tool zum Definieren und Ausführen von Docker-Anwendungen mit mehreren Containern. In Compose verwenden Sie eine YAML-Datei, um die Dienste Ihrer Anwendung zu konfigurieren. Anschließend erstellen und starten Sie alle Dienste Ihrer Konfiguration mit nur einem Befehl."
Die Definition kann ich bei jedem Container einzeln vornehmen, genau so wie das Ausführen der jeweiligen Container.
Wird dort u.a. auch die Bridge Config erstellt?

Unter Container Manager -> Netzwerk habe ich meine beiden Netzwerke -> bridge & host.
Wo ich die Ports allerdings ändern kann finde ich bisher nicht. Geht das nur mit der yml Datei?
 

alexhell

Benutzer
Sehr erfahren
Mitglied seit
13. Mai 2021
Beiträge
2.831
Punkte für Reaktionen
854
Punkte
154
Da ist doch eine komplette Docker-Compose dabei. Die musst du nur kopieren und anpassen. Da wird doch für alle Beispiele eine angeboten. Also im Host Mode (was bei mehreren Instanzen nicht geht), MACVLAN und Bridge. Musst nur die richtige kopieren und editieren.
Pfad: (wofür genau?)
Wo er die docker-compose.yml ablegt. Bitte mal einlesen wofür der Name relevant ist, wenn du es verwendest.
 

Jedich

Benutzer
Mitglied seit
04. Aug 2023
Beiträge
39
Punkte für Reaktionen
0
Punkte
12
Du meinst das hier.
Code:
    docker run \
    -d \
    --name plex \
    -p 32400:32400/tcp \
    -p 3005:3005/tcp \
    -p 8324:8324/tcp \
    -p 32469:32469/tcp\
    -p 1900:1900/udp \
    -p 32410:32410/udp \
    -p 32412:32412/udp \
    -p 32413:32413/udp \
    -p 32414:32414/udp \
    -e TZ="<timezone>" \
    -e PLEX_CLAIM="<claimToken>" \
    -e ADVERTISE_IP="http://<hostIPAddress>:32400/" \
    -h <HOSTNAME> \
    -v <path/to/plex/database>:/config \
    -v <path/to/transcode/temp>:/transcode \
    -v <path/to/media>:/data \

plexinc/pms-docker

Das muss ich im Prinzip ja mehrmals in der yml Datei eintragen, je nach Anzahl der Plex Instanzen.
If you wish your Plex Media Server to be accessible outside of your home network, you must manually setup port forwarding on your router to forward to the ADVERTISE_IP specified above. By default you can forward port 32400, but if you choose to use a different external port, be sure you configure this in Plex Media Server's Remote Access settings. With this type of docker networking, the Plex Media Server is essentially behind two routers and it cannot automatically setup port forwarding on its own.
Bei Adverstise_IP trage ich die IP des NAS ein, soweit klar. Wie siehts mit dem Port aus? Dieser bleibt ja bei 32400 und wird aber, wie oben weiter beschrieben, auf 32500 -600 und -700 umgeleitet, und am Ende dann auf 100, 200 und 300 umgeleitet.
Mach ich das jetzt hier in der yml File, oder doch wo anders?

Beispiel:
docker run \
-d \
--name plex1 \
-p 32400:32400/tcp \
-p 3005:3005/tcp \
-p 8324:8324/tcp \
-p 32469:32469/tcp\
-p 1900:1900/udp \
-p 32410:32410/udp \
-p 32412:32412/udp \
-p 32413:32413/udp \
-p 32414:32414/udp \
-e TZ="Europe/Berlin" \
-e PLEX_CLAIM="caim-12345678910usw." \
-e ADVERTISE_IP="http://192.168.1.200:32400/" \
-h <PlexServer1> \
-v </docker/plex1/database/ config \
-v </docker/plex1/transcode/ transcode \
-v </docker/plex1/data/ data \

plexinc/pms-docker

Ich mach das zum ersten mal, also nicht gleich mit Steinen bewerfen.
 

alexhell

Benutzer
Sehr erfahren
Mitglied seit
13. Mai 2021
Beiträge
2.831
Punkte für Reaktionen
854
Punkte
154
Ja die Ports musst du natürlich alle anpassen. Du kannst beim Bridge Network nicht die selben Ports verwenden. Und dann musst du den Port im Router weiterleiten. https://github.com/plexinc/pms-docker/blob/master/docker-compose-bridge.yml.template Ist die gewünscht docker-compose.yml.

Ich mach das zum ersten mal, also nicht gleich mit Steinen bewerfen.
Niemand schmeißt hier Steine, aber man muss sich auch selber bisschen bemühen und auch mal die Doku lesen. Wenn was nicht klar ist, dann kann man ja gezielt Fragen stellen. Aber ich glaube niemand wird dir hier eine komplett fertige Lösung liefern.
Wie siehts mit dem Port aus? Dieser bleibt ja bei 32400 und wird aber, wie oben weiter beschrieben, auf 32500 -600 und -700 umgeleitet, und am Ende dann auf 100, 200 und 300 umgeleitet.
Mach ich das jetzt hier in der yml File, oder doch wo anders?
Das verstehe ich übrigens nicht wirklich. Wieso so oft umleiten?
Bei deinem Beispiel würde ich einfach folgendes machen: -p 32500:32400/tcp \
Und dann würde ich den Port 32500 im Router freigeben und mit ip:32500 drauf zugreifen.

Edit: Guck mal hier: https://www.reddit.com/r/PleX/comments/p7hhl2/2_plex_instances_in_1_dockercompose/
 
Zuletzt bearbeitet:

Jedich

Benutzer
Mitglied seit
04. Aug 2023
Beiträge
39
Punkte für Reaktionen
0
Punkte
12
Ja die Ports musst du natürlich alle anpassen. Du kannst beim Bridge Network nicht die selben Ports verwenden.
Das habe ich soweit verstanden. Das vorhin war nur ein Bsp für die erste Instanz, bei den anderen hätte ich dann die Ports natürlich geändert.

Merci.

man muss sich auch selber bisschen bemühen und auch mal die Doku lesen. Wenn was nicht klar ist, dann kann man ja gezielt Fragen stellen. Aber ich glaube niemand wird dir hier eine komplett fertige Lösung liefern.
Eine fertige Lösung kann ich nicht erwarten. Ich will ja die einzelnen Komponenten der ganzen Config Geschichte verstehen, so dass am Ende dann der Groschen fällt. Nur muss ich mich da mit kleinen Schritten fort bewegen.

Das verstehe ich übrigens nicht wirklich. Wieso so oft umleiten?
@Ulfhednir hatte es als Beispiel genannt:
Das Ganze wäre ja ein wenig anders gestrickt.
Plex1: Öffentlich: 100 <-> Container (extern): 32500 <-> Container (intern): 32400
Plex1: Öffentlich: 200 <-> Container (extern): 32600 <-> Container (intern): 32400
Natürlich würde das dann von extern über den Port 100 laufen.
Deshalb bin ich seinem Beispiel gefolgt und wollte dieses dann umsetzen.
Letztendlich klingt dein Lösungvorschlag auch nicht verkehrt. Intern bleibts ja bei 32400, mapping auf 32500. Am Router dann 32500 freigeben und fertig (denke ich, oder hab ich jetzt was nicht bedacht?). User (neue + bestehende) greifen dann bei mir über 32500 zu und werden direkt zur richtigen Plex Instanz weitergeleitet. Das ganze dann eben mit der 2. Instanz als 32600 und 3. Instanz als 32700.
Oder aber so wie Ulfhednir sagt, Container Intern (32400) auf Conainer Extern (32500) und am Ende auf 100/200/300.
 


 

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