FROM golang:1.25.5-trixie AS builder ENV GOCACHE=/tmp/go-build \ GOPROXY=https://proxy.golang.org,direct WORKDIR /src COPY go.mod ./ RUN go mod download COPY . . RUN CGO_ENABLED=0 go build -o /bin/geoip ./cmd/server && \ CGO_ENABLED=0 go build -o /bin/geoip-loader ./cmd/loader FROM debian:trixie-slim RUN useradd --create-home --shell /usr/sbin/nologin appuser WORKDIR /app COPY --from=builder /bin/geoip /usr/local/bin/geoip COPY --from=builder /bin/geoip-loader /usr/local/bin/geoip-loader COPY GeoLite2-City.mmdb /data/GeoLite2-City.mmdb ENV GEOIP_DB_PATH=/data/GeoLite2-City.mmdb USER appuser EXPOSE 8080 CMD ["geoip"]