Node-RED-homekit-docker is a Node-RED based project with support for homekit via NRCHKB.
100K+
Node-RED-homekit-docker is a Node-RED based project with support for homekit. It is based on the official Node-RED Docker images with the necessary tools and npm module node-red-contrib-homekit-bridged installed to run homekit within a docker container.
Node-RED-homekit-docker is supported by manifest list, which means one doesn't need to specify the tag for a specific architecture. Using the image without any tag or the latest tag, will pull the right image for the architecture required.
Currently Node-RED-homekit has support for multiple architectures:
amd64 : based on linux Alpine - for most desktop computer (e.g. x64, x86-64, x86_64)arm32v6 : based on linux Alpine - (i.e. Raspberry Pi 1 & Zero)arm32v7 : based on linux Alpine - (i.e. Raspberry Pi 2, 3, 4)arm64v8 : based on linux Alpine - (i.e. Pine64)Note: Currently there is a bug in Docker's architecture detection that fails for arm32v6 - eg Raspberry Pi Zero or 1. For these devices you currently need to specify the full image tag for arm32v6.
docker run -d --net=host -v <path_on_host>:/data --name=node-red-homekit nrchkb/node-red-homekit
Let's dissect that command:
docker run - Run this container.
-d - Run container in background and print container ID.
--net=host - Connect to the host network, which is required to work with homekit.
-v <path_on_host>:/data - Persist container data
--name node-red-homekit - Give this machine a friendly local name.
nrchkb/node-red-homekit - The image to base it.
Following these commands will install Docker, add user pi to Docker group, then set the docker container to always run. Update commands will be available soon (work in progress July, 2020).
sudo apt update && upgrade
cd ~
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker pi
sudo reboot
docker run -d --net=host -v ~/:/data --restart always --name node-red-homekit nrchkb/node-red-homekit
Synology users need to add the environment variable DSM_HOSTNAME.
Click the Environment tab and add a new environment variable named DSM_HOSTNAME. The value of the DSM_HOSTNAME environment variable should exactly match the server name as shown under Synology DSM Control Panel -> Info Center -> Server name, it should contain no spaces or special characters.
docker run it --net=host -v <path_on_host>:/data -e DSM_HOSTNAME=<synology_hostname> --name=homekit nrchkb/node-red-homekit:<tag>
Since Node-RED 1.0 the container user is node-red and has uid 1000 and gid 1000, make sure your <path_on_host> has the same uid and gid:
Verify command:
ls -nal <path_on_host>
Modify command:
chown -R 1000:1000 <path_on_host>
To debug NRCHKB you have to run node-red in docker in debug mode by adding -e argument:
-e "DEBUG=NRCHKB*,HAP-NodeJS*"
To do that modify starting script like below:
docker run it -e "DEBUG=NRCHKB*,HAP-NodeJS*" --net=host -v <path_on_host>:/data -e DSM_HOSTNAME=<synology_hostname> --name=homekit nrchkb/node-red-homekit:<tag>
For more detailed info refer to the Node-RED Docker official pages.
Content type
Image
Digest
sha256:cd740ac20…
Size
316.1 MB
Last updated
4 months ago
docker pull nrchkb/node-red-homekit