FROM node:20-bullseye-slim as base FROM base as production_buildstage WORKDIR /home/node/app COPY package.json package-lock.json ./ RUN npm ci COPY --chown=node:node . ./ RUN npm run build FROM base as production RUN apt-get update RUN apt-get install -y postgresql-client ENV NODE_ENV=production USER node WORKDIR /home/node/app COPY package.json package-lock.json entrypoint.sh ./ RUN npm ci COPY --from=production_buildstage /home/node/app/dist /home/node/app/dist CMD ["./entrypoint.sh"] FROM base as development WORKDIR /home/node/app