{"id":49453517,"url":"https://github.com/NRCHKB/node-red-contrib-homekit-docker","last_synced_at":"2026-05-16T16:01:30.199Z","repository":{"id":43735749,"uuid":"278825711","full_name":"NRCHKB/node-red-contrib-homekit-docker","owner":"NRCHKB","description":"Node-RED-homekit-docker is a Node-RED based project with support for homekit.","archived":false,"fork":false,"pushed_at":"2026-05-07T02:57:21.000Z","size":1016,"stargazers_count":42,"open_issues_count":0,"forks_count":8,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-05-07T03:27:30.884Z","etag":null,"topics":["docker","node-red","nrchkb","raspberry-pi","raspberrypi"],"latest_commit_sha":null,"homepage":"https://nrchkb.github.io","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NRCHKB.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-07-11T09:01:59.000Z","updated_at":"2026-05-07T02:57:24.000Z","dependencies_parsed_at":"2024-01-12T04:15:22.249Z","dependency_job_id":"13993178-976a-41dc-bec9-09bddecab8cb","html_url":"https://github.com/NRCHKB/node-red-contrib-homekit-docker","commit_stats":{"total_commits":280,"total_committers":9,"mean_commits":31.11111111111111,"dds":0.4821428571428571,"last_synced_commit":"fbfd1edd53599b8014db9813f6dde1e49a9bd52e"},"previous_names":[],"tags_count":76,"template":false,"template_full_name":null,"purl":"pkg:github/NRCHKB/node-red-contrib-homekit-docker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NRCHKB%2Fnode-red-contrib-homekit-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NRCHKB%2Fnode-red-contrib-homekit-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NRCHKB%2Fnode-red-contrib-homekit-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NRCHKB%2Fnode-red-contrib-homekit-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NRCHKB","download_url":"https://codeload.github.com/NRCHKB/node-red-contrib-homekit-docker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NRCHKB%2Fnode-red-contrib-homekit-docker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33109461,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T04:41:52.686Z","status":"ssl_error","status_checked_at":"2026-05-16T04:41:52.009Z","response_time":115,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","node-red","nrchkb","raspberry-pi","raspberrypi"],"created_at":"2026-04-30T04:01:03.684Z","updated_at":"2026-05-16T16:01:30.191Z","avatar_url":"https://github.com/NRCHKB.png","language":"JavaScript","funding_links":[],"categories":["🚀 DevOps \u0026 Infrastructure"],"sub_categories":[],"readme":"git p# Node-RED-homekit-docker\n[![Docker Build](https://github.com/NRCHKB/node-red-contrib-homekit-docker/actions/workflows/docker-build.yml/badge.svg)](https://github.com/NRCHKB/node-red-contrib-homekit-docker/actions/workflows/docker-build.yml)\n[![DockerHub Pull](https://img.shields.io/docker/pulls/nrchkb/node-red-homekit.svg)](https://hub.docker.com/r/nrchkb/node-red-homekit)\n[![DockerHub Star](https://img.shields.io/docker/stars/nrchkb/node-red-homekit.svg?maxAge=2592000)](https://hub.docker.com/r/nrchkb/node-red-homekit)\n\nNode-RED-homekit-docker is a Node-RED based project with support for homekit. It is based on\nthe [official Node-RED Docker](https://hub.docker.com/r/nodered/node-red) images with the necessary tools and npm\nmodule [node-red-contrib-homekit-bridged](https://www.npmjs.com/package/node-red-contrib-homekit-bridged) installed to\nrun homekit within a docker container.\n\n## Architecture\n\nNode-RED-homekit-docker is supported by a manifest list, which means one doesn't need to specify the tag for a specific\narchitecture. Using the image without any tag or the latest tag will pull the right image for the architecture\nrequired.\n\nCurrently, Node-RED-homekit images are published as a multi-arch manifest supporting the following architectures:\n\n- `amd64`    – Alpine based (most PCs/servers: x64, x86-64, x86_64)\n- `arm32v7`  – Alpine based (Raspberry Pi 2/3/4)\n- `arm64v8`  – Alpine based (64-bit ARM boards like Raspberry Pi 3/4 64-bit OS, Pine64, etc.)\n\nNotes:\n\n- The dedicated Raspbian variant (`*-raspbian` tags) is built for `arm32v7` only.\n- We no longer build or publish `arm32v6` images because upstream Node-RED images no longer provide this architecture\n  for current tags.\n\n**Note**: As of the Node-RED 4.0.0 release, we are no longer building docker images for previous versions. At the same\ntime,\nimages with NodeJS up to 18 (excluded) are dropped. The next major NRCHKB release will require NodeJS \u003e= 22.\n\n#### Verify the published architecture\n\nYou can verify the architectures available for a given tag using Docker Buildx:\n\n```bash\ndocker buildx imagetools inspect nrchkb/node-red-homekit:latest\n# or a specific tag, e.g. Node/variant tagged image\ndocker buildx imagetools inspect nrchkb/node-red-homekit:latest-22\n```\n\n### Quick Start (for those already running Docker)\n\n```bash\ndocker run -d --net=host -v \u003cpath_on_host\u003e:/data -e TZ=Europe/Amsterdam -e DEBUG=NRCHKB:* --name=node-red-homekit nrchkb/node-red-homekit\n```\n\nLet's dissect that command:\n\n    docker run                  - Run this container.\n    -d                          - Run container in background and print container ID.\n    --net=host                  - Connect to the host network, which is required to work with homekit.\n    -v \u003cpath_on_host\u003e:/data     - Persist container data\n    -e TZ=Europe/Amsterdam      - Set timezone, see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones\n    -e DEBUG=NRCHKB:*           - Print basic debug logs for NRCHKB\n    --name node-red-homekit     - Give this machine a friendly local name.\n    nrchkb/node-red-homekit     - The image to base it.\n\n### Raspberry Pi (including installation Docker)\n\nFollowing these commands will install Docker, add user `pi` to a Docker group, then set the docker container to always\nrun.\n\nWe assume you have some basic knowledge of Linux and you are logged in as `pi` user.\n\n1) Make sure we are in the home directory of the pi user:\n\n```bash\ncd ~\n```\n\n2) Make sure we have the latest packages available and upgrade to the latest versions (reboot if needed!):\n\n```bash\nsudo apt update \u0026\u0026 sudo apt upgrade -y\n```\n\n3) Download the docker install script and execute it to install Docker on your system.\n\n```bash\ncurl -fsSL https://get.docker.com -o get-docker.sh \u0026\u0026 sudo sh get-docker.sh\n```\n\n4) As the Docker script explains, add the pi user to the Docker group so that the pi user has the permissions to execute\n   docker commands:\n\n```bash\nsudo usermod -aG docker pi\n```\n\n5) Reboot the Raspberry PI or just log out and back in:\n\n```bash\nsudo reboot\n```\n\n6) To test if your Docker installation went well:\n\n```bash\ndocker run --rm hello-world\n```\n\nThe above command should say 'Hello from Docker':\n\n```\nUnable to find image 'hello-world:latest' locally\nlatest: Pulling from library/hello-world\n0e03bdcc26d7: Pull complete\nDigest: sha256:7f0a9f93b4aa3022c3a4c147a449bf11e0941a1fd0bf4a8e6c9408b2600777c5\nStatus: Downloaded newer image for hello-world:latest\n\nHello from Docker!\nThis message shows that your installation appears to be working correctly.\n\nTo generate this message, Docker took the following steps:\n 1. The Docker client contacted the Docker daemon.\n 2. The Docker daemon pulled the \"hello-world\" image from the Docker Hub.\n    (amd64)\n 3. The Docker daemon created a new container from that image which runs the\n    executable that produces the output you are currently reading.\n 4. The Docker daemon streamed that output to the Docker client, which sent it\n    to your terminal.\n\nTo try something more ambitious, you can run an Ubuntu container with:\n $ docker run -it ubuntu bash\n\nShare images, automate workflows, and more with a free Docker ID:\n https://hub.docker.com/\n\nFor more examples and ideas, visit:\n https://docs.docker.com/get-started/\n```\n\nIf the above steps went as expected, you are ready to run the `nrchkb/node-red-homekit` image as a container. But before\nthat we create a directory on the pi host so that all node-red / node-red-homekit files are stored outside the container\non your raspberry pi.\n\n7) Make a directory in your pi user's home directory:\n\n```bash\nmkdir node-red-homekit\n```\n\n8) Run the Docker run command to deploy the `nrchkb/node-red-homekit` image as a container and where the container\n   `/data` directory is bound to the `/home/pi/node-red-homekit` directory on your Raspberry PI.\n\n```bash\ndocker run -d --net=host -v ~/node-red-homekit:/data --restart always -e TZ=Europe/Amsterdam -e DEBUG=NRCHKB:* --name node-red-homekit nrchkb/node-red-homekit\n```\n\nYou don't need to explicitly map ports, since all ports are opened on the host network! This is required for homekit to\nwork well.\n\n### Upgrade to the latest image\n\nSuppose there is a new `nrchkb/node-red-homekit` image available? How do I make use of this new image?\n\n1) Find the id of your current deployed container:\n\n```bash\ndocker container ls\n```\n\nThe above command lists all running containers, and in the first column it displays the id of the container and in the\nlast column its name.\n\n2) Stop the current container:\n\n```\ndocker stop \u003ccontainer_id or container_name\u003e\n```\n\n3) Remove the current container:\n\n```\ndocker rm  \u003ccontainer_id or container_name\u003e\n```\n\n4) Pull the latest `nrchkb/node-red-homekit` image from [Docker Hub](https://hub.docker.com/r/nrchkb/node-red-homekit):\n\n```bash\ndocker pull nrchkb/node-red-homekit\n```\n\n5) Deploy the container again:\n\n```bash\ndocker run -d --net=host -v ~/node-red-homekit:/data --restart always -e TZ=Europe/Amsterdam -e DEBUG=NRCHKB:* --name node-red-homekit nrchkb/node-red-homekit\n```\n\nThis runs the container based on the latest `nrchkb/node-red-homekit` image and retains your flows!\n\n### Docker Compose (including installation Docker Compose)\n\nFor demo purpose we use a Raspberry Pi with Docker installed (see)\n\n1) Install required packages for Docker Compose\n\n```bash\nsudo apt update \u0026\u0026 sudo apt install -y libffi-dev libssl-dev python3 python3-pip\n```\n\n2) Install Docker Compose using pip3\n\n```\nsudo pip3 -v install docker-compose\n```\n\n3) Create a Docker compose yml for `nrchkb/node-red-homekit`:\n\nLet's assume you have a directory `/home/pi/node-red-homekit` with a `data` subdirectory:\n\n```bash\nnode-red-homekit/\n`-- data\n\n1 directory, 0 files\n```\n\nUse your favorite editor like nano to create a file named `docker-compose.yml` with the content below and save it in\n`/home/pi/node-red-homekit`.\n\n```yaml\nversion: '2'\nservices:\n  node-red-homekit:\n    image: nrchkb/node-red-homekit\n    restart: always\n    network_mode: host\n    environment:\n      - TZ=Europe/Amsterdam\n      - DEBUG=NRCHKB:*\n    volumes:\n      - /home/pi/node-red-homekit/data:/data\n```\n\nnote 1: `/home/pi/node-red-homekit/data` is the persistence directory where the Docker container stores its files.\nnote 2: there is no port mapping defined, since the container is attached / uses the host network.\n\n4) Deploy the service as define in `docker-compose.yml`\n\nFrom the `/home/pi/node-red-homekit` directory executed the command below to deploy the service and therefore the\ncontainer:\n\n```bash\ndocker-compose up -d\n```\n\n5) Verify your deployed container:\n\n```bash\ndocker container ls\n```\n\n6) To update to the latest image:\n\nThe command below stops the current running container, removes it and removes the image.\n\n```bash\ndocker-compose down --rmi  all\n```\n\nRun the command in step 4 to redeploy the service. It pulls the (latest) image, since now is available locally.\n\n### Synology\n\nSynology users need to add the environment variable DSM_HOSTNAME.\n\nClick the Environment tab and add a new environment variable named DSM_HOSTNAME. The value of the DSM_HOSTNAME\nenvironment variable should exactly match the server name as shown under Synology DSM Control Panel → Info Center →\nServer name, it should contain no spaces or special characters.\n\n```bash\ndocker run -it --net=host -v \u003cpath_on_host\u003e:/data -e DSM_HOSTNAME=\u003csynology_hostname\u003e -e TZ=Europe/Amsterdam -e DEBUG=NRCHKB:* --name=homekit nrchkb/node-red-homekit:\u003ctag\u003e\n```\n\n### Permissions\n\nSince Node-RED 1.0 the container user is `node-red` and has uid `1000` and gid `1000`, make sure your \u003cpath_on_host\u003e has\nthe same uid and gid:\n\nVerify command:\n\n```bash\nls -nal \u003cpath_on_host\u003e\n```\n\nModify command:\n\n```bash\nchown -R  1000:1000 \u003cpath_on_host\u003e\n```\n\n### Debug\n\nTo debug NRCHKB, you have to add environment variable to command running node-red in docker by adding `-e` argument:\n\n```-e \"DEBUG=NRCHKB*,HAP-NodeJS*\"```\n\nTo do that, modify a starting script like below:\n\n```bash\ndocker run -it -e \"DEBUG=NRCHKB*,HAP-NodeJS*\" --net=host -v \u003cpath_on_host\u003e:/data -e DSM_HOSTNAME=\u003csynology_hostname\u003e -e TZ=Europe/Amsterdam -e DEBUG=NRCHKB:* --name=homekit nrchkb/node-red-homekit:\u003ctag\u003e\n```\n\n### Node-RED Docker official\n\nFor more detailed info refer to the [Node-RED Docker official](https://github.com/node-red/node-red-docker) pages.\n\n### NRCHKB Support\n\nFor more info visit our [Website](https://nrchkb.github.io) or [Discord](https://discord.gg/uvYac5u).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNRCHKB%2Fnode-red-contrib-homekit-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FNRCHKB%2Fnode-red-contrib-homekit-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNRCHKB%2Fnode-red-contrib-homekit-docker/lists"}