diff --git a/blog/2022-05-12-s6-overlay-base-images.md b/blog/2022-05-12-s6-overlay-base-images.md index 022f3884..83c85400 100644 --- a/blog/2022-05-12-s6-overlay-base-images.md +++ b/blog/2022-05-12-s6-overlay-base-images.md @@ -11,6 +11,12 @@ We have updated our [example add-on](https://github.com/home-assistant/addons-ex ## Minimum +Add `init: false` to your addon's `config.yaml` if you don't have this already. In V3, S6 enforces that their init is used correctly. If Docker default system init is used you will see the following error when you start your addon: + +``` +s6-overlay-suexec: fatal: can only run as pid 1 +``` + Make sure all your executable/script files have the execution permission set on your git repository rootfs folder. You can update the permissions using: ```sh diff --git a/docs/add-ons/configuration.md b/docs/add-ons/configuration.md index 29cb4c27..6d370ce5 100644 --- a/docs/add-ons/configuration.md +++ b/docs/add-ons/configuration.md @@ -184,7 +184,7 @@ Note: Avoid the use of this filename for anything other than add-on configurati | `backup_exclude` | list | | List of file/path (with glob support) that are excluded from backups. | `advanced` | bool | `false` | Set this to `true` to require the user to have enabled "Advanced" mode for it to show. | `stage` | string | `stable` | Flag add-on with follow attribute: `stable`, `experimental` or `deprecated`. Add-ons set to `experimental` or `deprecated` will not show up in the store unless the user enables advanced mode. -| `init` | bool | `true` | Set this to `false` to disable the Docker default system init. Use this if the image has its own init system (Like [s6-overlay](https://github.com/just-containers/s6-overlay)). +| `init` | bool | `true` | Set this to `false` to disable the Docker default system init. Use this if the image has its own init system (Like [s6-overlay](https://github.com/just-containers/s6-overlay)). *Note: Starting in V3 of S6 setting this to `false` is required or the addon won't start, see [here](https://developers.home-assistant.io/blog/2022/05/12/s6-overlay-base-images) for more information.* | `watchdog` | string | | An URL for monitor an application this add-on. Like `http://[HOST]:[PORT:2839]/dashboard`, the port needs the internal port, which will be replaced with the effective port. It is also possible to bind the protocol part to a configuration options with: `[PROTO:option_name]://[HOST]:[PORT:2839]/dashboard` and it's looked up if it is `true` and it's going to `https`. For simple TCP port monitoring you can use `tcp://[HOST]:[PORT:80]`. It work for add-ons on host or internal network. | `realtime` | bool | `false` | Give add-on access to host schedule including `SYS_NICE` for change execution time/priority. | `journald` | bool | `false` | If set to `true`, the host's system journal will be mapped read-only into the add-on. Most of the time the journal will be in `/var/log/journal` however on some hosts you will find it in `/run/log/journal`. Add-ons relying on this capability should check if the directory `/var/log/journal` is populated and fallback on `/run/log/journal` if not. diff --git a/docs/add-ons/tutorial.md b/docs/add-ons/tutorial.md index 752ee481..3865cd78 100644 --- a/docs/add-ons/tutorial.md +++ b/docs/add-ons/tutorial.md @@ -50,6 +50,7 @@ name: "Hello world" description: "My first real add-on!" version: "1.0.0" slug: "hello_world" +init: false arch: - aarch64 - amd64 @@ -142,6 +143,7 @@ name: "Hello world" description: "My first real add-on!" version: "1.1.0" slug: "hello_world" +init: false arch: - aarch64 - amd64