Scynd Posted July 17, 2022 Share Posted July 17, 2022 Hallo Zusammen, ich bin noch recht neu was Unraid, Docker und Linux angeht. Ich wollte gerade mal die neue TTS Engine Mimic3 von MycroftAI testen, bokomme aber eine Fehlermeldung wenn ich eine neue Stimme laden will. https://hub.docker.com/r/mycroftai/mimic3 In den offiziellen Doks ist der Fehler schon vermerkt und das Workaround sieht wie folgt aus. https://github.com/MycroftAI/mimic3/blob/master/README.md mkdir -p "${HOME}/.local/share/mycroft/mimic3" chmod a+rwx "${HOME}/.local/share/mycroft/mimic3" docker run \ -it \ -p 59125:59125 \ -v "${HOME}/.local/share/mycroft/mimic3:/home/mimic3/.local/share/mycroft/mimic3" \ 'mycroftai/mimic3' Also vor dem start des Containers den Ordner anlegen und die Rechte ändern. Der Fehler wird hier auch schon beschrieben, allerdings geht es hier nicht um Unraid. https://stackoverflow.com/questions/48957195/how-to-fix-docker-got-permission-denied-issue Aaaaber, ich bin einfach zu doof/unwissend um das in Unraid umzusetzten... Kann mir bitte jemand einen Tipp geben, wie ich das umsetzen kann? Gruß Bert Quote Link to comment
mgutt Posted July 17, 2022 Share Posted July 17, 2022 29 minutes ago, Scynd said: Also vor dem start des Containers den Ordner anlegen Das passiert automatisch, wenn man den Container installiert. Bei Unraid ist der Pfad /mnt/user/appdata/containername Führe das in der Konsole aus um die Rechte zu prüfen (zweiten Pfad anpassen): ls -la /mnt/user/appdata /mnt/user/appdata/containername Quote Link to comment
Scynd Posted July 17, 2022 Author Share Posted July 17, 2022 Danke für die schnelle Antwort! Ich habe es jetzt hinbekommen. Ich hatte nicht gesehen, dass ich zwei Pfade einbinden muss. /home/.local/share/mycroft/mimic3 und /home/mimic3/.local/share/mycroft/mimic3 Ich habe diese jetzt im Docker Template als Pfade eingebunden. Jetzt passt auch alles mit den Rechten Gruß Bert Quote Link to comment
mgutt Posted July 17, 2022 Share Posted July 17, 2022 1 hour ago, Scynd said: Ich habe diese jetzt im Docker Template als Pfade eingebunden. Jetzt passt auch alles mit den Rechten Zeig bitte was du da gemacht hast. In unRAID gibt es diese Pfade nicht bzw nur im RAM. Dh nach Neustart ist alles weg, wenn du es nicht mit /mnt... Verlinkt hast. Quote Link to comment
Scynd Posted July 17, 2022 Author Share Posted July 17, 2022 Ich habe schnell ein paar Screenshots des Templates gemacht. Quote Link to comment
mgutt Posted July 17, 2022 Share Posted July 17, 2022 Das erscheint mir nicht richtig zu sein und ich denke du hast da was falsch verstanden. Du hast diese zwei Pfade als Pfade des Containers interpretiert: -v "${HOME}/.local/share/mycroft/mimic3:/home/mimic3/.local/share/mycroft/mimic3" Der erste Pfad ist aber der vom Host und der zweite vom Container. Also würde man das für Unraid umschreiben, würde das so aussehen: -v "/mnt/user/appdata/mimic3:/home/mimic3/.local/share/mycroft/mimic3" Das kannst du auch selbst prüfen. Auf das Icon vom Container klicken > Console und dann das ausführen: ls -la /home/mimic3/.local/share/mycroft/mimic3 ls -la /home/local/share/mycroft/mimic3 Einer von den beiden Pfaden sollte ein leeres Ergebnis zurückgeben = der ist überflüssig in deiner Container-Config. Wenn meine Vermutung stimmt, kann also der erste weg: Quote Link to comment
Scynd Posted July 18, 2022 Author Share Posted July 18, 2022 (edited) Ich hatte es getestet und erst den Pfad /home/.local/share/mycroft/mimic3 eingebunden, aber dann wieder eine Fehlermeldung bekommen, dass Schreibrechte auch bei /home/mimic3/.local/share/mycroft/mimic3 fehlen. Nachdem ich diesen Pfad auch eingebunden hatte, lief alles. Wenn du dir den Befehl genauer anschaust, interpretiere ich das so... { Pfad1 } : { Pfad2 } { Host } -v "${HOME}/.local/share/mycroft/mimic3:/home/mimic3/.local/share/mycroft/mimic3" \ 'mycroftai/mimic3' Ist komisch geschrieben, sieht für mich aber aus wie eine verkürzte Schreibweise das beide in Unraid eingebunden werden. Auf jeden Fall hat jeder Pfad, wenn er nicht eingebunden ware einen Schreibrechte Fehler ausgelöst. Sobald beide eingebunden waren, waren die Fehler weg. Edited July 18, 2022 by Scynd Quote Link to comment
mgutt Posted July 18, 2022 Share Posted July 18, 2022 26 minutes ago, Scynd said: Ist komisch geschrieben, sieht für mich aber aus wie eine verkürzte Schreibweise das beide in Unraid eingebunden werden. Ist aber nicht so. Die Option "-v" kennt nur hostpath:containerpath https://www.digitalocean.com/community/tutorials/how-to-share-data-between-the-docker-container-and-the-host -v ~/nginxlogs:/var/log/nginx sets up a bindmount volume that links the /var/log/nginx directory from inside the Nginx container to the ~/nginxlogs directory on the host machine. Docker uses a : to split the host’s path from the container path, and the host path always comes first. Die geschweiften Klammern enthalten einfach nur die HOME Variable, die auf das Home Verzeichnis des aktuell angemeldeten Users verweist: https://www.shell-tips.com/bash/environment-variables/#the-user-home-directory-variable-home 38 minutes ago, Scynd said: Auf jeden Fall hat jeder Pfad, wenn er nicht eingebunden ware einen Schreibrechte Fehler ausgelöst. Sobald beide eingebunden waren, waren die Fehler weg. Kann nicht sein. Führe die die Befehle aus und du siehst es selbst. Quote Link to comment
Scynd Posted July 18, 2022 Author Share Posted July 18, 2022 Hallo mgutt, ich habe gerade noch einmal nacheinander von lesen/schreiben auf nur lesen gestellt und du hast natürlich recht gehabt. Es ist nur der Pfad /home/mimic3/.local/share/mycroft/mimic3 nötig. Den zweiten habe ich jetzt gelöscht. Vielen dank nochmal für deine Hilfe und Hartnäckigkeit! 🙂 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.