Understanding the architecture of IOTstack
In Chapter 2, we mentioned ways to install Home Assistant. We were using the Home Assistant OS, which is the most common one in use. Another type of installation used by Home Assistant is the Home Assistant Container. A Container is a lightweight and standalone package that contains what is needed to run an application, including code, libraries, dependencies, and system tools. Docker (https://www.docker.com/) is an open source platform that allows developers to build, ship, and run applications in containers. Docker provides a way to manage containers using Docker Compose (https://github.com/docker/compose), which is a tool for defining, managing, and running multi-container Docker applications.
In this section, and until the end of this chapter, we will explore the Home Assistant Container installation using Docker Compose. This type of installation was the first one I tried and was how I discovered how to use Home Assistant and other...