Pular para o conteúdo principal
Sua aplicação trava no boot ou nunca fica online? O log do console quase sempre nomeia o problema exato. Encontre o erro abaixo.

EADDRINUSE (porta já em uso)

O que significa: a aplicação tenta vincular a mesma porta de rede duas vezes. Por que acontece: dois servidores são iniciados no código, ou uma chamada de listener/app.listen(...) é criada novamente dentro de um event handler (por exemplo, a cada requisição ou a cada reconexão) em vez de apenas uma vez na inicialização. Como corrigir:
  1. Vincule um único webserver, uma única vez, escutando na porta 80.
  2. Procure no seu código por mais de uma chamada .listen() (Node) ou run() (Python/Flask/Django) e remova a duplicada.
  3. Certifique-se de que a chamada de listen fica no nível superior do seu arquivo de inicialização, não dentro de um callback que pode disparar mais de uma vez.
Aplicações dinâmicas da Square Cloud devem se vincular ao host 0.0.0.0 e à porta 80. Vincular a localhost/127.0.0.1 ou qualquer outra porta causa um timeout do site em vez disso.

”Cannot find module” (Node.js) e ModuleNotFoundError (Python)

O que significa: um pacote que seu código importa está faltando no arquivo de dependências. Por que acontece: a biblioteca não está listada em dependencies do package.json (Node) ou em requirements.txt/pyproject.toml (Python), então ela nunca é instalada na plataforma, mesmo que funcione na sua máquina. Como corrigir:
  1. Adicione o pacote faltante ao arquivo de dependências com uma versão válida.
  2. Confirme que o próprio arquivo de dependências está incluído no .zip que você enviou.
  3. Reinicie a aplicação. Para Node.js, uma reinstalação limpa exige apagar o node_modules primeiro (delete-o e o package-lock.json, depois reinicie) para que a plataforma reinstale do zero.

INVALID_DEPENDENCY

O que significa: o deploy falhou porque uma entrada no seu arquivo de dependências não existe ou aponta para uma versão inválida/indisponível. Como corrigir: abra o package.json / requirements.txt / pyproject.toml, corrija o nome do pacote ou o intervalo de versão sinalizado com erro de digitação, e refaça o deploy.

CONTAINER_TEMPORARILY_SUSPENDED

O que significa: o container foi suspenso pela plataforma. Por que acontece: este status é disparado por proteções automáticas contra abuso de recursos, mais comumente:
  • OOM (RAM): a aplicação tentou exceder sua MEMORY configurada e o processo foi encerrado.
  • Abuso de CPU: a aplicação excedeu continuamente sua CPU alocada, então o processo foi suspenso para proteger o node.
  • Abuso de requisições: um limite de segurança no tráfego para domínios .squareweb.app ou APIs de mensagens (Discord, Telegram, WhatsApp) foi acionado, quase sempre por um loop infinito ou um cache ausente em vez de popularidade real.
Como corrigir: verifique o email associado à sua conta, ele explica qual gatilho causou a suspensão. Depois corrija a causa raiz (vazamento de memória, loop intenso, ou padrão de requisições descontrolado) antes de reiniciar.

KEEP_CALM

O que significa: uma ação relacionada a snapshot foi solicitada rápido demais. Por que acontece: ou você (ou uma automação) solicitou um snapshot novamente antes do curto cooldown da plataforma entre solicitações de snapshot terminar, ou o limite diário de snapshots da conta para o plano atual foi atingido. Note que isso é diferente de DAILY_SNAPSHOTS_LIMIT_REACHED, que sinaliza especificamente que a cota diária do plano foi esgotada: KEEP_CALM também pode disparar no cooldown mais curto por aplicação entre solicitações, independente da contagem diária. Como corrigir: aguarde alguns minutos e tente novamente. Se o limite diário foi atingido, aguarde até o dia seguinte, ou faça upgrade para um limite maior de snapshots automáticos.

Erros de bindings nativos do better-sqlite3

O que significa: um erro como Could not locate the bindings file quando sua aplicação usa better-sqlite3 (diretamente, ou através do quick.db). Por que acontece: a versão instalada do better-sqlite3 é anterior à LTS atual do Node.js na plataforma, então seu binding nativo pré-compilado não corresponde ao runtime. Como corrigir:
  1. Atualize o better-sqlite3 para 12.5.0 ou posterior (se você usa quick.db, atualize-o para 9.1.7 ou posterior).
  2. Delete o node_modules e o package-lock.json.
  3. Reinicie a aplicação para uma reinstalação limpa que reconstrói os bindings nativos contra o runtime atual.

LACK_OF_RAM

O que significa: a aplicação excedeu a RAM alocada, ou o kernel sinalizou uma condição de falta de memória, e o processo foi encerrado para proteger a estabilidade do host. Como corrigir:
  1. Analise a aplicação em busca de vazamentos de memória (Node.js: --inspect, Python: memory_profiler).
  2. Mova caches em memória para o Redis ou outro armazenamento externo em vez de deixar um cache/Map em processo crescer para sempre.
  3. Aumente o valor de MEMORY alocado para sua aplicação no painel de controle.
Veja o detalhamento completo dos mínimos de RAM, alocação de CPU e limites de rede/armazenamento na página de Limites e Restrições.
Ainda travado depois de conferir os logs contra o erro acima? Nossa equipe de suporte pode analisar a falha específica com você.

Contate-nos

Se você continuar enfrentando dificuldades técnicas, nossa equipe de suporte especializada está disponível para auxiliá-lo. Entre em contato conosco e teremos prazer em ajudá-lo a resolver qualquer questão — a qualidade do suporte é uma grande parte do motivo pelo qual desenvolvedores avaliam a Square Cloud com 4.9/5 em 402 avaliações no Google e Trustpilot.