# Start from the official Golang image for building FROM --platform=$BUILDPLATFORM golang:1.22-alpine AS builder ARG TARGETARCH ARG TARGETOS # Install CA certificates in the builder (runs natively, no QEMU needed) RUN apk --no-cache add ca-certificates WORKDIR /app COPY go.mod go.sum ./ RUN go mod download COPY . . # Build statically for Linux RUN CGO_ENABLED=0 GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -o mindforge-cronjob ./cmd/mindforge.cronjob # Use alpine to provide git (QEMU overhead for apk add is minimal) FROM alpine:latest RUN apk --no-cache add git ca-certificates openssh-client COPY --from=builder /app/mindforge-cronjob /app/mindforge-cronjob ENV GIT_REPOSITORY="" ENV GEMINI_API_KEY="" ENV OPENAI_API_KEY="" ENV DISCORD_WEBHOOK_URL="" ENV HAVEN_NOTIFY_URL="" ENV SSH_PRIVATE_KEY="" ENTRYPOINT ["/app/mindforge-cronjob"]