Improved build system



This is going to be a technical post for add-on developers and people that run locally build add-ons (not the default).

Two months ago we introduced, allowing our users to easily install, update and manage their Home Assistant installation. In this short time we’ve seen great adoption from the community. Around 20% of our users are choosing as their method of running Home Assistant today. We’ve also seen many add-ons being made available on the forums. There are currently 14 reposities full of add-ons being shared! is built on top of Docker, a container runtime. One thing that Docker did not support was dynamic build environements. That was annoying for because by supporting multiple CPU architectures, that was exactly what we needed! Luckily this feature has been added in Docker 17.05. By moving to Docker 17.05 as the minimum supported version we will be able to replace our templated Dockerfile approach with standard Dockerfiles that work out of the box. Thanks to Frenck for notifying us of this new build feature.

This change only impacts people that build add-ons or use add-ons that are built locally. You can check if your add-on is building locally on the detail page of add-ons.


If you are an add-on developer, read the documentation on how to publish your add-ons to Docker Hub. This will greatly improve the user experience.

Template changes

As an add-on developer, you will only have to change one line in your template to make it compatible with the new system. If you wish, you can also change the default build options for your image using the new build.json file.






The new system will become active with 0.64 and Host OS 1.1. Host OS 1.1 is available today. Navigate to Advanced Settings in the panel to start the OTA update.

We have also updated our build scripts and replaced it with a builder docker engine. This builder makes deploying components very easy. All basic functionality is supported. If you want more functionality, check out the builder by the Community Add-ons project.