diff --git a/Dockerfile b/Dockerfile index 74b68a0..dd480d0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,25 +6,28 @@ ARG HUGO_VERSION=0.151.0 # Build stage - use same versions as local devbox environment FROM node:${NODE_VERSION}-bookworm AS builder +# Get target architecture for multi-platform builds +ARG TARGETARCH + # Install Git (needed for Hugo's enableGitInfo) RUN apt-get update && apt-get install -y git && rm -rf /var/lib/apt/lists/* -# Install Go +# Install Go (map TARGETARCH: amd64->amd64, arm64->arm64) ARG GO_VERSION -RUN wget -q https://go.dev/dl/go${GO_VERSION}.linux-amd64.tar.gz && \ - tar -C /usr/local -xzf go${GO_VERSION}.linux-amd64.tar.gz && \ - rm go${GO_VERSION}.linux-amd64.tar.gz +RUN wget -q https://go.dev/dl/go${GO_VERSION}.linux-${TARGETARCH}.tar.gz && \ + tar -C /usr/local -xzf go${GO_VERSION}.linux-${TARGETARCH}.tar.gz && \ + rm go${GO_VERSION}.linux-${TARGETARCH}.tar.gz ENV PATH="/usr/local/go/bin:${PATH}" ENV GOPATH="/go" ENV PATH="${GOPATH}/bin:${PATH}" -# Install Hugo extended +# Install Hugo extended (map TARGETARCH: amd64->amd64, arm64->arm64) ARG HUGO_VERSION -RUN wget -q https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.tar.gz && \ - tar -xzf hugo_extended_${HUGO_VERSION}_linux-amd64.tar.gz && \ +RUN wget -q https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-${TARGETARCH}.tar.gz && \ + tar -xzf hugo_extended_${HUGO_VERSION}_linux-${TARGETARCH}.tar.gz && \ mv hugo /usr/local/bin/ && \ - rm hugo_extended_${HUGO_VERSION}_linux-amd64.tar.gz && \ + rm hugo_extended_${HUGO_VERSION}_linux-${TARGETARCH}.tar.gz && \ hugo version WORKDIR /src