FROM golang:1.26-alpine@sha256:f44b851aa23dfa219d18db6eab743203245429d355cb619cf96a2ffe2a84ba7a AS build

WORKDIR /src
COPY go.mod go.sum ./
RUN go mod download
COPY *.go ./
RUN CGO_ENABLED=0 GOOS=linux go build -trimpath -ldflags="-s -w" -o /out/magpie .

FROM alpine:3.22@sha256:2039be0c5ec6ce8566809626a252c930216a92109c043f282504accb5ee3c0c6

RUN addgroup -S magpie && adduser -S -G magpie magpie
RUN mkdir -p /var/lib/magpie && chown -R magpie:magpie /var/lib/magpie

USER magpie
EXPOSE 8090
ENV MAGPIE_ADDR=0.0.0.0:8090
ENV MAGPIE_DATA_DIR=/var/lib/magpie

COPY --from=build /out/magpie /usr/local/bin/magpie
ENTRYPOINT ["/usr/local/bin/magpie"]
