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:
18
Dockerfile
18
Dockerfile
@@ -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"]
|
||||||
|
|||||||
Reference in New Issue
Block a user