Artigos sobre: Websites & APIs

Como hospedar aplicações NestJS

Como hospedar aplicações NestJS na Square Cloud


Hospedar uma aplicação NestJS na Square Cloud é um processo direto, focado na eficiência. Como o NestJS utiliza TypeScript, o segredo para um deploy bem-sucedido está na compilação (build) e no ajuste correto da porta de escuta.



1. Ajustando a Porta (Port 80)


A Square Cloud utiliza a porta 80 para rotear o tráfego da sua aplicação. Por padrão, o NestJS costuma iniciar na porta 3000. Você deve alterar o arquivo main.ts para escutar na porta correta.


No seu arquivo src/main.ts:

async function bootstrap() {
const app = await NestFactory.create(AppModule);
// Altere de 3000 para 80
await app.listen(80);
}
bootstrap();



2. Gerando o Build


Não enviamos a pasta src para a hospedagem, pois o Nest compila o código de maneira otimizada para JS.


Execute o comando de build na sua máquina local:

npm run build

Isso gerará uma pasta chamada dist na raiz do seu projeto. É esse conteúdo que será executado na Square Cloud.



3. Preparando o Pacote de Envio


Para um deploy otimizado, você deve criar um arquivo .zip contendo os seguintes itens:


  • A pasta dist/: (Contém seu código compilado).
  • O arquivo package.json: (Necessário para instalar as dependências de produção).
  • O arquivo package-lock.json ou yarn.lock: (Garante as versões exatas das bibliotecas).


Importante: Não inclua a pasta node_modules. A Square Cloud instalará as dependências automaticamente no servidor após o upload.



4. Configurando o Arquivo Principal (Main)


Ao realizar o deploy (seja pelo dashboard ou via arquivo de configuração), você deve apontar para o arquivo de entrada dentro da pasta compilada.


  • Main File: dist/main.js


Se estiver usando o arquivo squarecloud.app ou squarecloud.config, a linha ficará assim:

MAIN=dist/main.js



5. Dicas de Ouro para NestJS


  • Produção: Certifique-se de que suas dependências de banco de dados e segredos (como chaves de API) estejam configuradas nas Variáveis de Ambiente (ENVs) no dashboard da Square, e não "hardcoded" no código.
  • Prisma/TypeORM: Se usar algum ORM, lembre-se de rodar as migrations ou gerar o client do banco de dados no seu processo de build ou via scripts de postinstall no package.json.
  • Memória: Aplicações NestJS podem consumir um pouco mais de RAM durante a inicialização devido à injeção de dependências. Monitore os logs para garantir que seu plano possui recursos suficientes.

Atualizado em: 12/05/2026

Este artigo foi útil?

Compartilhe seu feedback

Cancelar

Obrigado!