This repo is updated on dockerhub and you can have it without building it, by simply running the below command.
docker pull mycroftai/docker-mycroftGit pull this repository.
git clone https://github.com/MycroftAI/docker-mycroft.gitBuild the docker image in the directory that you have checked out.
docker build -t mycroft .To get persistent data and don't have, for example, to pair our instance every time the container is started. You can map a local directory into the container. Just replace the directory_on_local_machine with where you want the container mapped on your local machine (eg: /home/user/mycroft).
Sounds can be played in the container using pulseaudio, without modifying any config files (Thanks to fsmunoz).
- Set PULSE_SERVER env variable
- Share pulseaudio's cookie
Run the following to start up mycroft:
docker run -d \
-v directory_on_local_machine:/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-mycroftConfirm via docker ps that your container is up and serving port 8181:
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
692219e23bf2 mycroft "/mycroft/ai/mycro..." 3 seconds ago Up 1 second 0.0.0.0:8181->8181/tcp mycroftYou should now have a running instance of mycroft that you can interact with via the cli, etc.
At any time you can watch the logs simply by running the bellow command:
docker logs -f mycroftYou can exit out of this docker log command by hitting ctrl + c, the --follow basically turns it into a real tail instead of a cat of the log.
You can interact with the CLI of the container by running the following command, this will connect you to the running container via bash:
docker exec -it mycroft /bin/bashOnce in the container you can do ./start-mycroft.sh cli to get a interactive CLI to interact with mycroft if needed.
You can hit ctrl + c to exit the cli.
After the container has been started you can watch the logs and look for the line that says Pairing Code and use this to pair at https://home.mycroft.ai.
You can watch the logs and confirm it installs/deletes skills.
You can install skills into the container from outside by running the following:
docker exec -it mycroft /usr/local/bin/msm install github_urlSo to install say my basic-skill helper:
docker exec -it mycroft /opt/mycroft/msm/msm install https://github.com/btotharye/mycroft-skill-basichelpYou can uninstall a skill by removing the folder location for it
docker exec -it mycroft rm -rf /opt/mycroft/skills/mycroft-skill-basichelpThis would remove the above test basic help skill.