1

Como colocar uma API Node.js no ar sem VPS (e os 3 erros que derrubam o primeiro deploy)

Sua API responde em localhost:3000, um endereço que só existe na sua máquina. Aqui vai o caminho para ela ficar acessível de fora, sem alugar e configurar um VPS. Os passos valem para qualquer plataforma que rode container; no final conto o que eu usei.

1. Escute onde a nuvem alcança

O erro que mais derruba o primeiro deploy: o servidor sobe escutando só em localhost. Dentro de um container isso quer dizer "só aceito conexão de mim mesmo", e nenhuma requisição de fora chega.

import express from "express";

const app = express();
app.get("/health", (_req, res) => res.json({ ok: true }));

const port = Number(process.env.PORT) || 3000;
app.listen(port, "0.0.0.0", () => console.log(`rodando na ${port}`));

Dois detalhes: host 0.0.0.0 e porta lida de process.env.PORT. Assim o mesmo código roda na sua máquina e em produção.

2. Tenha um comando que liga tudo

A plataforma não adivinha como iniciar o projeto, ela lê o package.json:

{
  "scripts": { "start": "node src/index.js" }
}

Teste exatamente esse comando local. Se npm start falha na sua máquina, vai falhar no deploy.

3. Tire os segredos do código

Chave de API, senha de banco e token vão em variável de ambiente, lida por process.env. Se você tem um .env, ele é a lista do que cadastrar no painel. Só não suba o arquivo.

4. Suba e leia o log

Eu envio um .zip na primeira vez (arquivos na raiz do zip, não dentro de uma pasta) ou conecto o GitHub quando quero deploy a cada push. Se algo der errado, o log aponta o motivo na maioria dos casos:

  • servidor escutando em localhost (passo 1)
  • porta diferente da informada
  • dependência que não está no package.json
  • variável de ambiente faltando

5. Teste de fora

Faça uma chamada real de fora da sua máquina e confira status e corpo:

curl -i https://SEU-APP.exemplo.com/health

Se a resposta chega, o caminho inteiro funciona: DNS, TLS, proxy e a sua API.

Onde o grátis para

Banco de dados e domínio próprio costumam ficar fora dos planos grátis, e uma API de verdade quase sempre precisa de um dos dois. Vale conferir isso na plataforma antes de começar, para não migrar no meio.

O que eu usei

Sou o fundador da Hyze Cloud, uma hospedagem brasileira de sites, APIs e bots, e foi nela que fiz esse passo a passo. O cadastro libera 7 dias grátis (1 app, 256 MB), e o plano Starter custa R$ 5,99 por mês, com Pix e suporte em português. O guia completo, com prints do painel, está aqui: https://hyzecloud.com/pt-br/guias/como-hospedar-uma-api-node

Se quiser comparar, os passos 1 a 3 valem igual em Railway, Render ou Fly. Dúvida de deploy? Comenta aí que eu respondo.

Carregando publicação patrocinada...