FROM golang:1.25-alpine AS builder WORKDIR /build COPY go.mod go.sum ./ RUN go mod download COPY . . RUN CGO_ENABLED=0 go build -trimpath -ldflags="-s -w -X main.version=$(git describe --tags --always --dirty 2>/dev/null || echo unknown)" -o mcat ./cmd/mcat FROM alpine:3.21 RUN apk --no-cache add ca-certificates && \ adduser -D -h /srv/mcat mcat USER mcat WORKDIR /srv/mcat COPY --from=builder /build/mcat /usr/local/bin/mcat VOLUME /srv/mcat EXPOSE 8443 ENTRYPOINT ["mcat"] CMD ["server", "--config", "/srv/mcat/mcat.toml"]