diff --git a/Dockerfile b/Dockerfile index 3223722..654e0f6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -30,6 +30,7 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio iputils-ping \ dnsutils \ tini \ + gcc-aarch64-linux-gnu \ && apt-get clean # Layer 2: Chromium + Puppeteer/Playwright browser deps @@ -132,6 +133,12 @@ RUN curl -fsSL https://deno.land/install.sh | sh ENV DENO_INSTALL="/root/.deno" ENV PATH="$DENO_INSTALL/bin:$PATH" +# Install Rust +RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y \ + && . /root/.cargo/env \ + && rustup target add aarch64-unknown-linux-gnu +ENV PATH="/root/.cargo/bin:$PATH" + # Set entrypoint to make nvm available in all runtime contexts ENTRYPOINT ["/usr/bin/tini", "--", "/usr/local/bin/docker-entrypoint.sh"] CMD ["bash"] diff --git a/Dockerfile_dbase b/Dockerfile_dbase index 5a42460..2688f31 100644 --- a/Dockerfile_dbase +++ b/Dockerfile_dbase @@ -57,6 +57,10 @@ RUN NVM_MUSL_ARCH=$([ "$TARGETARCH" = "arm64" ] && echo "arm64-musl" || echo "x6 && pnpm config set unsafe-perm true \ && pnpm install -g @ship.zone/szci +# Install Rust +RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y +ENV PATH="/root/.cargo/bin:$PATH" + ENV NODE_PATH=$NVM_DIR/versions/node/v$NODE_VERSION_LTS/lib/node_modules ENV PATH=$NVM_DIR/versions/node/v$NODE_VERSION_LTS/bin:$PATH diff --git a/Dockerfile_dbase_dind b/Dockerfile_dbase_dind index c20cbdc..a8ca177 100644 --- a/Dockerfile_dbase_dind +++ b/Dockerfile_dbase_dind @@ -56,6 +56,10 @@ RUN NVM_MUSL_ARCH=$([ "$TARGETARCH" = "arm64" ] && echo "arm64-musl" || echo "x6 && pnpm config set unsafe-perm true \ && pnpm install -g @ship.zone/szci +# Install Rust +RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y +ENV PATH="/root/.cargo/bin:$PATH" + ENV NODE_PATH=$NVM_DIR/versions/node/v$NODE_VERSION_LTS/lib/node_modules ENV PATH=$NVM_DIR/versions/node/v$NODE_VERSION_LTS/bin:$PATH diff --git a/changelog.md b/changelog.md index 4425e29..af65c36 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,11 @@ # Changelog +## 2026-02-10 - 5.8.0 - feat(docker) +install Rust toolchain (rustup) and add aarch64 cross-compilation support to Docker images + +- Install rustup and add /root/.cargo/bin to PATH in Dockerfile, Dockerfile_dbase, and Dockerfile_dbase_dind +- Add gcc-aarch64-linux-gnu package and run 'rustup target add aarch64-unknown-linux-gnu' in the main Dockerfile to enable cross-compilation + ## 2026-02-07 - 5.7.0 - feat(docker) install @ship.zone/szci in base images, add docker-entrypoint and use tini, remove deprecated Dockerfile_dbase_npmci, bump @git.zone/tsdocker devDependency to ^1.17.4