This commit is contained in:
Keven 2025-12-09 14:13:38 -03:00
parent 26df474611
commit 52d16a1548
3 changed files with 14 additions and 10 deletions

View file

@ -9,12 +9,15 @@ WORKDIR /app
# Copia os arquivos de dependência
COPY package*.json ./
# Instala dependências
# Instala dependências (usando cache eficiente)
RUN npm ci
# Copia todo o código da aplicação
# Copia o restante do código
COPY . .
# Garante o ambiente de produção durante o build
ENV NODE_ENV=production
# Gera o build de produção
RUN npm run build
@ -23,25 +26,26 @@ RUN npm run build
# =============================
FROM node:20-alpine AS runner
# Define o ambiente
# Define o ambiente de produção explicitamente
ENV NODE_ENV=production
ENV NEXT_TELEMETRY_DISABLED=1
# Cria diretório da aplicação
WORKDIR /app
# Copia apenas os arquivos necessários do build anterior
# Copia apenas o necessário da build
COPY --from=builder /app/package*.json ./
COPY --from=builder /app/.next ./.next
COPY --from=builder /app/public ./public
COPY --from=builder /app/next.config.* ./
COPY --from=builder /app/node_modules ./node_modules
# Define usuário não-root por segurança
# Usuário não-root por segurança
RUN addgroup -S nodejs && adduser -S nextjs -G nodejs
USER nextjs
# Porta padrão do Next.js (pode ser alterada via variável)
# Expõe a porta padrão do Next.js
EXPOSE 3000
# Comando para rodar a aplicação
CMD ["npm", "start"]
# Força o modo produção, mesmo que o painel envie NODE_ENV errado
CMD ["sh", "-c", "NODE_ENV=production npm start"]

View file

@ -13,4 +13,4 @@ const nextConfig = {
experimental: { runtime: 'nodejs' },
};
module.exports = nextConfig;
module.exports = nextConfig;

View file

@ -6,7 +6,7 @@
"scripts": {
"dev": "next dev --turbopack",
"build": "next build",
"start": "next start",
"start": "next start -p 3000",
"lint": "next lint"
},
"dependencies": {