FROM golang:1.25-alpine AS builder RUN apk add --no-cache build-base WORKDIR /src COPY go.mod go.sum ./ RUN go mod download COPY . . RUN CGO_ENABLED=1 go build -trimpath -ldflags="-s -w" -o /out/skeleton . FROM alpine:3.22 RUN apk add --no-cache ca-certificates tzdata && adduser -D -H -u 10001 app WORKDIR /app COPY --from=builder /out/skeleton /app/skeleton COPY config /app/config RUN mkdir -p /app/data && chown -R app:app /app USER app EXPOSE 8080 ENTRYPOINT ["/app/skeleton"]