I had a question, after compilation and set up how do we interface with the AI? Do we start with the terminal badh shell? Or does it automaticly respond to voice commands? If I were to put in the IP of my virtual machine (ubuntu) into a web browser, would I bee able to go to a simple web page to login and setup / configure the system? Do you have any videos of how you bring up the servies and interface while you are testing your system?
I resolved this with help from the Slack channel. I had setup the environment as sudo. I re-ran dev_setup.sh as my normal user and this fixed everything.
Here’s a working Dockerfile for setting up the mycroft-core development environment, in case there’s any other non-Ubuntu users interested. It’s tested with Fedora 23 as the host OS but should work with Mac OS or any Linux distribution.
FROM ubuntu:14.04
# Add mycroft-core dependencies from build_host_setup.sh and curl
RUN apt-get update
RUN sudo apt-get install -y \
git \
python \
python-dev \
python-virtualenv \
python-gobject-dev \
virtualenvwrapper \
libtool \
libffi-dev \
libssl-dev \
autoconf \
bison \
swig \
libglib2.0-dev \
s3cmd \
portaudio19-dev \
mpg123 \
curl
RUN sudo easy_install --upgrade virtualenv
# Get Mycroft Core
RUN git clone https://github.com/MycroftAI/mycroft-core.git
# Make non-root user in container
RUN useradd mycroft -d /mycroft-core && chown -R mycroft /mycroft-core
USER mycroft
# Run dev_setup script as non-root user
WORKDIR mycroft-core
RUN ./dev_setup.sh
I only have time to skim this until I get home, but it looks like the pre-existing dockerfile doesn’t use a python virtualenv. I seriously considered going that route (since container in a container is a bit silly) but decided for the sake of guaranteed compatibility and ease of maintenance to keep it.
If you guys think that having virtualenv + docker works I’ll submit the pull request. Otherwise I can tweak the existing dockerfile, but it might occasionally need to be updated if stuff changes w.r.t. the virtualenv settings.
In terms of skills I’m working on a pair of skills for the Wemo smart switch and motion sensor building on the excellent open source Ouimeaux controller project.