# Build stage FROM node:18-alpine AS builder WORKDIR /app # Copiar apenas os arquivos necessários para instalar dependências COPY package*.json ./ RUN npm install # Copiar o resto dos arquivos COPY . . # Gerar prisma client e fazer build RUN npx prisma generate RUN npm run build # Production stage - imagem muito mais leve FROM node:18-alpine WORKDIR /app # Copiar apenas o necessário do builder COPY --from=builder /app/.next ./.next COPY --from=builder /app/node_modules/.prisma ./node_modules/.prisma COPY --from=builder /app/node_modules/@prisma ./node_modules/@prisma COPY --from=builder /app/package.json ./package.json COPY --from=builder /app/public ./public COPY --from=builder /app/prisma ./prisma # Instalar apenas dependências de produção RUN npm install --production ENV NODE_ENV=production ENV PORT=3000 EXPOSE 3000 CMD ["npm", "start"]