Sign inSign up

mycroftai/docker-mycroft

By mycroftai

•Updated about 4 years ago

Dockerized automated public build of Mycroft Core

Image
45

100K+

mycroftai/docker-mycroft repository overview

⁠Mycroft Docker Development Environment

Codefresh build status Build Status

⁠Install

⁠Get image from Docker hub

This repo is updated on dockerhub⁠ and you can have it without building it, by simply running the below command.

docker pull mycroftai/docker-mycroft
⁠Build image

Git pull this repository.

git clone https://github.com/MycroftAI/docker-mycroft.git

Build the docker image in the directory that you have checked out.

docker build -t mycroft .

⁠Run

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⁠).

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-mycroft

Confirm 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                          mycroft

You should now have a running instance of mycroft that you can interact with via the cli, etc.

⁠Logs

At any time you can watch the logs simply by running the bellow command:

docker logs -f mycroft

You 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.

⁠CLI Access

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/bash

Once 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.

⁠Pairing Instance

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⁠.

⁠Skills

You can watch the logs and confirm it installs/deletes skills.

⁠Install

You can install skills into the container from outside by running the following:

docker exec -it mycroft /usr/local/bin/msm install github_url

So to install the Hello World Skill you would run:

docker exec -it mycroft /opt/mycroft/msm/msm install https://github.com/MycroftAI/skill-hello-world
⁠Remove

You can uninstall a skill by removing the folder location for it

docker exec -it mycroft rm -rf /opt/mycroft/skills/mycroft-hello-world.mycroftai

This would remove the above test basic help skill.

Tag summary

Content type

Image

Digest

sha256:b8841ae39…

Size

647.5 MB

Last updated

about 4 years ago

docker pull mycroftai/docker-mycroft