From 6707c4ed289751010254ea78ed5a6b275fb26775 Mon Sep 17 00:00:00 2001 From: root Date: Sat, 7 Mar 2026 12:44:46 +0200 Subject: [PATCH 1/3] fix(build): make Node 22 install deterministic in Dockerfile - replace NodeSource setup_22.x pipe script with keyring + apt source - prevent intermittent apt exit 100 during nodejs install - bump add-on version to 0.5.57 Fixes #89 --- openclaw_assistant/CHANGELOG.md | 3 +++ openclaw_assistant/Dockerfile | 10 ++++++++-- openclaw_assistant/config.yaml | 2 +- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/openclaw_assistant/CHANGELOG.md b/openclaw_assistant/CHANGELOG.md index 5c6e88a..b7c0717 100644 --- a/openclaw_assistant/CHANGELOG.md +++ b/openclaw_assistant/CHANGELOG.md @@ -15,6 +15,9 @@ All notable changes to the OpenClaw Assistant Home Assistant Add-on will be docu ### Translations - Added `controlui_disable_device_auth` labels/descriptions to: `en`, `bg`, `de`, `es`, `pl`, `pt-BR`. +### Fixed +- Docker build stability: replaced NodeSource `setup_22.x | bash` installer with explicit keyring + apt source configuration for Node.js 22, avoiding intermittent `apt-get install nodejs` exit code 100 failures. + ## [0.5.54] - 2026-02-25 ### Changed diff --git a/openclaw_assistant/Dockerfile b/openclaw_assistant/Dockerfile index 5d491fe..e2e2a1f 100644 --- a/openclaw_assistant/Dockerfile +++ b/openclaw_assistant/Dockerfile @@ -34,8 +34,14 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ && rm -rf /var/lib/apt/lists/* # Install Node.js 22 LTS from NodeSource (Debian Bookworm ships Node 18, but OpenClaw requires 20+) -RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - \ - && apt-get install -y nodejs \ +# Use explicit keyring + apt source instead of setup_22.x pipe script for deterministic builds. +RUN mkdir -p /etc/apt/keyrings \ + && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key \ + | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \ + && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" \ + > /etc/apt/sources.list.d/nodesource.list \ + && apt-get update \ + && apt-get install -y --no-install-recommends nodejs \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* diff --git a/openclaw_assistant/config.yaml b/openclaw_assistant/config.yaml index dbde2ac..ee839e3 100644 --- a/openclaw_assistant/config.yaml +++ b/openclaw_assistant/config.yaml @@ -1,5 +1,5 @@ name: OpenClaw Assistant -version: "0.5.56" +version: "0.5.57" slug: openclaw_assistant description: Run OpenClaw Assistant (OpenClaw-compatible) as a Home Assistant add-on. url: https://github.com/techartdev/OpenClawHomeAssistant From 7d8f7d524d48cad01087df0e2ef8a10b9f472c9d Mon Sep 17 00:00:00 2001 From: root Date: Sat, 7 Mar 2026 14:48:50 +0200 Subject: [PATCH 2/3] fix(build): address Copilot review for NodeSource repo setup - ensure nodesource keyring is world-readable for _apt - assert installed Node major is v22 to avoid Debian Node 18 fallback --- openclaw_assistant/Dockerfile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/openclaw_assistant/Dockerfile b/openclaw_assistant/Dockerfile index e2e2a1f..df64578 100644 --- a/openclaw_assistant/Dockerfile +++ b/openclaw_assistant/Dockerfile @@ -38,10 +38,13 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ RUN mkdir -p /etc/apt/keyrings \ && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key \ | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \ + && chmod 644 /etc/apt/keyrings/nodesource.gpg \ && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" \ > /etc/apt/sources.list.d/nodesource.list \ && apt-get update \ && apt-get install -y --no-install-recommends nodejs \ + && node -v \ + && node -v | grep -E '^v22\.' \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* From 60fb692e7d034fb170032cdecb41f7b5eb5bc14b Mon Sep 17 00:00:00 2001 From: root Date: Sat, 7 Mar 2026 15:38:45 +0200 Subject: [PATCH 3/3] fix(build): address follow-up Copilot review on NodeSource step - remove NodeSource repo/key after Node install - avoid duplicate node -v call via NODE_VERSION variable --- openclaw_assistant/Dockerfile | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/openclaw_assistant/Dockerfile b/openclaw_assistant/Dockerfile index df64578..c9e865b 100644 --- a/openclaw_assistant/Dockerfile +++ b/openclaw_assistant/Dockerfile @@ -43,8 +43,10 @@ RUN mkdir -p /etc/apt/keyrings \ > /etc/apt/sources.list.d/nodesource.list \ && apt-get update \ && apt-get install -y --no-install-recommends nodejs \ - && node -v \ - && node -v | grep -E '^v22\.' \ + && NODE_VERSION="$(node -v)" \ + && echo "$NODE_VERSION" \ + && echo "$NODE_VERSION" | grep -E '^v22\.' \ + && rm -f /etc/apt/sources.list.d/nodesource.list /etc/apt/keyrings/nodesource.gpg \ && apt-get clean \ && rm -rf /var/lib/apt/lists/*