You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
476 B
23 lines
476 B
FROM node:18-alpine AS base
|
|
RUN npm i -g pnpm
|
|
WORKDIR /app
|
|
COPY package.json pnpm-lock.yaml ./
|
|
RUN pnpm i
|
|
COPY . .
|
|
|
|
FROM base AS dev
|
|
ENV NODE_ENV=development
|
|
ENTRYPOINT ["pnpm", "start:dev"]
|
|
|
|
FROM base AS build
|
|
ENV NODE_ENV=production
|
|
RUN pnpm build
|
|
|
|
FROM node:18-alpine AS prod
|
|
ENV NODE_ENV=production
|
|
WORKDIR /app
|
|
RUN npm i -g pnpm
|
|
COPY --from=build /app/dist ./dist
|
|
COPY --from=build /app/package.json /app/pnpm-lock.yaml ./
|
|
RUN pnpm i --prod
|
|
ENTRYPOINT ["pnpm", "start"]
|