Zwei Docker und ein Ordner (Nextcloud, Plex Fotos verwalten)


4n0nyM

Recommended Posts

Hallo zusammen,

 

auf der Suche nach einem Docker für die Fotoverwaltung bin ich auf Plex gekommen. Plex habe ich tatsächlich noch nie verwendet, aber soweit ich es verstehe, bleiben die Fotos in der Ordnerstruktur liegen und nur die automatischen Tags befinden sich in einer Datenbank.

Falls ihr bessere Docker für die Fotoverwaltung mit Apps/Programmen für die gängigen Plattformen kennt, würde ich mich über Vorschläge sehr freuen.

Vor meinem Umstieg zu Unraid habe ich mit der App PhotoSync alle Bilder über WebDAV auf eine Synology DiskStation hochgeladen. Der Vorteil der App ist, dass ich einstellen kann, wie die Fotos benannt werden, sowie wie die Ordnerstruktur aussehen soll.

 

Beim Nextcloud Template von knex666 gibt es einen Share Ordner, den man über die App "Externer Speicher" einbinden können soll. Das hat bei mir in Nextcloud soweit auch geklappt. Könnte ich also den /mnt/user/Share/, welcher im Nextcloud Docker bei der Volumenzuordnung /mnt/Share <-> /mnt/user/Share/ schon Nextcloud zugeordnet ist, zusätzlich als /data Ordner für den Plex Docker setzen?

 

Den Plex Docker habe ich testweise auch schon eingerichtet. Kann ich da dann trotzdem noch die Volumenzuordnung im Nachhinein für den /data Ordner von /mnt/user/Media/ zu /mnt/user/Share/Medien ändern?

Oder ist das nicht empfehlenswert im Nachhinein die Volumenzuordnung von Dockern zu ändern?

 

So wie ich es mir vorstelle, könnte ich dann über WebDAV die Bilder auf Nextcloud in den Medien Ordner hochladen und damit wären die dann auch gleich in Plex. Und da Nextcloud die Bilder auch lokal auf den PC/Laptop synchronisiert, könnte ich die da dann auch mit Bildbearbeitungsprogrammen bearbeiten.

Kann ich mir dadurch Nextcloud kaputt machen, wenn ich den Plex /data Ordner in Nextcloud reinlege?

Habt ihr eine bessere Idee? Oder wie verwaltet ihr eure Bilder?

Edited by 4n0nyM
Link to comment
  • 4n0nyM changed the title to Zwei Docker und ein Ordner (Nextcloud, Plex Fotos verwalten)
1 hour ago, 4n0nyM said:

Könnte ich also den /mnt/user/Share/, welcher im Nextcloud Docker bei der Volumenzuordnung /mnt/Share <-> /mnt/user/Share/ schon Nextcloud zugeordnet ist, zusätzlich als /data Ordner für den Plex Docker setzen?

 

Klar, geht. Habe ich genau so. Je nachdem was Du damit vor hast, würde ich Plex/Nextcloud aber nur Leserechte geben. Da bei uns die Mobilgeräte neue Bilder über Nextcloud hochladen, hat Nextcloud r/w-slave und Plex r-slave.

 

Da ich aber nach 13 Jahren Unraid den Sinn oder Unsinn des Users nobody noch nicht verstanden habe, läuft das bei uns aber nicht rund. Jeder User hat seinen eigenen Unraid-, Windows- und Nextcloud-User. Unter diesen werden Dateien hochgeladen. Leider haben dann entweder Plex oder Nextcloud, je nach Uploader, keinen Zugriff. Das ist dämlich aber ich verstehe das, obwohl man mir das schon dutzendfach erklärt hat, nicht. Wer nobody verstanden hat, schafft das wohl. Ich muss nachts chown und chmod anwerfen damit es passt.

 

Edited by hawihoney
  • Thanks 1
Link to comment
50 minutes ago, hawihoney said:

Ich muss nachts chown und chmod anwerfen damit es passt.

Vom Prinzip müsste der Container eigentlich nur rw auf die Gruppe users geben. Natürlich vorausgesetzt, dass der Container selbst auch die Gruppe nutzt. Das Problem ist also wenn der Container, der Nutzerrechte setzt, die auf dem Host-System nicht existieren. Das wäre auch bei Ubuntu etc so.

Link to comment
1 hour ago, hawihoney said:

Leider haben dann entweder Plex oder Nextcloud, je nach Uploader, keinen Zugriff

Hab das mal so umgesetzt. Wollte dann aus Nextcloud die Fotos in den Share Ordner kopieren, aber es kommt die Fehlermeldung Forbidden. Darf ich fragen, welche Rechte du auf den Share Ordner gesetzt?

 

Liest eigentlich Plex auch bei Liedern und Videos? Oder werden da dann auch Schreibrechte benötigt? Wisst ihr das zufällig?

Link to comment
48 minutes ago, mgutt said:

Vom Prinzip müsste der Container eigentlich nur rw auf die Gruppe users geben.

 

umask steht auf 000. Das Problem ist folgendes:

 

Stell Dir zwei User vor - User1 und User2. Beide User existieren in allen Rechnern (z.B. Windows) und melden sich entsprechend an. In Nextcloud gibt es beide User ebenso und auch in Unraid. Wenn die User Dateien hochladen so geschieht dies immer mit diesen Usern (SMB, DAV Nextcloud...user, etc)

 

Jetzt verschiebt der User Dateien innerhalb Nextcloud. Nun trifft Plex auf den Plan und kann nicht mehr die Bilder lesen. Denn beim Verschieben durch den User entstehen andere Rechte.

 

Ich habe das nie verstanden und nie klären können. Also setze ich nachts alles auf nobody und 777 ohne zu wissen warum.

 

Link to comment
20 minutes ago, 4n0nyM said:

Liest eigentlich Plex auch bei Liedern und Videos?

 

Plex muss Deine Dateien nur lesen können. Es sei denn Du hast in den Plex Einstellungen "Dateien dürfen gelöscht werden" aktiviert.

 

20 minutes ago, 4n0nyM said:

Darf ich fragen, welche Rechte du auf den Share Ordner gesetzt?

 

Welche Shares? Unraid, Nextcloud, ... Im Nextcloud würde ich bei den externen Speichern gerne nobody mit seinem Passwort verwenden - der hat aber keines. M.M.n. ist das nicht ganz durchdacht. Solange bis ich das verstanden habe setze ich nachts alle Dateien auf nobody:users und 777. Dann klappt wieder alles.

 

Edited by hawihoney
Link to comment
50 minutes ago, hawihoney said:

Welche Shares? Unraid, Nextcloud, ...

Ich habe versucht aus einem Nextcloud Ordner die Bilder in den externen Ordner /mnt/user/Share/Medien/Fotos zu verschieben. Das hat aber nicht geklappt. Andere Dateien konnte ich interessanterweise dorthin verschieben.

Die Rechte habe ich jetzt mit Krusader vergeben. Hoffe, dass das auch passt.

So sieht das jetzt bei mir beim Share Ordner aus:

1399555674_2021-10-0320_54_16-Krusader-noVNC.thumb.png.dd88bea7713381135314bb3cb2561de1.png

 

Und so beim Medien Ordner, der sich im Share Ordner befindet:

1784591122_2021-10-0320_57_20-Krusader-noVNC.thumb.png.7c55413cb89678dce78deba153051c34.png

 

Die Bilder habe ich jetzt der einfachheitshalber mithilfe von Krusader aus dem Nextcloud Ordner innerhalb appdata in den /mnt/user/Share/Medien/Fotos kopiert. Hoffentlich funktioniert das mit den Rechten jetzt.

Falls ihr Tipps oder Verbesserungsvorschläge habt's, würde ich mich freuen.

Link to comment
13 hours ago, 4n0nyM said:

Verbesserungsvorschläge

 

Ohne tief in die Details zu gehen:

 

Du hast auf Deinem Array (!!!) Shares wie zum Beispiel /mnt/user/Bilder oder /mnt/user/Dokumente.

 

appdata liegt wie gewohnt auf dem Cache oder einem Pool (wenn vorhanden) und sollte auch aus Performance-Gründen als solches angesprochen werden (/mnt/cache|pool/appdata). Unterhalb dieses Shares legen die Container ihre config Ordner ab. Damit hast Du i.d.R. nix zu tun.

 

Das Mapping des Plex Containers könnte dann /mnt/user/Bilder <--> /Bilder lauten. Abhängig vom verwendeten Container gibt es vordefinierte Path-Variablen für diese Container-seitigen Ordner. Dann würdest Du diese für das Erstellen des Mappings verwenden. Abhängig davon ob Plex Deinen Content löschen darf (nein) ist dieses Mapping entsprechend mit Rechten zu versehen (r/w-slave oder r-slave). Innerhalb Plex greifst Du dann auf /Bilder zu.

 

Nextcloud ist leicht anders gestrickt. Nextcloud pflegt ein config Verzeichnis für seine Daten sowie ein data Verzeichnis für Deine Daten. Diese würde ich i.d.R. verteilen auf config --> Cache|Pool, data --> Array. Du kannst data theoretisch als /mnt/user/Nextcloud <--> /Nextcloud mappen. Als Mapping für Deine Daten würdest Du /mnt/user/Bilder <--> /Bilder bzw. /mnt/user/Dokumente <--> /Dokumente verwenden. Innerhalb Nextcloud greifst Du dann auf /Bilder bzw. /Dokumente zu.

 

Zusätzlich kennt Nextcloud Externe Speicher. Gerade wer schon umfangreiche Daten besitzt, wird diese zu schätzen wissen. Du richtest einfach innerhalb der Nextcloud GUI einen Externen Speicher Eintrag für Deine o.g. Besipiel-Ordner ein Dokumente --> /Dokumente, Bilder --> /Bilder. Gleichzeitig wählst Du die Nextcloud-User die auf diese zugreifen dürfen. Als globale Anmeldeinformation definierst Du nobody mit leerem Passwort.

 

Ich arbeite ausschließlich mit externen Speichern. Nextcloud darf gerne mit seinen /config und /data Verzeichnissen spielen, aber der eigentliche Content gehört mir und den pflege ich über die externen Speicher. Wenn ich etwas außerhalb kopiere, dann geht das direkt in meine eigenen Ordner. Beim Zugriff über Nextcloud scannt dieses die externen Speicher und pflegt den Content automatisch in seine Datenbank ein.

 

Edited by hawihoney
  • Thanks 1
Link to comment

Vielen Dank für deine ausführliche Erklärung. 

Ich speichere alles im Cache, da ich nicht so viele Daten habe, habe ich mich für zwei größere SSDs entschieden.

 

5 minutes ago, hawihoney said:

Ich arbeite ausschließlich mit externen Speichern.

Das muss ich mir mal überlegen. Hört sich sinnvoll an, die persönlichen Daten getrennt von appdata aufzuheben. Je nachdem welcher Docker dann auf die Daten zugreifen können soll, könnten verschiedene Docker auf die Bilder, Musik, usw. zugreifen. Dann würden sich in der Nextclouds eigenen Datenstruktur gar keine persönlichen Daten befinden.

Könnten auch zwei Docker mit Schreib- und Leserechte auf einen Ordner zugreifen oder gibt es dann Rechteprobleme?

 

9 minutes ago, hawihoney said:

Als globale Anmeldeinformation definierst Du nobody mit leerem Passwort

Das verstehe ich nicht. Erstellst du in Nextcloud einen Benutzer nobody ohne Passwort? Nur was würde das bringen? Ich habe Nextcloud mit DuckDNS und Nginx Proxy Manager (komme irgendwie mit SWAG nicht richtig zurecht) nach außen sichtbar gemacht. Daher würde ich das lieber nicht machen.

Link to comment
52 minutes ago, 4n0nyM said:

Könnten auch zwei Docker mit Schreib- und Leserechte auf einen Ordner zugreifen oder gibt es dann Rechteprobleme?

 

Kein Problem.

 

52 minutes ago, 4n0nyM said:

Erstellst du in Nextcloud einen Benutzer nobody ohne Passwort?

 

Nein. Es geht um die globalen Anmeldedaten der Externen Speicher - sofern Du diese verwendest. nobody greift dann auf /Dokumente aus dem o.g. Beispiel zu und stellt diese Nextcloud zur Verfügung. Die Nextcloud-User die wiederum darauf zugreifen dürfen - nennen wie sie mal User1 und User2 - definiert man neben dem externen Speicher. Schau Dir einfach die Seite an. Dann wird das klar.

 

Ich bin mit meinen Daten schon dutzendfach umgezogen. Verschiedene Betriebssysteme, NAS, Verwaltungsprogramme. Meine Daten sind uralt und extrem gepflegt. Die überlasse ich keiner Software damit die jedesmal alles in andere Strukturen stecken. Das will ich einfach selbst kontrollieren.

 

 

Clipboard01.jpg

Clipboard02.jpg

Clipboard03.jpg

Edited by hawihoney
  • Thanks 1
Link to comment
  • 2 weeks later...
On 10/3/2021 at 7:53 PM, hawihoney said:

Also setze ich nachts alles auf nobody und 777

@hawihoney Bei mir kommt es ab und an mal vor, dass ich Dateien in Nextcloud nicht verschieben oder löschen kann. Momentan mache ich das dann immer über krusader. Das ist aber nicht wirklich toll. Ich vermute, dass ich da auch ein Rechteproblem habe.

Darf ich fragen, wie dein Skript aussieht, welches du in der Nacht drüber laufen lässt, um die Rechte anzupassen?

Link to comment
6 hours ago, 4n0nyM said:

Darf ich fragen, wie dein Skript aussieht, welches du in der Nacht drüber laufen lässt, um die Rechte anzupassen?

 

Ich nehme eine einfache Variante in einem User-Script:

 

find /mnt/disk17/Dokumente/ -type f -not -user nobody -exec chown nobody:users {} \;
find /mnt/disk17/Dokumente/ -type d -not -user nobody -exec chown nobody:users {} \;

find /mnt/disk17/Dokumente/ -type f -not -perm 666 -exec chmod 666 {} \;
find /mnt/disk17/Dokumente/ -type d -not -perm 777 -exec chmod 777 {} \;

 

  • Thanks 1
Link to comment

Vielen Dank. Hab das bei mir im User Script umgesetzt:

#!/bin/bash
find /mnt/user/Dateien -type f -not -user nobody -exec chown nobody:users {} \;
find /mnt/user/Dateien -type d -not -user nobody -exec chown nobody:users {} \;

find /mnt/user/Dateien -type f -not -perm 666 -exec chmod 666 {} \;
find /mnt/user/Dateien -type d -not -perm 777 -exec chmod 777 {} \;

Du hast auch am Anfang #!/bin/bash stehen, oder?

Link to comment
7 hours ago, mgutt said:

Ist es schneller erst ein find zu machen? Weil ein chown -R macht ja vom Prinzip das selbe.

 

Das habe ich nie ausprobiert. Vielleicht haben chmod/chown eine vorherige Prüfung auf die gewünschten Werte eingebaut - ich weiß es aber nicht. Ich habe zu oft Tools gesehen die alles überklatschen was ohnehin vorhanden ist. Wenn mir das jemand mal zeigt, ändere ich das sofort. 

 

Mich würde unnötiges Überschreiben mit den dann zwangsläufig durchgeführten Schreibzugriffen ärgern. Aber wie gesagt, das habe ich nie hinterfragt. So arbeite ich halt immer, das werde ich in diesem Leben auch nicht mehr los ;-)

 

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.