# Build stage FROM golang:1.27-alpine AS builder WORKDIR /src COPY go.mod go.sum ./ RUN go mod download COPY . . RUN CGO_ENABLED=0 GOOS=linux go build -trimpath -ldflags="-s -w" -o /out/bot ./cmd/bot # Run stage FROM alpine:3.22 RUN apk add --no-cache ca-certificates \ && addgroup -S app \ && adduser -S -G app -h /app app WORKDIR /app COPY --from=builder --chown=app:app /out/bot /app/bot USER app ENTRYPOINT ["/app/bot"]