Fix Dockerfile for rootless podman

Remove USER and VOLUME directives (cause layer unpacking failures in
rootless podman). Add ARG VERSION for build-time injection. Follow the
standard mcdoc/mcq Dockerfile pattern.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-28 17:26:30 -07:00
parent 2228b27c7c
commit 7761a5c5a4

View File

@@ -1,18 +1,24 @@
FROM golang:1.25-alpine AS builder FROM golang:1.25-alpine AS builder
ARG VERSION=dev
RUN apk add --no-cache git
WORKDIR /build WORKDIR /build
COPY go.mod go.sum ./ COPY go.mod go.sum ./
RUN go mod download RUN go mod download
COPY . . 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 RUN CGO_ENABLED=0 go build -trimpath -ldflags="-s -w -X main.version=${VERSION}" -o mcat ./cmd/mcat
FROM alpine:3.21 FROM alpine:3.21
RUN apk --no-cache add ca-certificates && \
adduser -D -h /srv/mcat mcat RUN apk add --no-cache ca-certificates tzdata
USER mcat
WORKDIR /srv/mcat
COPY --from=builder /build/mcat /usr/local/bin/mcat COPY --from=builder /build/mcat /usr/local/bin/mcat
VOLUME /srv/mcat
WORKDIR /srv/mcat
EXPOSE 8443 EXPOSE 8443
ENTRYPOINT ["mcat"] ENTRYPOINT ["mcat"]
CMD ["server", "--config", "/srv/mcat/mcat.toml"] CMD ["server", "--config", "/srv/mcat/mcat.toml"]