FROM node:22-bookworm-slim AS builder RUN apt-get update \ && apt-get install -y --no-install-recommends openssl \ && rm -rf /var/lib/apt/lists/* WORKDIR /app COPY package*.json ./ RUN npm ci COPY prisma ./prisma RUN npm run prisma:generate COPY src ./src COPY tsconfig*.json ./ COPY nest-cli.json ./ RUN npm run build FROM node:22-bookworm-slim AS runner RUN apt-get update \ && apt-get install -y --no-install-recommends openssl \ && rm -rf /var/lib/apt/lists/* WORKDIR /app ENV NODE_ENV=production COPY package*.json ./ RUN npm ci --omit=dev COPY --from=builder /app/dist ./dist COPY --from=builder /app/prisma ./prisma COPY --from=builder /app/node_modules/.prisma ./node_modules/.prisma COPY --from=builder /app/node_modules/@prisma ./node_modules/@prisma EXPOSE 4300 CMD ["node", "dist/src/main.js"]