|
|
|
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 |
|
|
|
|
|
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 |
|
|
|
|
|
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"] |
|
|