FROM golang:1.23-alpine AS builder WORKDIR /src COPY go.mod go.sum ./ RUN go mod download COPY . . RUN CGO_ENABLED=0 GOOS=linux go build -o /out/driveflow . FROM alpine:3.20 WORKDIR /app COPY --from=builder /out/driveflow /app/driveflow RUN addgroup -S app && adduser -S -G app -h /app app && \ mkdir -p /app/data && chown -R app:app /app USER app EXPOSE 8080 ENTRYPOINT ["/app/driveflow"]