Jump to content

MycroftAi Mimic3 Container Schreibrechte Problem


Scynd

Recommended Posts

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

 

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

 

 

Link to comment

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

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

Link to comment

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:

 

image.png.4902639593a66ea4efc9cd74e4e7f431.png

Link to comment

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

Link to comment

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! 🙂

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.

×
×
  • Create New...