Files
collab-go/Dockerfile.prod
2026-07-15 22:50:29 +08:00

32 lines
848 B
Docker

FROM golang:1.24-alpine AS builder
WORKDIR /app
ENV GOPROXY=https://goproxy.cn,direct
RUN apk add --no-cache protobuf
RUN go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.36.5 && \
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.5.1
COPY collab-go/go.mod collab-go/go.sum ./
COPY collab-go ./collab-go
COPY proto ./proto
WORKDIR /app/collab-go
RUN go mod download
RUN mkdir -p /app/collab-go/pkg/gen && \
protoc -I /app/proto \
--go_out=/app/collab-go/pkg/gen --go_opt=paths=source_relative \
--go-grpc_out=/app/collab-go/pkg/gen --go-grpc_opt=paths=source_relative \
/app/proto/yoresee_doc/v1/yoresee_doc.proto
RUN go mod tidy
RUN CGO_ENABLED=0 go build -p 1 -o collab-go main.go
FROM alpine:latest AS runner
WORKDIR /app
COPY --from=builder /app/collab-go .
EXPOSE 1234
CMD ["./collab-go"]