diff --git a/omni-tools/CHANGELOG.md b/omni-tools/CHANGELOG.md index 9843129816..84876f01dc 100644 --- a/omni-tools/CHANGELOG.md +++ b/omni-tools/CHANGELOG.md @@ -1,3 +1,6 @@ +## 0.6.1.1 (2026-09-07) +- Fix the add-on refusing to stop: Home Assistant reported an Error status after a few seconds and the container kept running and serving the web UI. `cont-init.d/99-run.sh` started nginx in the foreground, and `ha_entrypoint.sh` runs every cont-init script in the foreground, so the entrypoint never reached the point where it installs the `terminate()` handler that forwards SIGTERM to the application on shutdown. The application is now started in the background, and `init: false` makes the entrypoint run as PID 1 so the orphaned process is reparented to it and receives that signal. Closes #3049. + ## 0.6.1 (2025-11-18) - Added `env_vars` option to allow passing custom environment variables from the add-on configuration. diff --git a/omni-tools/config.yaml b/omni-tools/config.yaml index 5bd05156b2..c837256c08 100644 --- a/omni-tools/config.yaml +++ b/omni-tools/config.yaml @@ -5,6 +5,7 @@ description: Self-hosted collection of powerful web-based tools for everyday tasks. No ads, no tracking, just fast, accessible utilities right from your browser image: ghcr.io/alexbelgium/omni-tools-{arch} +init: false map: - addon_config:rw name: Omni Tools @@ -20,5 +21,5 @@ schema: value: str? slug: omni-tools url: https://github.com/alexbelgium/hassio-addons -version: 0.6.1 +version: 0.6.1.1 webui: "[PROTO:ssl]://[HOST]:[PORT:80]" diff --git a/omni-tools/rootfs/etc/cont-init.d/99-run.sh b/omni-tools/rootfs/etc/cont-init.d/99-run.sh index 27b2477084..ea4c591250 100755 --- a/omni-tools/rootfs/etc/cont-init.d/99-run.sh +++ b/omni-tools/rootfs/etc/cont-init.d/99-run.sh @@ -7,4 +7,10 @@ # Start omni-tools container content bashio::log.info "Starting application" -/./docker-entrypoint.sh nginx -g "daemon off;" &> /proc/1/fd/1 +# Backgrounded on purpose. ha_entrypoint.sh runs every cont-init.d script in the +# foreground, so launching nginx here in the foreground never lets it reach the +# terminate() handler that forwards SIGTERM on shutdown -- the add-on then could +# not be stopped at all (#3049). Backgrounded, this script returns, nginx is +# reparented to the entrypoint as PID 1, and terminate() signals it directly. +# Requires init: false in config.yaml, which is what makes the entrypoint PID 1. +/./docker-entrypoint.sh nginx -g "daemon off;" &> /proc/1/fd/1 &