MycroftAI / docker-mycroft

Mycroft Development Environment inside Docker!
97 stars 63 forks source link

MAC Docker Pulse Audio How to #61

Open allahbaksh opened 4 years ago

allahbaksh commented 4 years ago

HI, How to run mycroft on docker MAC. Basically what config parameters should be specified. I have install pulseaudio

TheLastProject commented 4 years ago

What exact issue are you having if you use the example in the README?

fotijr commented 4 years ago

Not the OP, but I think I'm struggling in the same way. Some background info- I'm a Docker novice (can do the basics but have to follow guides for more complex cases). I've never heard of pulseaudio until trying to setup Mycroft on Docker (following this guide).

First I ran this command:

docker run -d -v /Users/me/Documents/mycroft:/root/.mycroft --device /dev/snd -e PULSE_SERVER=unix:${XDG_RUNTIME_DIR}/pulse/native -v ${XDG_RUNTIME_DIR}/pulse/native:${XDG_RUNTIME_DIR}/pulse/native -v ~/.config/pulse/cookie:/root/.config/pulse/cookie -p 8181:8181 --name mycroft mycroftai/docker-mycroft

Then I get the following error:

docker: Error response from daemon: Mounts denied:
The path /pulse/native is not shared from OS X and is not known to Docker.

This is clear enough, I need to fix the path so the docker container knows where pulseaudio is. I have pulseaudio installed with homebrew, so I run the following to get the path to pulseaudio:

brew --prefix pulseaudio
# which prints /usr/local/opt/pulseaudio

The problem is I don't know what paths to update. Where should it be pointing? Here's what the directory structure looks like at /usr/local/opt/pulseaudio: image

The only other pulseaudio items mentioned in the Mycroft setup guide are the pulseaudio cookie, which I seem to have setup correctly, and the PULSE_SERVER env var, which I don't have (and don't know what to set it to).

I know I'm exposing a lot of my ignorance here, but hopefully this adds more context to the original request to improve documentation at this step.