Next.js
Guia prático para hospedar aplicações Next.js na Discloud.
🧭 Introdução
Este guia passo a passo mostra como preparar, configurar e fazer o deploy de uma aplicação Next.js na Discloud.
Existem duas abordagens principais:
Opção A (recomendada) – usar o
next build+next startsem servidor custom (apenas o server interno do Next.js).Opção B – usar um servidor custom com Express, útil se você precisa de rotas extras, middlewares customizados ou integrações específicas.
Além disso, mostramos uma alternativa com export estático, ideal para sites puramente estáticos.
📋 Requisitos
Plano Platinum ou superior é necessário para hospedar websites ou APIs.
Um subdomínio deve ser criado antes do deploy.
Porta 8080 é obrigatória – As aplicações devem escutar nesta porta.
🧱 Pré-requisitos locais
Antes de continuar, você vai precisar:
Node.js instalado na sua máquina.
Um projeto Next.js criado (ex.:
npx create-next-app).Uma conta na Discloud com subdomínio configurado.
Opcionalmente: Git, VSCode e/ou CLI da Discloud para facilitar o fluxo.
Se ainda não tiver familiaridade com o ambiente, confira:
NodeJS🧹 Preparando os arquivos do projeto
Antes de compactar seu projeto em .zip, crie um arquivo .discloudignore na raiz do projeto para excluir arquivos e pastas desnecessárias do upload:
node_modules/
dist/
.next/
.env
.env.local
.git
package-lock.json📦 package.json – scripts recomendados
package.json – scripts recomendadosDentro do seu package.json, garanta que os scripts principais do Next.js estejam definidos. Um exemplo básico:
{
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start -p 8080",
"export": "next export"
}
}É importante que o comando start use a porta 8080 (next start -p 8080), pois essa é a porta padrão exigida pela Discloud para websites.
🔐 Variáveis de ambiente
No Next.js, variáveis de ambiente públicas devem começar com NEXT_PUBLIC_.
Defina variáveis pelo Painel da Discloud, CLI ou API.
Tudo que começa com
NEXT_PUBLIC_é embutido no bundle durante o build.
Exemplo:
NEXT_PUBLIC_API_URL=https://meu-backend.discloud.app
API_SECRET_TOKEN=nao-colocar-no-frontUsando em componentes:
const apiUrl = process.env.NEXT_PUBLIC_API_URL;🗂️ Estrutura final recomendada do projeto
Uma estrutura típica de projeto Next.js para a Discloud pode ser:
my-next-app/
├─ discloud.config
├─ .discloudignore
├─ package.json
├─ next.config.js
├─ server.js # opcional (apenas na Opção B)
├─ public/
└─ app/ ou pages/
├─ page.js
└─ api/
└─ hello.js🚀 Fazendo o deploy na Discloud
Você pode fazer deploy do seu app Next.js usando qualquer um dos métodos suportados.
Painel de ControleBot do DiscordVisual Studio CodeCLI🛠️ Troubleshooting (erros comuns)
Aplicação não abre / porta errada
Verifique se o Next está usando a porta 8080 (next start -p 8080 ou PORT=8080).
Erro de plano / permissão
Confirme se sua conta possui o plano correto para websites/APIs.
Subdomínio não configurado
Certifique-se de ter seguido o guia de subdomínio antes do deploy.
Erros de build
Execute localmente:
npm run builde corrija qualquer erro antes de enviar.Confira se todas as dependências estão listadas no
package.json.
Erros ao iniciar (START)
Verifique se o script
startestá correto.Acompanhe os logs da Discloud para ver a mensagem de erro exata.
Last updated