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


🧱 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:

O arquivo .discloudignore funciona de forma semelhante a um .gitignore, mas é usado pela Discloud para ignorar arquivos no momento do upload.


🔧 Configuração TypeScript – tsconfig.build.json

Garanta que seu tsconfig.build.json (ou tsconfig.json) esteja configurado para compilar para a pasta dist. Aqui está uma configuração típica:


🚀 Ponto de entrada principal – src/main.ts

Garanta 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


📦 package.json – scripts recomendados

Dentro do seu package.json, garanta que os scripts de build e start estejam corretamente definidos:

  • build – compila TypeScript para dist via o CLI do Nest.

  • start – executa a aplicação compilada a partir da pasta dist.

  • start:dev – executa em modo watch localmente (não necessário para Discloud).


⚙️ discloud.config – exemplo

Aqui 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.config

🧪 Testando localmente (build para produção)

Antes de enviar para a Discloud, verifique se seu app compila e executa corretamente:

1

Compile o projeto localmente:

Isto gera a pasta dist com o JavaScript compilado.

2

Teste o build para produção:

Verifique se o servidor inicia e responde às requisições (ex.: via curl http://localhost:8080).

3

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:

Para melhor segurança de tipo e validação, considere usar o pacote @nestjs/config para gerenciar variáveis de ambiente.


🗂️ 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 build e 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 start está correto.

  • Acompanhe os logs da Discloud para ver a mensagem de erro exata.

Last updated