feat(): Ajustes para deploy
This commit is contained in:
parent
46ccbd2b53
commit
dbbd0291d8
2 changed files with 28 additions and 17 deletions
10
.dockerignore
Normal file
10
.dockerignore
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
node_modules
|
||||
npm-debug.log
|
||||
Dockerfile
|
||||
.dockerignore
|
||||
.git
|
||||
.gitignore
|
||||
.env
|
||||
*.md
|
||||
.vscode
|
||||
dist
|
||||
|
|
@ -1,41 +1,42 @@
|
|||
# Etapa 1: Construir a aplicação
|
||||
# ========================================================
|
||||
# Etapa 1: Build da aplicação
|
||||
# ========================================================
|
||||
FROM node:20-alpine AS builder
|
||||
|
||||
# Define o diretório de trabalho
|
||||
# Define diretório de trabalho
|
||||
WORKDIR /app
|
||||
|
||||
# Copia os arquivos de configuração do pacote
|
||||
# Copia arquivos de configuração do pacote
|
||||
COPY package.json package-lock.json ./
|
||||
|
||||
# Instala as dependências do projeto
|
||||
RUN npm install
|
||||
# Instala dependências de produção e desenvolvimento
|
||||
RUN npm ci
|
||||
|
||||
# Copia todo o código da aplicação para o container
|
||||
# Copia todo o código fonte
|
||||
COPY . .
|
||||
|
||||
# Constrói a aplicação com o output 'standalone'
|
||||
# Gera build standalone
|
||||
RUN npm run build
|
||||
|
||||
# Etapa 2: Executar a aplicação
|
||||
# Usa uma imagem Node.js leve
|
||||
# ========================================================
|
||||
# Etapa 2: Runner (produção)
|
||||
# ========================================================
|
||||
FROM node:20-alpine AS runner
|
||||
|
||||
# Define o diretório de trabalho
|
||||
# Define diretório de trabalho
|
||||
WORKDIR /app
|
||||
|
||||
# Copia o diretório 'standalone' da etapa de build, que já contém o servidor e as dependências
|
||||
# O diretório 'standalone' é a pasta .next/standalone gerada pela configuração 'output: standalone'
|
||||
# Copia diretório standalone gerado pelo build
|
||||
COPY --from=builder /app/.next/standalone ./
|
||||
|
||||
# Copia os arquivos públicos
|
||||
# Copia pasta public
|
||||
COPY --from=builder /app/public ./public
|
||||
|
||||
# Copia os arquivos estáticos gerados pelo build. É aqui que os arquivos CSS e JS ficam.
|
||||
# Copia arquivos estáticos do build
|
||||
COPY --from=builder /app/.next/static ./.next/static
|
||||
|
||||
# Expõe a porta padrão do Next.js
|
||||
# Expondo porta padrão do Next.js
|
||||
EXPOSE 3000
|
||||
|
||||
# Define o comando para iniciar a aplicação
|
||||
# O 'start' do package.json não é necessário, o próprio servidor standalone já está no container
|
||||
# Comando de inicialização do servidor standalone
|
||||
CMD ["node", "server.js"]
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue