# Build context is the repo root: docker build -f build/package/Dockerfile .
FROM golang:1.26.1-alpine AS builder

WORKDIR /src

COPY go.mod go.sum ./
RUN go mod download

COPY . .
RUN CGO_ENABLED=0 GOOS=linux go build -trimpath -o /out/gis ./cmd/gis

FROM alpine:3.20

# gdal-tools provides gdal_translate / gdalinfo for raster COG conversion (worker).
RUN apk add --no-cache ca-certificates tzdata gdal-tools \
    && adduser -D -u 10001 app

WORKDIR /app
COPY --from=builder /out/gis /usr/local/bin/gis

USER app

EXPOSE 8080

ENTRYPOINT ["gis"]
CMD ["serve"]
