diff --git a/dockerfile b/dockerfile index 700a1ea..2b10fd4 100644 --- a/dockerfile +++ b/dockerfile @@ -3,30 +3,33 @@ FROM node:18-alpine AS builder WORKDIR /app -# Copiar arquivos de configuração +# Copiar apenas os arquivos necessários para instalar dependências COPY package*.json ./ +RUN npm install + +# Copiar o resto dos arquivos COPY . . -# Instalar dependências -RUN npm install +# Gerar prisma client e fazer build RUN npx prisma generate - -# Build da aplicação RUN npm run build -# Production stage +# Production stage - imagem muito mais leve FROM node:18-alpine WORKDIR /app -# Copiar arquivos do builder +# Copiar apenas o necessário do builder COPY --from=builder /app/.next ./.next -COPY --from=builder /app/node_modules ./node_modules -COPY --from=builder /app/package*.json ./ +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 -# Variáveis de ambiente +# Instalar apenas dependências de produção +RUN npm install --production + ENV NODE_ENV=production ENV PORT=3000