monitoring-app/Dockerfile-homologacao

42 lines
1 KiB
Text

# ========================================================
# Etapa 1: Build da aplicação
# ========================================================
FROM node:20-alpine AS builder
# Define diretório de trabalho
WORKDIR /app
# Copia arquivos de configuração do pacote
COPY package.json package-lock.json ./
# Instala dependências de produção e desenvolvimento
RUN npm ci
# Copia todo o código fonte
COPY . .
# Gera build standalone
RUN npm run build
# ========================================================
# Etapa 2: Runner (produção)
# ========================================================
FROM node:20-alpine AS runner
# Define diretório de trabalho
WORKDIR /app
# Copia diretório standalone gerado pelo build
COPY --from=builder /app/.next/standalone ./
# Copia pasta public
COPY --from=builder /app/public ./public
# Copia arquivos estáticos do build
COPY --from=builder /app/.next/static ./.next/static
# Expondo porta padrão do Next.js
EXPOSE 3000
# Comando de inicialização do servidor standalone
CMD ["node", "server.js"]