################################## # DEVELOPMENT ################################## FROM node:16-bullseye-slim AS development ARG DEBIAN_FRONTEND=noninteractive WORKDIR /usr/src/app COPY package.json yarn.lock ./ RUN apt-get update RUN apt-get install gcc g++ make cmake python3 python3-pip ffmpeg -y RUN npm i -g yarn --force RUN yarn install COPY . . RUN yarn build # Clean up commands RUN apt-get autoremove -y && apt-get clean && \ rm -rf /usr/local/src/* RUN apt-get clean && \ rm -rf /var/lib/apt/lists/* ################################## # PRODUCTION ################################## FROM node:16-bullseye-slim as production ARG DEBIAN_FRONTEND=noninteractive ARG NODE_ENV=production ENV NODE_ENV=${NODE_ENV} WORKDIR /usr/src/app COPY package.json yarn.lock ./ RUN apt-get update RUN apt-get install gcc g++ make cmake python3 python3-pip ffmpeg -y RUN npm i -g yarn --force RUN yarn install --only=production COPY . . COPY --from=development /usr/src/app/dist ./dist # Clean up commands RUN apt-get autoremove -y && apt-get clean && \ rm -rf /usr/local/src/* RUN apt-get clean && \ rm -rf /var/lib/apt/lists/* CMD ["node", "dist/main"]