# ---- Build ---- FROM node:22-alpine AS build WORKDIR /app COPY package.json package-lock.json ./ COPY prisma ./prisma RUN npm ci COPY tsconfig.json ./ COPY src ./src RUN npx prisma generate && npm run build # ---- Runner ---- FROM node:22-alpine AS runner WORKDIR /app ENV NODE_ENV=production COPY package.json package-lock.json ./ COPY prisma ./prisma RUN npm ci --omit=dev COPY --from=build /app/node_modules/.prisma ./node_modules/.prisma COPY --from=build /app/node_modules/@prisma/client ./node_modules/@prisma/client COPY --from=build /app/dist ./dist EXPOSE 3000 # Aplica migraciones pendientes antes de arrancar CMD ["sh", "-c", "npx prisma migrate deploy && node dist/index.js"]