mirror of
https://github.com/alexbelgium/hassio-addons.git
synced 2026-09-21 09:14:01 +02:00
The add-on could not be stopped: Home Assistant showed an Error status after a few seconds and the container kept running and still served the web UI (#3049). cont-init.d/99-run.sh started nginx in the foreground -- '&>' is a redirect, not a background operator -- and ha_entrypoint.sh runs every cont-init.d script sequentially in the foreground. That script therefore never returned, so the entrypoint never reached the code that installs the terminate() handler forwarding SIGTERM to the application. The reporter's log shows both halves of this: it prints 'Starting custom scripts' and never reaches 'Everything started!'. The add-on also shipped no 'init:' key, so Supervisor's default of true made Docker inject its own init as PID 1 and left ha_entrypoint.sh as PID 2, where the 'if $PID1' block holding the trap is skipped outright. Background the launch and set init: false. The script then returns, the entrypoint installs its trap, and nginx -- orphaned by the exiting script -- is reparented to the entrypoint as PID 1, where terminate()'s 'pgrep -P $$' finds it and signals it directly. Backgrounding from cont-init.d is what 24 other add-ons here already do (autobrr runs a bare 'nginx &'). Moving the launch to services.d was considered and rejected: ha_entrypoint.sh runs each services.d/*/run inside a restart subshell, so the application ends up a grandchild of PID 1 while terminate() enumerates direct children only. Reproduced -- the app survives that path unsignalled -- and it is the larger change. Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
1.2 KiB
1.2 KiB
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.shstarted nginx in the foreground, andha_entrypoint.shruns every cont-init script in the foreground, so the entrypoint never reached the point where it installs theterminate()handler that forwards SIGTERM to the application on shutdown. The application is now started in the background, andinit: falsemakes 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_varsoption to allow passing custom environment variables from the add-on configuration.
0.6.0 (2025-10-04)
- Update to latest version from iib0011/omni-tools (changelog : https://github.com/iib0011/omni-tools/releases)
v0.5.0 (2025-07-30)
- Minor bugs fixed
0.5.0 (2025-07-30)
- Minor bugs fixed
Changelog
1.0.0
- Initial release
- Based on omni-tools docker image iib0011/omni-tools:latest
- Self-hosted web application with various online utilities
- Client-side processing for privacy and security
- Features image, video, PDF, text, date/time, math, and data tools