34 lines
710 B
Docker
34 lines
710 B
Docker
# syntax=docker/dockerfile:1
|
|
|
|
FROM golang:1.24.2 AS build
|
|
|
|
WORKDIR /go/src/middleman
|
|
|
|
COPY . .
|
|
|
|
ARG VERSION=dev
|
|
|
|
# echo -n "not tied to a commit" | sha1sum
|
|
ARG COMMIT=dbf242029aeedcfe71af2e5843474d8f8e2e9d63
|
|
|
|
RUN go build -ldflags="-s -w -B gobuildid -X main.version=$VERSION -X main.commit=$COMMIT -linkmode external -extldflags -static" -buildmode=pie -trimpath -o middleman cmd/middleman/main.go
|
|
|
|
FROM scratch
|
|
|
|
COPY --from=build /etc/group /etc/group
|
|
|
|
COPY --from=build /etc/passwd /etc/passwd
|
|
|
|
WORKDIR /
|
|
|
|
COPY --from=build /go/src/middleman/middleman .
|
|
|
|
EXPOSE 2375/tcp
|
|
|
|
USER nobody:nogroup
|
|
|
|
HEALTHCHECK --interval=5s --timeout=2s CMD ["/middleman", "healthcheck"]
|
|
|
|
ENTRYPOINT ["/middleman"]
|
|
|
|
CMD ["serve"] |