From version 0.47 on this repository will be discontinued. You can use the https://hub.docker.com/r/homeassistant/raspberrypi3-homeassistant/ instead or use the great https://github.com/home-assistant/hassio.
Home Assistant for RPI3 with python-openzwave. Beginning with 0.45.1 Python Openzwave is no more compiled from https://github.com/OpenZWave/python-openzwave.git. Instead it is installed via pip.
- Starting with version 0.30.2 based on python 3.5 with the packages mysqlclient, uvloop included.
- Starting with version 0.39.2 there is also https://github.com/lazcad/homeassistant included (code for Xiaomi Mi Gateway) - HomeAssistant Xiaomi Hub Component by Rave (Lazcad) - great work! I try to include always the latest code from repository. In version 0.39.3 i had to modify the code a little.
- Temporarily, due to heavy development Xiaomi Hub Component starting with version 42.0 not included. Maybe sometime in the future it will be included again. Copy the code into your custom_components folder instead.
- Starting with version 0.45.1 with ffmpeg, openalpr, z-wave (installed via pip), phantomjs and coap_client.
The Dockerfile is nearly the same as https://github.com/home-assistant/home-assistant/blob/dev/Dockerfile except the baseimage. I have to use my own, because I crosscompile the image on a Mac:
MAINTAINER Ferdinand Gabriel email@example.com
RUN [ "cross-build-start" ]
#Uncomment any of the following lines to disable the installation.
ENV INSTALL_TELLSTICK no
#ENV INSTALL_OPENALPR no
#ENV INSTALL_FFMPEG no
#ENV INSTALL_OPENZWAVE no
ENV INSTALL_LIBCEC no
#ENV INSTALL_PHANTOMJS no
#ENV INSTALL_COAP_CLIENT no
RUN mkdir -p /usr/src/app
#Copy build scripts
COPY virtualization/Docker/ virtualization/Docker/
#Install hass component dependencies
COPY requirements_all.txt requirements_all.txt
RUN pip3 install --no-cache-dir -r requirements_all.txt && pip3 install --no-cache-dir mysqlclient psycopg2 uvloop cchardet
COPY . .
CMD [ "python", "-m", "homeassistant", "--config", "/config" ]
RUN [ "cross-build-end" ]
To start the container use a similar command:
docker run -d --name home-assistant --net=host --restart=always --log-driver=syslog --device=/dev/$(readlink /dev/zwave):/dev/zwave:rwm -v /etc/localtime:/etc/localtime:ro -v /[your directory with the configuration.yaml]:/config fgabriel/rpi-home-assistant:latest
The $(readlink /dev/zwave) is used to tell docker the true device name. If you use the symlink /dev/zwave, it won't work - docker can't handle symlinks for devices.