# Multi-stage build for Ziprine FROM golang:1.21-alpine AS builder # Install build dependencies RUN apk add --no-cache git make # Set working directory WORKDIR /app # Copy go mod files COPY go.mod go.sum ./ # Download dependencies RUN go mod download # Copy source code COPY . . # Build RUN make build # Final stage FROM alpine:latest RUN apk --no-cache add ca-certificates WORKDIR /root/ # Copy binary from builder COPY --from=builder /app/build/ziprine . # Run ENTRYPOINT ["./ziprine"]