Dockereinstellungen setzen sich zurück


Sonne

Recommended Posts

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  

Link to comment

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?

 

Link to comment
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... 🐻

Link to comment
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?

Bildschirmfoto.png

Edited by Sonne
Link to comment
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:

grafik.thumb.png.34ec13c491b0701c44050a541e80f8d9.png

 

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.

Link to comment

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. 

Link to comment
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

Link to comment
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.

Link to comment
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.

Link to comment

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.

Link to comment
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.

Link to comment

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.

Link to comment
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.

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.