diff --git a/Dockerfile b/Dockerfile index 66a64f1c5..c9c900242 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,15 +1,20 @@ -FROM golang:1.25.7 +# Build stage +FROM golang:1.25.7 AS builder WORKDIR /app -# Copy go.mod and go.sum first (better caching) +# Copy go.mod and go.sum first for dependency caching COPY go.mod go.sum ./ RUN go mod download # Copy the rest of the source code COPY . . -# Build the app (assuming main.go is in the root) -RUN go build -tags netgo -ldflags "-s -w" -o app ./... +# Build the binary from cmd/picoclaw +RUN go build -tags netgo -ldflags "-s -w" -o app ./cmd/picoclaw +# Final stage: minimal runtime image +FROM debian:bookworm-slim +WORKDIR /app +COPY --from=builder /app/app . CMD ["./app"]