Erros de Plataforma
Aplicação não inicia / Crashando
OOMKilled — Aplicação morta por falta de memória
OOMKilled — Aplicação morta por falta de memória
Killed nos logs.Causa: O app está usando mais RAM do que o alocado.Solução:- Aumente a memória alocada (tente 50% a mais)
- Java/JVM precisa de 512 MB+, apps com Puppeteer/Chrome precisam de 512 MB+
- Otimize o código para reduzir consumo de memória
Crash loop — Auto-restart desativado
Crash loop — Auto-restart desativado
- Verifique os logs para identificar o erro raiz
- Corrija o problema e faça redeploy
- Erros de sintaxe e exit code 0 NÃO disparam auto-restart — o app simplesmente para
Aplicação para imediatamente (exit code 0)
Aplicação para imediatamente (exit code 0)
- Para bots: garanta que o client está fazendo login (
client.login(token)) - Para servidores: garanta que
app.listen()está sendo chamado - Verifique se não há
process.exit()sendo chamado acidentalmente
Erros de Deploy
ZIP muito grande (máx 100 MB)
ZIP muito grande (máx 100 MB)
node_modules, venv, .git, etc.).Solução: Exclua antes de compactar:- JS/TS:
node_modules,.npm,.next,dist - Python:
venv,.venv,__pycache__,.cache - Go:
vendor| Rust:target| Java:target,.gradle,build
Build excede tempo limite (5 minutos)
Build excede tempo limite (5 minutos)
- Remova dependências desnecessárias
- Para apps Node.js grandes, considere fazer
npm installlocal e incluir apenas o necessário
Estrutura do ZIP inválida
Estrutura do ZIP inválida
meu-projeto/src/index.js em vez de src/index.js).Solução: Os arquivos devem estar na raiz do ZIP, não dentro de uma subpasta extra.Erros de Rede
Site retorna timeout / Connection refused
Site retorna timeout / Connection refused
localhost ou 127.0.0.1 em vez de 0.0.0.0.Solução:0.0.0.0 como host e a porta configurada no PORT.Domínio personalizado não funciona
Domínio personalizado não funciona
- Confirme que seu plano é Intermediary+ (domínios personalizados)
- Verifique o registro CNAME aponta para o endereço do dashboard
- Propagação DNS pode levar até 48 horas
- SSL é provisionado automaticamente após validação
Erros de Banco de Dados
Conexão recusada / SSL required
Conexão recusada / SSL required
- Baixe os certificados no dashboard (aba Credenciais)
- Configure TLS no cliente de banco de dados
- Use a porta correta: PostgreSQL=5432, MongoDB=27017, Redis=6379, MySQL=3306
Muitas conexões abertas
Muitas conexões abertas
- Use connection pooling no seu cliente de banco de dados
- Reduza o número de conexões simultâneas
- Aumente a memória do banco se necessário
Node.js / JavaScript
Cannot find module 'xxx' / MODULE_NOT_FOUND
Cannot find module 'xxx' / MODULE_NOT_FOUND
dependencies do package.json, ou está apenas em devDependencies.Solução: A plataforma roda npm install --production, que pula devDependencies. Mova o pacote para dependencies:npm ERR! missing script: start
npm ERR! missing script: start
package.json não tem script start definido.Soluçã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.Soluçã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 (ex: node-fetch v3+, chalk v5+).Solução: Troque para ESM ("type": "module") ou use uma versão mais antiga do pacote (ex: 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 PORT do ambiente.Could not locate the bindings file (better-sqlite3)
Could not locate the bindings file (better-sqlite3)
node_modules/ no upload. A plataforma compila módulos nativos automaticamente para Linux.TypeScript
tsx / ts-node: command not found
tsx / ts-node: command not found
tsx ou ts-node ao dependencies:TSError: Unable to compile TypeScript
TSError: Unable to compile TypeScript
tsconfig.json faltando.Solução: Inclua tsconfig.json no upload. Corrija todos os erros 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.Solução: Gere o arquivo com:requirements.txt não encontrado
requirements.txt não encontrado
.txt.txt — comum no Windows).Solução: Verifique o nome exato do arquivo. No Windows, ative “mostrar extensões de arquivos” para conferir.SyntaxError: invalid syntax
SyntaxError: invalid syntax
match/case do 3.10 em runtime 3.9).Soluçã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 encoding
UnicodeDecodeError / Erros de encoding
encoding='utf-8' ao abrir arquivos:Flask/Django não acessível externamente
Flask/Django não acessível externamente
127.0.0.1.Solução: Use Gunicorn para produção:Go
go.mod not found / cannot find main module
go.mod not found / cannot find main module
go.mod faltando na raiz do projeto.Solução:go.mod e go.sum no upload.Build falha / Binário incompatível
Build falha / Binário incompatível
go.mod e go.sum. Se enviar binário, compile para Linux:Java
no main manifest attribute, in app.jar
no main manifest attribute, in app.jar
Main-Class no MANIFEST.MF.Solução: Configure o build tool para criar um fat JAR. Para 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 faltando na raiz ou vendor/ enviado (que pode ser incompatível).Solução: Inclua composer.json e composer.lock na raiz. Não envie o diretório vendor/.Bots Discord
An invalid token was provided / Improper token
An invalid token was provided / Improper token
- Gere um novo token no Discord Developer Portal
- Configure como variável de ambiente (não hardcode no código)
- Reinicie a aplicação após atualizar
Used disallowed intents / DisallowedIntents
Used disallowed intents / DisallowedIntents
- Message Content Intent (para ler conteúdo de mensagens)
- Server Members Intent (para eventos de membros)
- Presence Intent (para status de presença)
Valid intents must be provided / ClientMissingIntents
Valid intents must be provided / ClientMissingIntents
Bot fica offline aleatoriamente
Bot fica offline aleatoriamente
- Aumente a memória alocada
- Atualize discord.js/discord.py para a versão mais recente
- Verifique se não há memory leaks
on_message não funciona (discord.py)
on_message não funciona (discord.py)
message_content (obrigatório desde discord.py 2.0+).Solução:Variáveis de Ambiente
Valores undefined / null nas configurações
Valores undefined / null nas configurações
.env.example para documentar quais variáveis são necessárias.Arquivo .env não funciona na plataforma
Arquivo .env não funciona na plataforma
.env automaticamente.Solução: Configure as variáveis pelo dashboard da Vertra Cloud (aba Variáveis de Ambiente) ou via API. Não dependa do dotenv carregando de um arquivo .env em produção.Créditos
Créditos acabando muito rápido
Créditos acabando muito rápido
- Fórmula:
ceil(RAM_MB / 100) × taxapor hora - Free: 10 cr/100MB/hr | Pagos: 7 cr/100MB/hr
- Reduza a memória para diminuir custos
- Pare recursos quando não estiver usando
- Reset semanal: toda segunda-feira 00:00 UTC
Recursos pararam automaticamente
Recursos pararam automaticamente
- Compre créditos adicionais via dashboard
- Aguarde o reset semanal (segunda-feira)
- Migre para modo plano fixo (planos pagos)