From 61a7c1cc7d0bcb0637e0ab95703c6e1f624e1327 Mon Sep 17 00:00:00 2001 From: Juergen Kunz Date: Fri, 6 Feb 2026 09:31:43 +0000 Subject: [PATCH] v5.3.0 --- Dockerfile_alpine-bun | 6 +++++- Dockerfile_alpine-deno | 6 +++++- Dockerfile_alpine-node | 8 +++++++- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/Dockerfile_alpine-bun b/Dockerfile_alpine-bun index de36ad5..8f000c2 100644 --- a/Dockerfile_alpine-bun +++ b/Dockerfile_alpine-bun @@ -41,7 +41,11 @@ SHELL ["/usr/local/bin/bash-with-nvm"] ENV BASH_ENV=/etc/bash.bashrc # Install Node.js LTS via NVM and Bun -RUN nvm install $NODE_VERSION_LTS \ +# TARGETARCH fix: QEMU buildx can report wrong arch via uname -m +ARG TARGETARCH +RUN NVM_MUSL_ARCH=$([ "$TARGETARCH" = "arm64" ] && echo "arm64-musl" || echo "x64-musl") \ + && nvm_get_arch() { echo "$NVM_MUSL_ARCH"; } \ + && nvm install $NODE_VERSION_LTS \ && nvm alias default $NODE_VERSION_LTS \ && nvm use default \ && curl -fsSL https://bun.sh/install | bash diff --git a/Dockerfile_alpine-deno b/Dockerfile_alpine-deno index 2cee752..d818a14 100644 --- a/Dockerfile_alpine-deno +++ b/Dockerfile_alpine-deno @@ -42,7 +42,11 @@ SHELL ["/usr/local/bin/bash-with-nvm"] ENV BASH_ENV=/etc/bash.bashrc # Install Node.js LTS via NVM (Deno already installed from Alpine repos) -RUN nvm install $NODE_VERSION_LTS \ +# TARGETARCH fix: QEMU buildx can report wrong arch via uname -m +ARG TARGETARCH +RUN NVM_MUSL_ARCH=$([ "$TARGETARCH" = "arm64" ] && echo "arm64-musl" || echo "x64-musl") \ + && nvm_get_arch() { echo "$NVM_MUSL_ARCH"; } \ + && nvm install $NODE_VERSION_LTS \ && nvm alias default $NODE_VERSION_LTS \ && nvm use default diff --git a/Dockerfile_alpine-node b/Dockerfile_alpine-node index 122a77d..87d8758 100644 --- a/Dockerfile_alpine-node +++ b/Dockerfile_alpine-node @@ -52,7 +52,13 @@ ENV PATH="$PNPM_HOME:$PATH" # Install Node.js LTS via NVM and pnpm # Use musl-specific builds from unofficial-builds for Alpine compatibility -RUN nvm install $NODE_VERSION_LTS \ +# TARGETARCH fix: QEMU buildx can report wrong arch via uname -m, causing NVM +# to download x64 binaries on arm64. We create a temporary uname wrapper to +# ensure the correct architecture binary is downloaded. +ARG TARGETARCH +RUN NVM_MUSL_ARCH=$([ "$TARGETARCH" = "arm64" ] && echo "arm64-musl" || echo "x64-musl") \ + && nvm_get_arch() { echo "$NVM_MUSL_ARCH"; } \ + && nvm install $NODE_VERSION_LTS \ && nvm alias default $NODE_VERSION_LTS \ && nvm use default \ && npm install -g pnpm \