# golang two stage build FROM golang:1.25 AS first-stage WORKDIR /app COPY go.mod go.sum ./ RUN go mod download && go mod verify COPY . . WORKDIR /app/cmd/pusherservice RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o main RUN ls FROM alpine:latest AS second-stage # for health check RUN apk --no-cache add curl WORKDIR /app COPY --from=first-stage /app/cmd/pusherservice . RUN echo "copied over binary to production stage" CMD ["./main"]