Mycroft on Raspberry Pi OS

If I want to use Mycroft on a Raspberry Pi 4, which I want to use as a desktop computer at the same time, what is the best way to do this?
Install Mycroft on Raspberry? Or add the desktop to Picroft?
(I would use the Google AIY Voice HAT)
I’m not familiar with “Docker” maybe that’s the way?

Thanks for pointing me in the right direction!

Git installation mycroft-core → build mycroft-gui on top → desktop-link(s) performing mycroft-start all , mycroft-stop , mycroft-gui-app and mycroft-cli-client (in terminal) and you’re good.

1 Like

Hi @Taxicletter

Docker images are available here if you want to try them.

1 Like

Has using a docker advantages?

In my opinion the advantages are:

  • No Python pollution on Raspberry Pi OS
  • No systemd pollution on Raspberry Pi OS
  • Mycroft container will start automatically with the system by default
  • Easy to update
  • Possibility to run multiple version of Mycroft (not at the same time)

Using Mycroft without Docker will perfectly work as well, it’s just a choice. :heart_eyes:

I build an Ansible role to “optimize” a Raspberry Pi (this is what I’m using in combination with Docker).

Using docker is perfectly fine, yet i would preferably use it in performance critical applications. (I run a pi4 server with serveral pods managing the household data) And if you plan on orchastrating several docker -with cross communication-, it’s not a straight forward task at first.

Although i’m pretty curious about mycroft driven by rootless podman, but i would guess this needs additional dev time on podman to not end up in too much of a hassle.

Thanks for your feedback! And thanks for bringing that ansible-thing to notice, I didn’t know it. I’m not sure which RPi 4 I have though, will look it up later.

Thanks for your feedback too. Now I have 1 vote for and 1 vote against :-).
I don’t plan to use several docker-applications or docker on different RPi’s.

And you seem a lot more savvy then me, I don’t know what a podman is, dev time and all that kind of things :-).

Podman is on my to do, last time I tried the arm64 support was not great. I tried docker-rootless and felt a performance issue mostly related to the filesystem.

@Taxicletter the best way to know will be to try different things! Enjoy :stuck_out_tongue:

@Taxicletter, welcome to the community :grinning:

I had the same idea and wrote a “cookbook” on how to install mycroft and a music playing stack. You can download it from mycroft-tools/smartBoombox.pdf at master · mike99mac/mycroft-tools · GitHub

It describes installing Ubuntu server, but Raspberry Pi OS shouldn’t be much different.

It’s still very “alpha”, but if you use it, any feedback would be appreciated. Maybe I could add a section on installing Raspberry Pi OS as an alternative.


-Mike M
1 Like

Thanks. I’ve installed Docker and now I’m installing Mycroft, which seems to take a long time (but everything is running, no worries).

I think everything went OK, but now I’m stuck. I’m using these instructions: Docker - Mycroft AI,

and I’m stuck on this part: “Running Mycroft for Docker”.

I don’t know where I should do this: " Just replace the directory_on_local_machine with the path you want the container mapped to on your local machine" and they don’t explain how to do this “Set PULSE_SERVER env variable” and “Share pulseaudio’s cookie”.

I tried copying the code underneath, but somehow it doesn’t copy and copying line per line gives an error in the first line, I need to set an argument…

I’ll try further, but meanwhile, if you have hints or tips :slight_smile:

-v directory_on_local_machine:/root/.mycroft
what reads create a volume (-v) mapping directory_on_local_machine to the one inside the container (/root/.mycroft)

the ones attributed with -e are environmental variable. ie
-e PULSE_SERVER=unix:${XDG_RUNTIME_DIR}/pulse/native is the one talked aout
this goes along with
-v ${XDG_RUNTIME_DIR}/pulse/native:${XDG_RUNTIME_DIR}/pulse/native

you have to check if there is something at ${XDG_RUNTIME_DIR}/pulse/native, resp. where it is to map it in.
The same would apply to the cookie.

1 Like

But my understanding is you want to docker up smartgics (microservice) docker. They have a different structure. Those are the instuctions

1 Like

That looks more complicated than I understand… Thought it would be an easier process. I really don’t understand “what reads create a volume (-v) mapping directory_on_local_machine to the one inside the container” Creating a volume?? Mapping??

I don’t know what smartgics or microservice are either, I didn’t think I was dockering anything up there.

I understand basic terminal commando’s and I can follow a manual, but since this manual seems to stop halfway through, I’m stuck as well :-).

The info on Network Setup – PulseAudio is way to complicated for me. They offer choices and I have to decide on info I don’t understand.

Is the way to install Mycroft WITHOUT docker as complicated as this?

(Thanks for your feedback, by the way, I forgot to mention that :wink: )

Since this is kind of a new topic, I made a new topic for it. (Running Mycroft for Docker)

forget about docker and install it using the usual method
That’s why i suggested that in the first place. You would have to dig through docker documentary otherwise to understand the syntax to be able to apply the specifics.

1 Like

I’ll do that! I didn’t know using the docker was more complicated, I thought it would be easier somehow. Thanks!

Maybe one more question: how can I now uninstall all I installed? It was quite a lot, so it would be lost space.

BUT: this doesn’t spare you the work on the sound config since you’re using “Google AIY Voice HAT”. There are additional steps like here to perform.

I already got the speaker and mic working, but I see there’s more to it.
Thanks, I’ll bookmark your comment for later!

I usually just copy a fresh Linux image to the micro-SSD card, start from square 1 and update my notes along the way.

-Mike M