29 lines
716 B
Docker
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"] |