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