vertracloud.config é opcional e só preenche previamente o fluxo de criação: nome, descrição,
arquivo principal, memória, comandos e subdomínio. Depois de criada, a aplicação usa o que está salvo
no dashboard.
O arquivo vertracloud.config
vertracloud.config é um arquivo de texto na raiz do .zip, com um KEY=value por linha.
Chaves desconhecidas são ignoradas.
vertracloud.config
As chaves não diferenciam maiúsculas de minúsculas, e um valor pode vir entre aspas simples ou duplas. Linhas que começam com
# são comentários; a CLI também aceita ;, mas a API lê as linhas com ; como texto comum, então prefira #. Ao criar uma aplicação com vertra upload, a CLI lê NAME, MEMORY, MAIN, VERSION, SUBDOMAIN, START e LANGUAGE do arquivo, mas não DESCRIPTION nem BUILD: passe --description e defina o comando de build em Config → Geral. Restaurar um snapshot cujo vertracloud.config tenha mais de 64 KB ou mais de 64 linhas falha com INVALID_CONFIG.
vertracloud.config.json também é aceito, com chaves em minúsculas: name, description,
main, memory, build, start, subdomain e language. A linguagem é definida por LANGUAGE= no arquivo de texto e por "language" no arquivo JSON.
Qual valor prevalece?
Ao ler o.zip, o fluxo de criação usa o valor do vertracloud.config quando ele existe
e recorre à sugestão da plataforma, que lê o package.json e as dependências do projeto. Depois disso, qualquer campo pode ser editado nas etapas seguintes. Os comandos de inicialização e de build
que você edita à mão não são sobrescritos se você trocar o .zip.
Sem LANGUAGE, a plataforma detecta a linguagem pelos arquivos de manifesto na raiz do projeto, verificando cada ecossistema antes do package.json: um projeto Python, PHP ou Ruby com um package.json de front-end continua sendo Python, PHP ou Ruby. MAIN=./src/index.js (com o ./ no início) é aceito.
Sem MAIN, a plataforma procura o arquivo principal pelo main e pelo script start do
package.json, e depois por nomes comuns (index.js, server.js, main.py, app.py, main.go,
src/main.rs, main.ts, index.php, index.html e outros).
vertracloud.config não é armazenado entre os arquivos da aplicação. Ele é descartado depois
que o .zip é extraído e regenerado com os valores atuais do dashboard quando você baixa o
projeto ou cria um snapshot. É por isso que um projeto baixado ou restaurado sempre traz a
configuração atual.Configuração avançada: comandos de inicialização e de build
O comando de inicialização substitui a forma padrão de iniciar o runtime a partir do arquivo principal. O comando de build roda depois da instalação das dependências e antes da inicialização, a cada deploy: upload de código, deploy via GitHub, Forçar build e a alteração do próprio comando. Um simples reinício não executa o build de novo.
Se o build falhar, a aplicação não sobe (
BUILD_FAILED); se passar de 10 minutos,
o deploy é interrompido (BUILD_TIMEOUT). Uma aplicação nova ainda é criada, parada, com a
saída do build nos logs — corrija os arquivos e inicie-a de novo. O ambiente de build recebe o dobro da memória
da aplicação, entre 1 GB e 4 GB.
Porta e publicação web
Uma aplicação com publicação web precisa escutar na porta 80, em0.0.0.0. A plataforma
já define PORT=80 e HOST=0.0.0.0 no container, então ler process.env.PORT (ou o
equivalente da sua linguagem) funciona. É por isso que PORT e HOST são reservadas e não podem ser definidas
por você.
Sem publicação web, a aplicação não recebe tráfego de entrada e roda em segundo plano,
como um bot ou um worker. A publicação exige o plano Pro ou superior e 512 MB de
memória, e pode ser ativada ou desativada a qualquer momento. Ativar ou desativar recria o container, então
a aplicação reinicia. Quando desativada, o subdomínio é liberado e outra pessoa pode
registrá-lo.
Variáveis de ambiente
As variáveis de ambiente são injetadas no container quando ele inicia e são criptografadas em repouso. Você as define em Config → Variáveis de ambiente, pela API, pela CLI ou pelo MCP.
Se o
.zip tiver um .env.production, .env.production.local, .env.local ou .env (nessa
ordem de preferência), o fluxo de criação preenche as variáveis a partir dele. Revise os valores antes de
criar.
Limites da aplicação
A tabela completa por plano está em Planos e limites.