Sonne Posted April 6, 2021 Share Posted April 6, 2021 Hallo allerseits, ich hab da ein Problem bzw übersehe ich etwas. Ich habe mir einen Octoprint Docker geladen. Devices durchreichen etc alles passt. Beim Web Aufruf des Dockers muss ich bei Octoprint den Wizard durchlaufen und das passt auch alles. Wenn ich aber jetzt etwas an dem Container ändere, zb noch eine zusätzliche Cam, dann setzt es mir den Docker Container wieder zurück und ich muss wieder den Wizard durchlaufen und alles erneut eingeben. Kann mir jemand sage wie ich das umgehe. Bin noch Neuling im Bereich Docker. Danke Mit freundlichen Grüßen Quote Link to comment
Ford Prefect Posted April 6, 2021 Share Posted April 6, 2021 Du musst rausfinden in welchem Pfad innerhalb des Containers Deine Einstellungen gespeichert werden (zB in Config-Files oder einer kleinen Datenbank). Diesen Pfad (oder Pfade) musst Du auf einen Pfad (oder Pfade) ausserhalb des Containers - also auf dem unraid Host, typischereise unter /mnt/user/appdata/<docker> mappen, damit die Daten erhalten bleiben. Diesen Pfad bzw. das Mapping kannst Du im Docker-template anpassen/konfigurieren. Wenn Du ein fertiges Template aus den unraid-Apps nutzt, sollte das aber eigentlich schon erledigt sein. Ich kenne octoprint nicht, aber sehe einige Templates zur Auswahl...hast Du da mal eines von probiert? Quote Link to comment
Sonne Posted April 6, 2021 Author Share Posted April 6, 2021 Jap ein Template davon habe ich genutzt. Auch werden die Daten in appdata gemappt. Problem ist ja es gibt zwei Templates. Bei dem einen klappt aber das ist noch die alte Version. Bei dem anderen klappt nicht aber das ist die neue. Quote Link to comment
Sonne Posted April 6, 2021 Author Share Posted April 6, 2021 Ich habe gerade gesehen dass, jedes mal wenn ich den Docker bearbeite, ein neues Verzeichnis erstellt wird. Quote Link to comment
Ford Prefect Posted April 6, 2021 Share Posted April 6, 2021 ...unter .../appdata/ auf dem Host meinst Du?Dann hast Du wahrscheinlich den Pfad nicht richtig eingestellt....zeig doch mal...mein PSI reicht nicht bis zu Dir^^...und welcher Docker ist es denn, den Du willst?Gesendet von meinem SM-G960F mit Tapatalk Quote Link to comment
ich777 Posted April 6, 2021 Share Posted April 6, 2021 58 minutes ago, Sonne said: Ich habe gerade gesehen dass, jedes mal wenn ich den Docker bearbeite, ein neues Verzeichnis erstellt wird. Hast du Variablen/Pfade gelöscht bzw. neu erstellt? EDIT: welchen Octoprint container hast du geladen bzw. von wem? EDIT2: wenn es der von Spant ist dann musst du beachten das er im Template: <TemplateURL/> leer gelassen hat. Jedes mal wenn du im Template eine komplette Variable löscht bzw. einen Pfad löscht und einen neuen erstellst und Unraid sucht nach updates, werden die alten Variablen wiederhergestellt. Eine Lösung für dieses Problem wäre evtl. wenn Spant in seinem Template: <TemplateURL>False</TemplateURL> einträgt. Wenn er das macht hat er aber wieder das Problem wenn er in seinen Templates etwas ändert werden die Templates der User bei denen der Container installiert ist nicht upgedated. Am besten wäre es du löscht keine Ports/Pfade/Variablen sondern änderst sie einfach ab damit das Template richtig upgedated werden kann (wenn du sie nur abänderst werden sie nicht neu erstellt oder wieder auf Standard zurückgesetzt). Hoffe ich konnte das irgendwie halbwegs verständlich erklären... Bin leider nicht so der Erklärbär... 🐻 Quote Link to comment
Sonne Posted April 7, 2021 Author Share Posted April 7, 2021 (edited) 13 hours ago, ich777 said: Hast du Variablen/Pfade gelöscht bzw. neu erstellt? EDIT: welchen Octoprint container hast du geladen bzw. von wem? EDIT2: wenn es der von Spant ist dann musst du beachten das er im Template: <TemplateURL/> leer gelassen hat. Jedes mal wenn du im Template eine komplette Variable löscht bzw. einen Pfad löscht und einen neuen erstellst und Unraid sucht nach updates, werden die alten Variablen wiederhergestellt. Eine Lösung für dieses Problem wäre evtl. wenn Spant in seinem Template: <TemplateURL>False</TemplateURL> einträgt. Wenn er das macht hat er aber wieder das Problem wenn er in seinen Templates etwas ändert werden die Templates der User bei denen der Container installiert ist nicht upgedated. Am besten wäre es du löscht keine Ports/Pfade/Variablen sondern änderst sie einfach ab damit das Template richtig upgedated werden kann (wenn du sie nur abänderst werden sie nicht neu erstellt oder wieder auf Standard zurückgesetzt). Hoffe ich konnte das irgendwie halbwegs verständlich erklären... Bin leider nicht so der Erklärbär... 🐻 Genau das wird das Problem sein. Nein es ist nicht von Spant. Da dies nicht die aktuelle Version von Octoprint ist. Ich habe das von Mearman. Das Problem ist ja, wenn ich etwas ändern muss wie Pfade oder ne neue Cam einbinde muss ich ja etwas ändern und ich fange von vorne an. Ich lege mal ein Bild bei. Ich verstehe was du mit dem Template meinst. Ich schaue mal ob ich das hinbekomme. Tante Edit: Habe überlesen das er das machen muss. Oder kann ich das bei mir irgendwie ändern mit der URL? Edited April 7, 2021 by Sonne Quote Link to comment
mgutt Posted April 7, 2021 Share Posted April 7, 2021 Wie heißt denn der Pfad, in den sich der Container neu installiert? Auf dem Screenshot ist es appdata/octoprint/mk3s Wenn sich der Container neu installiert, müsste sich dieser Pfad ja geändert haben oder wie? Quote Link to comment
ich777 Posted April 7, 2021 Share Posted April 7, 2021 14 minutes ago, Sonne said: Tante Edit: Habe überlesen das er das machen muss. Oder kann ich das bei mir irgendwie ändern mit der URL? Also ich hab mir dein Template und seins mal angesehen, die Pfade dürfte er eigentlich nicht automatisch abändern da du ja seinen angepasst hast. Das Problem sehe ich eher hier: Du darfst diese variable nicht löschen, was du ja in deinem screenshot gemacht hast, lösch lieber deine MK3s variable wenn die ursprüngliche wieder auftaucht. EDIT: Das mit dem Wizard kann ich dir auch nicht beantworten, das sollte eigentlich nicht passieren, denn selbst wenn mal ein update von dem Docker kommt dann hast du das gleiche Problem. Quote Link to comment
Sonne Posted April 7, 2021 Author Share Posted April 7, 2021 Also ich habe es gerade nochmal getestet. Auch wenn ich die Printer USB Port Variable drin lasse, passiert das selbe. Sobald ich ein Device hinzufüge bin ich wieder beim Wizard. Beim aktualisieren zeigt er auch an das der Container gelöscht wird und neu hinzugefügt. Wenn ich aber zb Software installiere bleibt diese erhalten. Momentan mache ich es über die Backup Funktion von Octoprint. Quote Link to comment
Sonne Posted April 7, 2021 Author Share Posted April 7, 2021 29 minutes ago, mgutt said: Wie heißt denn der Pfad, in den sich der Container neu installiert? Auf dem Screenshot ist es appdata/octoprint/mk3s Wenn sich der Container neu installiert, müsste sich dieser Pfad ja geändert haben oder wie? Ich hab mich da wohl vertan. Es waren zwei Ordner von Octoprint da deswegen dachte ich das dies passiert ist Quote Link to comment
mgutt Posted April 7, 2021 Share Posted April 7, 2021 12 minutes ago, Sonne said: Beim aktualisieren zeigt er auch an das der Container gelöscht wird und neu hinzugefügt. Das ist normal. Container enthalten keine Nutzerdaten, sondern nur das Programm. Das kann so oft neu installiert werden wie es will. Die Nutzerdaten liegen dagegen in dem /mk3s Ordner. Solange die da sind, darf der Container auch keinen Wizard anzeigen. Ist das trotzdem der Fall, dann liegt es am Programm, dass ein neues Device eine neue Installation auslöst oder es wurde vorher ein anderer Ordner genommen. Allerdings ist appdata/octoprint/mk3s nicht der Standardordner. Den hast du geändert. Die Frage ist warum und hast du den Pfad schon mal geändert? Dann ist es klar, dass der Container immer bei Null anfängt. Quote Link to comment
Sonne Posted April 7, 2021 Author Share Posted April 7, 2021 18 minutes ago, mgutt said: Allerdings ist appdata/octoprint/mk3s nicht der Standardordner. Den hast du geändert. Die Frage ist warum und hast du den Pfad schon mal geändert? Dann ist es klar, dass der Container immer bei Null anfängt. Geändert habe ich den Pfad weil ich mehrere Instanzen laufen habe da mehrere Drucker. Deswegen bekommen alle ihren eigenen Pfad. Aber auch wenn ich das einfach ohne Änderungen installiere, einrichte und danach was ändere passiert das auch. Quote Link to comment
mgutt Posted April 7, 2021 Share Posted April 7, 2021 54 minutes ago, Sonne said: Aber auch wenn ich das einfach ohne Änderungen installiere, einrichte und danach was ändere passiert das auch. Dann liegt es am Container. Da der von octoprint selbst ist, müsste man hier fragen: https://github.com/OctoPrint/octoprint-docker/issues Quote Link to comment
Sonne Posted April 7, 2021 Author Share Posted April 7, 2021 Jetzt wird es noch spannender 🙈. Ich habe eine Freigabe auf dem Unraid Server wo meine ganzen Druckdateien liegen. Schiebe ich via SMB drauf. In Octoprint gibt es einen Upload Ordner in dem alle geladenen Druckdateien liegen. So nun habe ich den Ordner vom Server gemountet und die Octoprint Instanz. Sobald aber der Wizard, der ja wie gesagt wieder kommt wenn ich etwas ändere, durchlaufen ist dann werden alle diese Druckdatein gelöscht weil der Wizard wahrscheinlich den upload Ordner ersetzt. Quote Link to comment
ich777 Posted April 7, 2021 Share Posted April 7, 2021 2 minutes ago, Sonne said: So nun habe ich den Ordner vom Server gemountet und die Octoprint Instanz. Sobald aber der Wizard, der ja wie gesagt wieder kommt wenn ich etwas ändere, durchlaufen ist dann werden alle diese Druckdatein gelöscht weil der Wizard wahrscheinlich den upload Ordner ersetzt. Ja weil die Druckdateien wo anders liegen die du hochlädst... Die werden in der Octoprint datenbank angelegt und dann mehr oder weniger in das richtige Verzeichnis "einsotiert". Warum mountest du überhaupt einen Ordner dort hin? Die werden doch über das Webinterface hochgeladen. Mach mal einen issue auf Github das deine Dateien immer verloren gehen nach einen Docker update bzw. neu erstellen obwohl der bind mount drin ist. Quote Link to comment
Sonne Posted April 7, 2021 Author Share Posted April 7, 2021 Ich mache das deswegen weil ich so nach dem Slicen nicht zwei Schritte mache. Ich speichere quasi direkt auf den Netzlaufwerk und dann sind die drin. Habe vorher alles via Pi gemacht da ging das super Quote Link to comment
Sonne Posted April 7, 2021 Author Share Posted April 7, 2021 4 hours ago, ich777 said: Mach mal einen issue auf Github das deine Dateien immer verloren gehen nach einen Docker update bzw. neu erstellen obwohl der bind mount drin ist. Getan Quote Link to comment
Sonne Posted April 8, 2021 Author Share Posted April 8, 2021 Für alle die auch das Problem haben sollten oder haben werden. Appdata Verzeichnis muss unter folgendem Pfad im Container gemounted werden: /octoprint (und nicht /home/octoprint wie im Template drin) Wenn jemand auch seine GCodes per Netzlaufwerk mounten will dann unter: /octoprint/octoprint/uploads Somit passiert es nicht mehr das der Wizard immer wieder nach Veränderungen erscheint. Quote Link to comment
ich777 Posted April 8, 2021 Share Posted April 8, 2021 Super danke für die Info @Sonne! Haben die das template wenigstens gleich geändert das sowas in zukunft nicht mehr passiert. Quote Link to comment
Sonne Posted April 9, 2021 Author Share Posted April 9, 2021 @ich777 Müsste das nicht Merman aus der Community machen? Er stellt ja die App in seiner Repository bereit. Dadurch gibt er ja die Variable wo gemundet wird vor oder? Müsste ich ihn mal anschreiben oder? Quote Link to comment
ich777 Posted April 9, 2021 Share Posted April 9, 2021 4 minutes ago, Sonne said: @ich777 Müsste das nicht Merman aus der Community machen? Er stellt ja die App in seiner Repository bereit. Dadurch gibt er ja die Variable wo gemundet wird vor oder? Müsste ich ihn mal anschreiben oder? Ja, würd einfach einen Github issue aufmachen und ihn dort erwähnen das eben der Pfad zum Verzeichnis von Octoprint nicht passt. Quote Link to comment
Recommended Posts
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.