FROM node:20-alpine AS base WORKDIR /app COPY package*.json ./ RUN npm ci --only=production FROM base AS dev RUN npm ci COPY . . CMD ["npm", "run", "dev"] FROM base AS prod COPY . . # Generate Prisma client in the production image RUN npx prisma generate # Run as non-root user USER node CMD ["node", "src/index.js"]