1FROM node:20-alpine AS development-dependencies-env
2COPY . /app
3WORKDIR /app
4RUN npm ci
5
6FROM node:20-alpine AS production-dependencies-env
7COPY ./package.json package-lock.json /app/
8WORKDIR /app
9RUN npm ci --omit=dev
10
11FROM node:20-alpine AS build-env
12COPY . /app/
13COPY --from=development-dependencies-env /app/node_modules /app/node_modules
14WORKDIR /app
15RUN npm run build
16
17FROM node:20-alpine
18COPY ./package.json package-lock.json /app/
19COPY --from=production-dependencies-env /app/node_modules /app/node_modules
20COPY --from=build-env /app/build /app/build
21WORKDIR /app
22CMD ["npm", "run", "start"]