diff --git a/blog/2020-04-12-s6-overlay.md b/blog/2020-04-12-s6-overlay.md new file mode 100644 index 00000000..9e76762d --- /dev/null +++ b/blog/2020-04-12-s6-overlay.md @@ -0,0 +1,45 @@ +--- +author: Franck Nijhof +authorURL: https://twitter.com/frenck +authorImageURL: /img/profile/frenck.png +authorTwitter: frenck +title: S6 Overlay for our Docker containers +--- + +Home Assistant uses a lot of different Docker containers for all kinds of +purposes. Not only the Home Assistant Core that is available as Docker +containers but also our Supervisor and all add-ons are leveraging Docker. + +In many situations, we need to run multiple processes in our containers, +that all need to be managed. We used to do this using simple Bash scripting, +but quickly learned we need a proper process manager to handle this. + +We decided to use the [S6 Overlay init system][s6-overlay], which is based on +the excellent [S6][s6] toolset that provides process supervision and +management, logging, and system initialization. + +The S6 Overlay has been added to our [Docker base images][base-imags], +which is used by every Docker image Home Assistant ships. + +All containers have been updated, and changes are automatically handled by the +Home Assistant Supervisor; For Home Assistant users, there is no noticeable +impact. + +For users of the Home Assistant Core containers on Docker, this might impact +the way you run or start the container. If you run your Home Assistant Core +container with an override of the Docker entry point or command, you need to +adapt those. For example, some container management systems, like Portainer +and Synology, automatically override those for you so you are impacted. + +In those cases: + +- The entry point has changed to: `/init` +- The command (CMD) has changed to: ` ` _(Empty/not set)_ + +If you override the command endpoint to start Home Assistant, the init system +in the entry point will still be active in the background and a second launch +Home Assistant. This can lead to unexpected behavior. + +[base-imags]: https://github.com/home-assistant/docker-base +[s6-overlay]: https://github.com/just-containers/s6-overlay +[s6]: http://skarnet.org/software/s6/ diff --git a/static/img/profile/frenck.png b/static/img/profile/frenck.png new file mode 100644 index 00000000..9f1f2c58 Binary files /dev/null and b/static/img/profile/frenck.png differ