46 lines
1.9 KiB
Markdown
46 lines
1.9 KiB
Markdown
---
|
|
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/
|