1234567891011121314151617181920212223242526272829303132 |
- # 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 as runner
- 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"]
|