# Build stage FROM node:20-alpine AS builder WORKDIR /app # Copiar archivos de dependencias COPY package*.json ./ COPY prisma ./prisma/ # Instalar dependencias RUN npm ci # Copiar código fuente COPY . . # Generar Prisma client RUN npx prisma generate # Compilar TypeScript RUN npm run build # Production stage FROM node:20-alpine WORKDIR /app # Copiar archivos necesarios COPY package*.json ./ COPY prisma ./prisma/ # Instalar solo dependencias de producción RUN npm ci --only=production # Generar Prisma client para producción RUN npx prisma generate # Copiar código compilado desde builder COPY --from=builder /app/dist ./dist # Crear directorio de logs RUN mkdir -p logs # Puerto EXPOSE 3000 # Comando de inicio CMD ["npm", "start"]