# Build stage FROM golang:1.26.5-alpine AS builder WORKDIR /app # Install git and ca-certificates (needed for go modules and HTTPS) RUN apk add --no-cache git ca-certificates # Copy dependency files first for better layer caching COPY go.mod go.sum ./ RUN go mod download # Copy source code COPY *.go ./ # Build a static binary RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o backend . # Runtime stage FROM alpine:latest WORKDIR /app # Copy the binary from the builder stage COPY --from=builder /app/backend . # Expose the port Gin listens on EXPOSE 8080 # Run the backend CMD ["./backend"]