From 4b460421dc67f6aa911a3fce94b45786e82f0e4f Mon Sep 17 00:00:00 2001 From: Ferdinand99 Date: Mon, 10 Mar 2025 11:31:34 +0100 Subject: [PATCH] Update newt/Dockerfile Fix: Download correct Newt binary for system architecture --- newt/Dockerfile | 46 ++++++++++++++++++++++++++++++---------------- 1 file changed, 30 insertions(+), 16 deletions(-) diff --git a/newt/Dockerfile b/newt/Dockerfile index 7994692..1ffb5d0 100644 --- a/newt/Dockerfile +++ b/newt/Dockerfile @@ -1,16 +1,30 @@ -# Use the official Home Assistant add-on base image -FROM ghcr.io/hassio-addons/base:14.0.0 - -# Install dependencies -RUN apk add --no-cache bash curl jq - -# Download and install Newt -RUN curl -fsSL -o /usr/bin/newt https://github.com/fosrl/newt/releases/download/1.0.0/newt_linux_amd64 \ - && chmod +x /usr/bin/newt - -# Copy the script into the container -COPY run.sh /run.sh -RUN chmod +x /run.sh - -# Run the script as the main process -ENTRYPOINT [ "/run.sh" ] +# Use the official Home Assistant add-on base image +FROM ghcr.io/hassio-addons/base:14.0.0 + +# Install dependencies +RUN apk add --no-cache bash curl jq + +# Detect system architecture and download the correct Newt binary +RUN ARCH=$(uname -m) && \ + if [ "$ARCH" = "x86_64" ]; then \ + curl -fsSL -o /usr/bin/newt https://github.com/fosrl/newt/releases/download/1.1.0/newt_linux_amd64; \ + elif [ "$ARCH" = "aarch64" ]; then \ + curl -fsSL -o /usr/bin/newt https://github.com/fosrl/newt/releases/download/1.1.0/newt_linux_arm64; \ + elif [ "$ARCH" = "armv7l" ]; then \ + curl -fsSL -o /usr/bin/newt https://github.com/fosrl/newt/releases/download/1.1.0/newt_linux_arm32; \ + elif [ "$ARCH" = "armv6l" ]; then \ + curl -fsSL -o /usr/bin/newt https://github.com/fosrl/newt/releases/download/1.1.0/newt_linux_arm32v6; \ + elif [ "$ARCH" = "riscv64" ]; then \ + curl -fsSL -o /usr/bin/newt https://github.com/fosrl/newt/releases/download/1.1.0/newt_linux_riscv64; \ + else \ + echo "❌ ERROR: Unsupported architecture: $ARCH"; exit 1; \ + fi && \ + chmod +x /usr/bin/newt + + +# Copy the script into the container +COPY run.sh /run.sh +RUN chmod +x /run.sh + +# Run the script as the main process +ENTRYPOINT [ "/run.sh" ] \ No newline at end of file