cube.json fica na raiz do .zip e diz à Cube como rodar o seu projeto. Ele é opcional no painel (que detecta sozinho e mostra para você conferir), mas deixa o envio pela API automático.
cube.json
Chaves
"node" | "python"
obrigatório
A linguagem do projeto.
string
obrigatório
O comando que inicia o projeto, como
node index.js, npm start ou python main.py. De 1 a 500 caracteres, numa linha só. Ele roda dentro da pasta do projeto.string
O nome que aparece no painel, de 1 a 40 caracteres. Sem ele, vale o nome do arquivo
.zip."bot" | "site"
padrão:"bot"
bot é um processo sem endereço na internet (bots de Discord, workers, tarefas). site é um site ou API que recebe visitas por HTTPS. Veja Sites e APIs.string
A versão da linguagem. Node.js:
"20", "22" ou "24". Python: "3.11" ou "3.12". Sem ela, vale a mais nova.integer
A memória do projeto, em MB. O mínimo é 100 para bot e 512 para site, e esse também é o valor padrão. A soma da memória de todos os seus projetos não pode passar a do plano. No Free, a conta tem 100 MB no total: um bot que pede mais é recusado com
insufficient_memory.integer
padrão:"8080"
Só para
site: a porta em que o seu app escuta, de 1024 a 65535. O app recebe o mesmo número na variável PORT.string
Só para
site: o nome em nome.cubehost.dev. De 3 a 32 caracteres, com letras minúsculas, números e hífen. Sem ele, a Cube gera um a partir do nome do projeto. Veja Endereço e domínios.string
Um comando que roda depois de instalar as dependências, como
npm run build. Sem a chave, o build é automático: se o package.json tem um script build, ele roda. Use "" para não rodar nenhum build.Exemplos
- Bot Node.js
- Bot TypeScript
- Bot Python
- Site Node.js
- API Python
cube.json
Onde o cube.json vale
- No painel: ele preenche a tela Configure o projeto. O que você confirma na tela é o que fica valendo.
- Na API: se o formulário do envio trouxer
languageecommand, o formulário vale e ocube.jsoné ignorado. Sem eles, vale ocube.json. Sem nenhum dos dois, o envio é recusado commissing_config. - Pasta dentro do .zip: se o
.ziptiver uma única pasta no topo e nenhumcube.jsonna raiz, essa pasta vira a raiz. Isso cobre o “Compactar” do Windows e do macOS.
A configuração fica guardada no projeto depois do primeiro envio. Um
cube.json diferente num novo .zip do mesmo projeto é ignorado. Para mudar nome, comando, versão, memória ou subdomínio, use Configurações no projeto. Tipo, linguagem e porta não mudam: para isso, crie um projeto novo.
