| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | 
							- # build front-end
 
- FROM node:lts-alpine AS frontend
 
- RUN npm install pnpm -g
 
- WORKDIR /app
 
- COPY ./package.json /app
 
- COPY ./pnpm-lock.yaml /app
 
- RUN pnpm install
 
- COPY . /app
 
- RUN pnpm run build
 
- # build backend
 
- FROM node:lts-alpine as backend
 
- RUN npm install pnpm -g
 
- WORKDIR /app
 
- COPY /service/package.json /app
 
- COPY /service/pnpm-lock.yaml /app
 
- RUN pnpm install
 
- COPY /service /app
 
- RUN pnpm build
 
- # service
 
- FROM node:lts-alpine
 
- RUN npm install pnpm -g
 
- WORKDIR /app
 
- COPY /service/package.json /app
 
- COPY /service/pnpm-lock.yaml /app
 
- RUN pnpm install --production && rm -rf /root/.npm /root/.pnpm-store /usr/local/share/.cache /tmp/*
 
- COPY /service /app
 
- COPY --from=frontend /app/dist /app/public
 
- COPY --from=backend /app/build /app/build
 
- EXPOSE 3002
 
- CMD ["pnpm", "run", "prod"]
 
 
  |