All Projects → MycroftAI → Docker Mycroft

MycroftAI / Docker Mycroft

Mycroft Development Environment inside Docker!

Projects that are alternatives of or similar to Docker Mycroft

Kde
[MIRROR] KDE team's testing overlay
Stars: ✭ 80 (-1.23%)
Mutual labels:  hacktoberfest
Snackbar
toast-like alert pattern for Android inspired by the Google Material Design Spec
Stars: ✭ 1,234 (+1423.46%)
Mutual labels:  hacktoberfest
Shlink Web Client
A React-based client application for Shlink
Stars: ✭ 81 (+0%)
Mutual labels:  hacktoberfest
Ign Gazebo
Open source robotics simulator. Through Ignition Gazebo users have access to high fidelity physics, rendering, and sensor models. Additionally, users and developers have multiple points of entry to simulation including a graphical user interface, plugins, and asynchronous message passing and services. Ignition Gazebo is derived from Gazebo, and represents over 16 years of development and experience in robotics and simulation. This library is part of the Ignition Robotics project.
Stars: ✭ 81 (+0%)
Mutual labels:  hacktoberfest
Xrandr Extend
💻➡️ Extend a HIDPI screen to a normal DPI external display
Stars: ✭ 81 (+0%)
Mutual labels:  hacktoberfest
Passwd
A beautiful, cross-platform, encrypted password manager 🔐
Stars: ✭ 82 (+1.23%)
Mutual labels:  hacktoberfest
Theodinproject
Main Website for The Odin Project
Stars: ✭ 1,227 (+1414.81%)
Mutual labels:  hacktoberfest
Graphql Doctrine
Automatic GraphQL types from Doctrine entities
Stars: ✭ 81 (+0%)
Mutual labels:  hacktoberfest
Noredink Ui
UI widgets we use -- https://noredink-ui.netlify.com/
Stars: ✭ 81 (+0%)
Mutual labels:  hacktoberfest
Binari
Interactive code editor with a live binary tree visual designed to teach new developers the fundamentals of dynamic programming.
Stars: ✭ 82 (+1.23%)
Mutual labels:  hacktoberfest
Cookietemple
A collection of best practice cookiecutter templates for all domains and languages with extensive Github support
Stars: ✭ 81 (+0%)
Mutual labels:  hacktoberfest
Dockest
Docker + Jest integration testing for Node.js
Stars: ✭ 81 (+0%)
Mutual labels:  hacktoberfest
React Builder
⚙ A GUI tool to build your react app in the fastest way with all components and pages with routing.
Stars: ✭ 82 (+1.23%)
Mutual labels:  hacktoberfest
Commudle Ng
World's first community management platform. And it's free!
Stars: ✭ 81 (+0%)
Mutual labels:  hacktoberfest
Fab Speed Dial
Angular Material FAB speed dial
Stars: ✭ 82 (+1.23%)
Mutual labels:  hacktoberfest
Windows exporter
Prometheus exporter for Windows machines
Stars: ✭ 1,230 (+1418.52%)
Mutual labels:  hacktoberfest
Rust Onig
Rust bindings for the Oniguruma regex library
Stars: ✭ 81 (+0%)
Mutual labels:  hacktoberfest
Doctor Command
Diagnose problems within WordPress by running a series of checks for symptoms
Stars: ✭ 82 (+1.23%)
Mutual labels:  hacktoberfest
Travel Guide
"A travel guide to suggest activities you can do once you arrive to a certain destination. Or you can just browse destinations and check out the different available activities."
Stars: ✭ 82 (+1.23%)
Mutual labels:  hacktoberfest
Vue Leaflet
vue-leaflet compatible with vue3
Stars: ✭ 82 (+1.23%)
Mutual labels:  hacktoberfest

Mycroft Docker Development Environment

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 config_dir_on_host with where you want the container mapped on your local machine (e.g. /home/user/mycroft). To get persistent storage of non-default skills, so that they don't have to be re-installed every time the container is started, we map the container's skills directory to a local directory. Just replace the skills_dir_on_host with the desired location (e.g. /home/user/mycroft_skills).

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 config_dir_on_host:/root/.mycroft \
-v skills_dir_on_host:/opt/mycroft/skills \
--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.

You can filter the logs to get the pairing code as such:

docker logs mycroft | grep "Pairing code:"

Skills

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

Install

You can install skills into the container with the Mycroft Skills Manager (MSM):

docker exec -it mycroft /opt/mycroft/bin/mycroft-msm install skill-name

So to install the Hello World Skill we can use:

docker exec -it mycroft /opt/mycroft/bin/mycroft-msm install hello-world

For development purposes you can also install Skills directly from Github. So if the Hello World Skill was not in the Mycroft Marketplace, we could use the following:

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

Please note: only Skills in the Mycroft Marketplace have been reviewed and verified. We strongly recommend carefully reviewing the code of any Skill you are installing from outside of the Marketplace. This is done completely at your own risk.

Remove

You can uninstall a Skill using MSM or by removing the folder location for it:

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

Both of these commands would remove the Hello World Skill.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].