33 lines
800 B
Docker
33 lines
800 B
Docker
# ===========================
|
|
# 1º Estágio - Base
|
|
# ===========================
|
|
FROM node:20-alpine AS base
|
|
|
|
# Define diretório de trabalho
|
|
WORKDIR /app
|
|
|
|
# Instala dependências básicas do sistema (útil para pacotes nativos, ex: sharp)
|
|
RUN apk add --no-cache libc6-compat bash
|
|
|
|
# ===========================
|
|
# 2º Estágio - Desenvolvimento
|
|
# ===========================
|
|
FROM base AS dev
|
|
|
|
# Define variável de ambiente para desenvolvimento
|
|
ENV NODE_ENV=development
|
|
|
|
# Copia apenas arquivos de dependências primeiro para otimizar o cache
|
|
COPY package*.json ./
|
|
|
|
# Instala TODAS as dependências (inclusive devDependencies)
|
|
RUN npm install
|
|
|
|
# Copia todo o código do projeto
|
|
COPY . .
|
|
|
|
# Expõe a porta padrão do Next.js
|
|
EXPOSE 3000
|
|
|
|
# Ativa recarga automática e debug
|
|
CMD ["npm", "run", "dev"]
|