diff --git a/portainer_agent/CHANGELOG.md b/portainer_agent/CHANGELOG.md index 387e246f9a..bdfa4e309e 100644 --- a/portainer_agent/CHANGELOG.md +++ b/portainer_agent/CHANGELOG.md @@ -1,3 +1,8 @@ +## 2025.12.7 (2026-08-23) + +- Fix: Docker reported the addon as `unhealthy` in Portainer. The healthcheck script could never run because its shebang required the s6-overlay environment, which this addon's entrypoint does not set up (https://github.com/alexbelgium/hassio-addons/issues/3002) +- Remove the unused and broken `wait-for-signal` script; nothing invoked it + ## 2025.12.6 (2026-08-01) - Version renamed from `2025.12-6`, which Home Assistant could not order and therefore could not reliably offer as an update: every number of the previous version is kept, as a section of its own. The addon itself and the upstream version it tracks are unchanged diff --git a/portainer_agent/Dockerfile b/portainer_agent/Dockerfile index cbdc4890c8..6cf096495a 100644 --- a/portainer_agent/Dockerfile +++ b/portainer_agent/Dockerfile @@ -81,8 +81,7 @@ RUN chmod 777 /ha_entrypoint.sh COPY bashio-standalone.sh /usr/local/lib/bashio-standalone.sh RUN chmod 0755 /usr/local/lib/bashio-standalone.sh -RUN chmod a+x /usr/sbin/healthcheck && \ - chmod a+x /usr/sbin/wait-for-signal +RUN chmod a+x /usr/sbin/healthcheck WORKDIR "/app" ENTRYPOINT [ "/usr/bin/env" ] diff --git a/portainer_agent/config.yaml b/portainer_agent/config.yaml index af1b851e1a..80248c9b13 100644 --- a/portainer_agent/config.yaml +++ b/portainer_agent/config.yaml @@ -41,4 +41,4 @@ schema: slug: portainer_agent udev: true url: https://github.com/alexbelgium/hassio-addons -version: "2025.12.6" +version: "2025.12.7" diff --git a/portainer_agent/rootfs/usr/sbin/healthcheck b/portainer_agent/rootfs/usr/sbin/healthcheck index 7fb607a382..0fbd41134e 100644 --- a/portainer_agent/rootfs/usr/sbin/healthcheck +++ b/portainer_agent/rootfs/usr/sbin/healthcheck @@ -1,4 +1,8 @@ -#!/usr/bin/with-contenv bash +#!/usr/bin/env bash +# shellcheck shell=bash +# Plain bash on purpose : ha_entrypoint.sh replaces s6-overlay's /init, so +# /run/s6/container_environment is never created and a with-contenv shebang +# would fail before this script runs. Nothing here needs the s6 environment. if [ -f "/tmp/healthcheck-signal" ]; then curl -k --fail https://127.0.0.1:9001/ping || exit 1 diff --git a/portainer_agent/rootfs/usr/sbin/wait-for-signal b/portainer_agent/rootfs/usr/sbin/wait-for-signal deleted file mode 100644 index a50cfb6984..0000000000 --- a/portainer_agent/rootfs/usr/sbin/wait-for-signal +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/with-contenv bashio - -START_TIME="$(date +%s)" - -echo "Waiting for first healthcheck execution (max $FIRST_HEALTHCHECK_TIMEOUT seconds)..." - -while [ ! -f "/tmp/healthcheck-signal" ]; -do - sleep 1 - - ELAPSED_TIME="$(expr \date +%s\ - $START_TIME)" - - if [ $ELAPSED_TIME -gt $FIRST_HEALTHCHECK_TIMEOUT ] - then - echo "Signal from healthcheck not received in time, failing the execution..." - exit 20 - fi -done - -echo "Signal from healthcheck received" -exit 0 \ No newline at end of file