Publicar uma aplicação Node.js no Brasil não precisa envolver servidor manual, Nginx, certificado TLS, cobrança em dólar e uma semana de ajustes de infraestrutura. Se a aplicação roda em container, a Guara Cloud consegue levar esse serviço para produção com domínio, HTTPS e observabilidade em poucos passos.
Este guia usa uma API Node.js simples como referência, mas o fluxo vale para Express, Fastify, NestJS e qualquer runtime que exponha uma porta HTTP.
Resposta rápida
Para fazer deploy de uma aplicação Node.js no Brasil, empacote a aplicação em uma imagem Docker, faça a aplicação escutar a porta definida por PORT, configure variáveis de ambiente fora do código e publique o serviço na Guara Cloud. A plataforma roda em Linode LKE em São Paulo, entrega HTTPS gerenciado, logs e cobrança em Real.
Principais pontos
- Use um Dockerfile reproduzível com lockfile commitado.
- Leia
PORTpelo ambiente e escute em0.0.0.0. - Configure segredos pelo painel, nunca no repositório.
- Valide URL pública, logs e consumo de CPU/memória depois do primeiro deploy.
Quando este guia se aplica
Use este fluxo para APIs Express, Fastify, NestJS, workers HTTP e qualquer serviço Node.js que possa rodar em container. Se a aplicação depende de banco de dados, crie o serviço de banco no catálogo e injete a URL de conexão como variável de ambiente.
Quando não usar este fluxo
Este guia não cobre aplicações puramente estáticas, deploy serverless sem container ou workloads que precisam de acesso direto ao Kubernetes. Para esses casos, prefira a documentação específica da plataforma ou um serviço especializado.
Antes de começar
- Uma aplicação Node.js com script de start
- Um Dockerfile funcional
- Uma conta na Guara Cloud
- Variáveis de ambiente separadas do código
1. Prepare a aplicação para rodar em container
O ponto mais importante é garantir que a aplicação escute a porta recebida por variável de ambiente.
const port = Number(process.env.PORT ?? 3000); 2. Crie um Dockerfile de produção
Use uma imagem enxuta, instale dependências com lockfile e rode a aplicação sem depender de arquivos locais.
FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --omit=dev
COPY . .
ENV NODE_ENV=production
CMD ["npm", "start"] 3. Configure variáveis de ambiente
Nunca coloque segredos no repositório. Configure valores como conexão de banco, tokens e chaves pelo painel da Guara Cloud.
Variáveis de ambiente
| Nome | Valor |
|---|---|
NODE_ENV | production |
PORT | 3000 |
DATABASE_URL | postgres://... |
4. Faça o deploy na Guara Cloud
Depois que o container está pronto, conecte o repositório ou informe a imagem Docker. A plataforma cuida do serviço, domínio interno, HTTPS e logs.
Passo a passo
- Crie um novo serviço na Guara Cloud
- Escolha deploy via GitHub ou imagem Docker
- Confirme a porta HTTP da aplicação
- Adicione as variáveis de ambiente
- Inicie o deploy e acompanhe os logs
5. Valide logs, domínio e saúde do serviço
Depois do primeiro deploy, confirme se a aplicação responde pela URL pública, revise os logs e observe consumo de CPU e memória. Esse passo evita descobrir problemas só depois que usuários acessarem o serviço.
Solução de problemas
- Problema A aplicação sobe, mas não responde
- Solução Confirme se ela escuta em 0.0.0.0 e usa a porta configurada.
- Problema O build funciona localmente, mas falha no deploy
- Solução Garanta que o lockfile foi commitado e que o Dockerfile não depende de arquivos ignorados.
- Problema O serviço precisa de banco de dados
- Solução Crie um Postgres pelo catálogo e configure a variável DATABASE_URL no serviço.
Qual é a forma mais simples de publicar Node.js no Brasil?
A forma mais simples é criar uma imagem Docker da aplicação, configurar PORT e variáveis de ambiente, e publicar o serviço em uma plataforma com infraestrutura no Brasil como a Guara Cloud.
Preciso configurar Nginx e certificado TLS manualmente?
Não. Na Guara Cloud, o serviço recebe HTTPS gerenciado e domínio público sem você operar Nginx ou certificados manualmente.
A cobrança é em Real?
Sim. A Guara Cloud cobra em BRL via Stripe, evitando conversão de dólar para times brasileiros.
Publique seu próximo serviço Node.js na Guara Cloud
Deploy com container, HTTPS, logs e cobrança em Real, sem gerenciar Kubernetes.