Files
collab/Dockerfile.prod
2026-07-15 22:49:51 +08:00

29 lines
716 B
Docker

FROM node:20-alpine AS builder
RUN npm install -g grpc-tools protoc-gen-js
WORKDIR /app
COPY collab/package.json collab/package-lock.json* ./
RUN npm install
COPY proto ./proto
RUN mkdir -p gen && \
PROTOC="/usr/local/bin/grpc_tools_node_protoc" && \
GRPC_PLUGIN="/usr/local/bin/grpc_tools_node_protoc_plugin" && \
"$PROTOC" -I proto \
--plugin=protoc-gen-grpc="$GRPC_PLUGIN" \
--grpc_out=grpc_js:gen \
--js_out=import_style=commonjs,binary:gen \
proto/yoresee_doc/v1/yoresee_doc.proto
FROM node:20-alpine
WORKDIR /app
RUN mkdir -p src
COPY --from=builder /app/node_modules ./node_modules
COPY --from=builder /app/gen ./src/gen
COPY collab/. .
EXPOSE 1234
CMD ["node", "server.js"]