FROM alpine:3.19 ARG PROTOC_VERSION=25.1 ARG PROTOC_GEN_GO_VERSION=v1.34.2 ARG PROTOC_GEN_GO_GRPC_VERSION=v1.5.0 RUN apk add --no-cache git curl unzip RUN curl -sLO https://github.com/protocolbuffers/protobuf/releases/download/v${PROTOC_VERSION}/protoc-${PROTOC_VERSION}-linux-x86_64.zip && \ unzip -o protoc-${PROTOC_VERSION}-linux-x86_64.zip -d /usr/local && \ rm protoc-${PROTOC_VERSION}-linux-x86_64.zip RUN curl -sLO https://go.dev/dl/go1.22.5.linux-amd64.tar.gz && \ tar -C /usr/local -xzf go1.22.5.linux-amd64.tar.gz && \ rm go1.22.5.linux-amd64.tar.gz ENV PATH="/usr/local/go/bin:/root/go/bin:${PATH}" ENV GOPATH="/root/go" RUN go install google.golang.org/protobuf/cmd/protoc-gen-go@${PROTOC_GEN_GO_VERSION} && \ go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@${PROTOC_GEN_GO_GRPC_VERSION} COPY entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh ENTRYPOINT ["/entrypoint.sh"]