localhost em vez de 0.0.0.0.
Erros da plataforma
Os erros abaixo vêm da plataforma, não do seu código: memória, ciclo de vida do container, upload e limites do plano.Aplicação não inicia / falhando
OOMKilled — Aplicação encerrada por falta de memória
OOMKilled — Aplicação encerrada por falta de memória
Killed aparece nos logs.Causa: A aplicação está usando mais RAM do que a alocada.Correção:- Aumente a memória alocada (experimente 50% a mais)
- Java/JVM precisa de 512 MB+, aplicações com Puppeteer precisam de 512 MB+
- Otimize o código para reduzir o uso de memória
Crash loop — reinício automático desativado
Crash loop — reinício automático desativado
- Verifique os logs para identificar o erro principal
- Corrija o problema e faça um novo deploy
- Erros de sintaxe e saída com código 0 NÃO disparam o reinício automático — a aplicação simplesmente para
A aplicação para logo em seguida (código de saída 0)
A aplicação para logo em seguida (código de saída 0)
- Para bots: confirme que o cliente está fazendo login (
client.login(token)) - Para servidores: confirme que
app.listen()está sendo chamado - Verifique se
process.exit()não está sendo chamado por engano
Erros de deploy
ZIP grande demais (máximo de 100 MB)
ZIP grande demais (máximo de 100 MB)
node_modules, venv, .git, etc).Correção: Exclua estes itens antes de gerar o ZIP:- JS/TS:
node_modules,.npm,.next,dist - Python:
venv,.venv,__pycache__,.cache - Go:
vendor| Rust:target| .NET:bin,obj| Elixir:_build,deps| Java:target,.gradle,build
A instalação de dependências excede o limite de tempo (15 minutos)
A instalação de dependências excede o limite de tempo (15 minutos)
INSTALL_TIMEOUT.Correção:- Remova as dependências desnecessárias
- Para aplicações Node.js grandes, considere rodar
npm installlocalmente e incluir apenas o necessário
O comando de build falha ou excede o limite de tempo (10 minutos)
O comando de build falha ou excede o limite de tempo (10 minutos)
build_command (o campo BUILD no vertracloud.config) terminou com erro
(BUILD_FAILED) ou não terminou a tempo (BUILD_TIMEOUT). Ele roda depois da instalação das
dependências e antes de a aplicação iniciar, em um ambiente com 2× a RAM da aplicação. Uma
aplicação nova continua sendo criada, parada, com a saída do build nos seus logs.Correção:- Rode o comando localmente para ver o erro real
- Simplifique o build ou aumente a memória da aplicação (o ambiente de build escala com ela)
Limite de deploys por hora atingido
Limite de deploys por hora atingido
DEPLOY_RATE_LIMITED.Correção:- Aguarde o tempo indicado em
details.retry_after - Reiniciar e parar a aplicação não contam para este limite
Estrutura de ZIP inválida
Estrutura de ZIP inválida
my-project/src/index.js em vez de src/index.js).Correção: Os arquivos precisam estar na raiz do ZIP, não dentro de uma subpasta extra.Erros de rede
O site retorna timeout / Connection refused
O site retorna timeout / Connection refused
localhost ou 127.0.0.1 em vez de 0.0.0.0.Correção:0.0.0.0 como host e a porta configurada em PORT.Domínio personalizado não funciona
Domínio personalizado não funciona
- Confirme que seu plano é Intermediary ou superior (domínios personalizados)
- Verifique se o registro CNAME aponta para o endereço exibido em Registros DNS do domínio
- Em um domínio raiz (
example.com), seu provedor de DNS precisa suportar CNAME flattening - Um domínio que fique 14 dias sem DNS é removido automaticamente; depois disso, exclua os registros
CNAMEeTXTno seu provedor de DNS - A propagação do DNS pode levar até 48 horas
- O SSL é provisionado automaticamente após a validação
Erros de banco de dados
Connection refused / SSL required
Connection refused / SSL required
- Baixe os três arquivos de certificado na aba Certificados do banco de dados
- Informe o certificado de cliente (
.crt+.key) e use o.pemcomo CA — todos os motores exigem isso - Use a porta própria do banco de dados, mostrada na página dele — ela não é 5432, 27017, 6379 nem 3306
- No MongoDB, adicione
authSource=adminà URI - Veja Como me conecto a cada motor?
Conexões abertas demais
Conexões abertas demais
- Use connection pooling no cliente do seu banco de dados
- Reduza o número de conexões simultâneas
- Aumente a memória do banco de dados, se necessário
Proteções da plataforma
Aplicação pausada pelo Vertra Shield
Aplicação pausada pelo Vertra Shield
- Aguarde o tempo mostrado no painel antes de iniciar ou reiniciar a aplicação.
- Revise o código: procure loops infinitos, chamadas recursivas sem limite ou requisições em massa sem controle.
- Adicione rate limiting: implemente limites de requisições por IP ou por sessão no seu código.
- Corrija a causa antes de a pausa terminar: iniciar, reiniciar, fazer deploy, alterar configurações e excluir a aplicação continuam bloqueados até lá, e ocorrências repetidas tornam a próxima pausa mais longa.
Node.js / JavaScript
Cannot find module 'xxx' / MODULE_NOT_FOUND
Cannot find module 'xxx' / MODULE_NOT_FOUND
dependencies no package.json, ou está só em devDependencies.Correção: Sem um comando de build, a plataforma instala apenas as dependencies; com um, ela também instala as devDependencies. Se o pacote for necessário em tempo de execução, mova-o para dependencies:npm ERR! missing script: start
npm ERR! missing script: start
package.json não tem um script start definido.Correção: Adicione ao package.json:START no vertracloud.config.SyntaxError: Cannot use import statement outside a module
SyntaxError: Cannot use import statement outside a module
import (ES Module) em um projeto CommonJS.Correção: Adicione ao package.json:require().ERR_REQUIRE_ESM — require() of ES Module not supported
ERR_REQUIRE_ESM — require() of ES Module not supported
require() em um pacote que só suporta ESM (por exemplo, node-fetch v3+, chalk v5+).Correção: Mude para ESM ("type": "module") ou use uma versão mais antiga do pacote (por exemplo, node-fetch@2).ERESOLVE — unable to resolve dependency tree
ERESOLVE — unable to resolve dependency tree
.npmrc na raiz do projeto com:Error: listen EADDRINUSE
Error: listen EADDRINUSE
app.listen() no código. Use a variável de ambiente PORT.Could not locate the bindings file (better-sqlite3)
Could not locate the bindings file (better-sqlite3)
node_modules/ no upload. A plataforma compila os módulos nativos para Linux automaticamente.TypeScript
tsx / ts-node: command not found
tsx / ts-node: command not found
tsx ou ts-node às dependencies:TSError: Unable to compile TypeScript
TSError: Unable to compile TypeScript
tsconfig.json ausente.Correção: Inclua o tsconfig.json no upload. Corrija todos os erros de TS localmente antes do deploy. Considere pré-compilar e enviar o dist/.Python
ModuleNotFoundError: No module named 'xxx'
ModuleNotFoundError: No module named 'xxx'
requirements.txt.Correção: Gere o arquivo com:requirements.txt não encontrado
requirements.txt não encontrado
.txt.txt — comum no Windows).Correção: Confira o nome exato do arquivo. No Windows, ative “mostrar extensões de arquivo” para verificar.SyntaxError: invalid syntax
SyntaxError: invalid syntax
match/case do 3.10 no runtime 3.9).Correção: Selecione a versão correta do Python na configuração. Use VERSION=recommended para a versão estável mais recente.UnicodeDecodeError / Erros de codificação
UnicodeDecodeError / Erros de codificação
encoding='utf-8' ao abrir arquivos:Flask/Django não acessível externamente
Flask/Django não acessível externamente
127.0.0.1.Correção: Use o Gunicorn em produção:Go
go.mod não encontrado / cannot find main module
go.mod não encontrado / cannot find main module
go.mod não está na raiz do projeto.Correção:go.mod e o go.sum no upload.Build falha / Binário incompatível
Build falha / Binário incompatível
go.mod e go.sum. Se estiver enviando um binário, compile-o para Linux:Java
no main manifest attribute, in app.jar
no main manifest attribute, in app.jar
Main-Class no MANIFEST.MF.Correção: Configure a ferramenta de build para gerar um fat JAR. No Maven, use maven-shade-plugin ou spring-boot-maven-plugin.OutOfMemoryError: Java heap space
OutOfMemoryError: Java heap space
PHP
Dependências não instaladas / composer.json não encontrado
Dependências não instaladas / composer.json não encontrado
composer.json não está na raiz, ou a pasta vendor/ foi enviada (o que pode ser incompatível).Correção: Inclua o composer.json e o composer.lock na raiz. Não envie a pasta vendor/.Bots do Discord
An invalid token was provided / Improper token
An invalid token was provided / Improper token
- Gere um novo token no Discord Developer Portal
- Defina-o como variável de ambiente (não o deixe fixo no código)
- Reinicie a aplicação depois de atualizá-lo
Used disallowed intents / DisallowedIntents
Used disallowed intents / DisallowedIntents
- Message Content Intent (para ler o conteúdo das mensagens)
- Server Members Intent (para eventos de membros)
- Presence Intent (para o status de presença)
Valid intents must be provided / ClientMissingIntents
Valid intents must be provided / ClientMissingIntents
O bot fica offline aleatoriamente
O bot fica offline aleatoriamente
- Aumente a memória alocada
- Atualize o discord.js/discord.py para a versão mais recente
- Verifique vazamentos de memória
on_message não funciona (discord.py)
on_message não funciona (discord.py)
message_content (exigido desde o discord.py 2.0+).Correção:Variáveis de ambiente
Valores undefined / null na configuração
Valores undefined / null na configuração
.env.example para documentar quais variáveis são obrigatórias.O arquivo .env não funciona na plataforma
O arquivo .env não funciona na plataforma
.env automaticamente.Correção: Configure as variáveis pelo painel da Vertra Cloud (aba Variáveis de Ambiente) ou pela API. Não dependa do dotenv carregando um arquivo .env em produção.