diff --git a/docker/Dockerfile b/docker/Dockerfile index 480244127..6d82d2cc5 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,7 +1,10 @@ # ============================================================ # Stage 1: Build the picoclaw binary # ============================================================ -FROM golang:1.25-alpine AS builder +FROM --platform=$BUILDPLATFORM golang:1.25-alpine AS builder + +ARG TARGETOS +ARG TARGETARCH RUN apk add --no-cache git make @@ -13,7 +16,7 @@ RUN go mod download # Copy source and build COPY . . -RUN make build +RUN GOOS=$TARGETOS GOARCH=$TARGETARCH make build PLATFORM=$TARGETOS ARCH=$TARGETARCH # ============================================================ # Stage 2: Minimal runtime image diff --git a/docker/Dockerfile.full b/docker/Dockerfile.full index 30e1680d5..68f649b91 100644 --- a/docker/Dockerfile.full +++ b/docker/Dockerfile.full @@ -1,7 +1,10 @@ # ============================================================ # Stage 1: Build the picoclaw binary # ============================================================ -FROM golang:1.26.0-alpine AS builder +FROM --platform=$BUILDPLATFORM golang:1.26.0-alpine AS builder + +ARG TARGETOS +ARG TARGETARCH RUN apk add --no-cache git make @@ -13,7 +16,7 @@ RUN go mod download # Copy source and build COPY . . -RUN make build +RUN GOOS=$TARGETOS GOARCH=$TARGETARCH make build PLATFORM=$TARGETOS ARCH=$TARGETARCH # ============================================================ # Stage 2: Node.js-based runtime with full MCP support