NestJS
Guia prático para hospedar aplicações NestJS na Discloud.
🧭 Introdução
Este guia passo a passo mostra como preparar, configurar e fazer o deploy de uma aplicação NestJS na Discloud.
O processo envolve compilar seu código TypeScript para a pasta dist e executar o JavaScript compilado na porta 8080. Aplicações NestJS são simples de fazer deploy porque o framework gerencia rotas, injeção de dependências e organização de módulos automaticamente.
📋 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 NestJS criado (ex.:
nest new meu-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:
🔧 Configuração TypeScript – tsconfig.build.json
tsconfig.build.jsonGaranta que seu tsconfig.build.json (ou tsconfig.json) esteja configurado para compilar para a pasta dist. Aqui está uma configuração típica:
É importante que compilerOptions.outDir esteja definido como "dist", pois a Discloud procurará pela sua aplicação compilada lá.
🚀 Ponto de entrada principal – src/main.ts
src/main.tsGaranta que seu src/main.ts escute na porta 8080 e aceite a porta de variáveis de ambiente. Aqui está uma configuração típica:
Importante
Porta 8080 é obrigatória. Mesmo que você defina
PORTno seu arquivo.env, ele deve ser8080.Vincule a
0.0.0.0(nãolocalhost) para que o tráfego externo possa chegar ao seu app.
📦 package.json – scripts recomendados
package.json – scripts recomendadosDentro do seu package.json, garanta que os scripts de build e start estejam corretamente definidos:
⚙️ discloud.config – exemplo
discloud.config – exemploAqui está uma configuração típica para uma aplicação NestJS:
Para informações detalhadas sobre cada parâmetro de configuração e todas as opções disponíveis, consulte o guia completo:
discloud.configCertifique-se de ajustar o campo ID para corresponder ao seu subdomínio registrado no painel da Discloud.
🧪 Testando localmente (build para produção)
Antes de enviar para a Discloud, verifique se seu app compila e executa corretamente:
Compile o projeto localmente:
Isto gera a pasta dist com o JavaScript compilado.
Teste o build para produção:
Verifique se o servidor inicia e responde às requisições (ex.: via curl http://localhost:8080).
Pare o servidor e proceda com o deploy.
🔐 Variáveis de ambiente
No NestJS, variáveis de ambiente são tipicamente acessadas via process.env:
Padrões comuns incluem
DATABASE_URL,API_KEY,REDIS_URL, etc.
Exemplo em um serviço:
🗂️ Estrutura final recomendada do projeto
Uma estrutura típica de projeto NestJS para a Discloud pode ser:
🚀 Fazendo o deploy na Discloud
Você pode fazer deploy do seu app NestJS 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 NestJS está escutando na porta 8080 (process.env.PORT || 8080 em main.ts).
Pasta dist não encontrada
Verifique se tsconfig.build.json possui "outDir": "./dist" e execute npm run build localmente para confirmar.
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