FROM --platform=$BUILDPLATFORM golang:1.25-alpine AS builder

WORKDIR /src

ARG TARGETOS
ARG TARGETARCH

COPY go.mod ./
COPY cmd ./cmd

RUN go mod tidy
RUN CGO_ENABLED=0 GOOS=$TARGETOS GOARCH=$TARGETARCH go build -o /out/tidb-image-api ./cmd/server

FROM alpine:3.20

WORKDIR /app

RUN adduser -D -u 10001 appuser
USER appuser

COPY --from=builder /out/tidb-image-api /app/tidb-image-api

EXPOSE 8080

ENTRYPOINT ["/app/tidb-image-api"]
