diff --git a/Dockerfile.master b/Dockerfile.master new file mode 100644 index 0000000..e377fb6 --- /dev/null +++ b/Dockerfile.master @@ -0,0 +1,22 @@ +FROM golang:1.25-alpine AS builder + +ARG VERSION=dev + +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=${VERSION}" \ + -o /mcp-master ./cmd/mcp-master + +FROM alpine:3.21 + +RUN apk add --no-cache ca-certificates tzdata + +COPY --from=builder /mcp-master /usr/local/bin/mcp-master + +WORKDIR /srv/mcp-master +EXPOSE 9555 + +ENTRYPOINT ["mcp-master"] +CMD ["server", "--config", "/srv/mcp-master/mcp-master.toml"] diff --git a/Makefile b/Makefile index 595a8ca..206beb6 100644 --- a/Makefile +++ b/Makefile @@ -32,6 +32,11 @@ proto-lint: buf lint buf breaking --against '.git#branch=master,subdir=proto' +docker-master: + podman build -f Dockerfile.master \ + --build-arg VERSION=$(shell git describe --tags --always --dirty) \ + -t mcr.svc.mcp.metacircular.net:8443/mcp-master:$(shell git describe --tags --always --dirty) . + clean: rm -f mcp mcp-agent mcp-master