FROM node:lts-slim ARG GO_VERSION=1.26 ENV DEBIAN_FRONTEND=noninteractive \ PATH=/usr/local/go/bin:${PATH} RUN set -eux; \ apt-get update; \ apt-get install -y --no-install-recommends ca-certificates curl git; \ arch="$(dpkg --print-architecture)"; \ case "${arch}" in \ amd64) go_arch='linux-amd64' ;; \ arm64) go_arch='linux-arm64' ;; \ *) echo "Unsupported architecture: ${arch}" >&2; exit 1 ;; \ esac; \ case "${GO_VERSION}" in \ *.*.*) download_go_version="${GO_VERSION}" ;; \ *.*) download_go_version="${GO_VERSION}.0" ;; \ *) echo "GO_VERSION must be major.minor or major.minor.patch: ${GO_VERSION}" >&2; exit 1 ;; \ esac; \ curl -fsSL "https://go.dev/dl/go${download_go_version}.${go_arch}.tar.gz" -o /tmp/go.tgz; \ rm -rf /usr/local/go; \ tar -C /usr/local -xzf /tmp/go.tgz; \ rm -f /tmp/go.tgz; \ rm -rf /var/lib/apt/lists/* WORKDIR /app