.zip com o index.html e a Cube serve os arquivos em https://nome.cubehost.dev, com HTTPS. Não tem arquivo principal, comando de início, versão nem instalação de dependências.
Sites são dos planos pagos, a partir do Block. O site estático usa o mínimo de memória de um site, 512 MB. Veja os planos.
Pelo painel
1
Compacte a pasta do site
O
.zip precisa ter o index.html na raiz, ou numa pasta só dentro dele (o “Compactar” do Windows e o “Comprimir” do macOS fazem assim). Leve junto o CSS, as imagens e as outras páginas.2
Envie em Novo projeto
Solte o
.zip em Projetos › Novo projeto. Sem cube.json, sem package.json e sem requirements.txt, o painel já preenche Site estático (HTML): tipo Site, linguagem HTML e a pasta servida, que é a pasta do index.html. Escolha o subdomínio, se quiser, e clique em Enviar e instalar.3
Abra o endereço
Em segundos o site está no ar no endereço
.cubehost.dev do projeto. Para mudar o site, envie um .zip novo em Configurações › Deploy..zip de outro tipo de projeto? Em Novo projeto e em Configurações › Geral, a linguagem HTML fica ao lado de Node.js e Python.
Pela API ou pela CLI
Na API, o.zip só de HTML vira site estático sozinho, sem cube.json:
language=static no formulário ou um cube.json na raiz. Sem root, a pasta servida é a do index.html mais raso do .zip: a raiz, ou dist quando o index.html só existe em dist/. Na CLI, crie o projeto com o cube.json na pasta e rode cube deploy:
cube.json
O que é servido
- A página inicial é o
index.htmlda pasta servida. Uma pasta abre oindex.htmldela:/blog/mostrablog/index.html, e/blogleva para/blog/. - O tipo de cada arquivo vem da extensão (
.html,.css,.js,.png,.svg,.webp,.woff2,.mp4e outros), sempre comX-Content-Type-Options: nosniff. - Cache: o HTML é conferido a cada visita, então uma versão nova aparece na hora. Arquivo com hash de build no nome, como o
main.3f2a1b4c.jsou oindex-D8a9xK2z.js, fica em cache por 1 ano. O resto é conferido a cada visita, com resposta304quando não mudou: trocou ologo-empresa1.pnge reenviou, o visitante já vê o novo. - Vídeo e áudio abrem em pedaços, como o Safari do iPhone pede.
O que nunca é servido
- Arquivo ou pasta que começa com ponto, em qualquer nível:
.env,.git,.htaccess,.well-known. Mesmo que vá no.zippor engano, o visitante recebe404. - O
cube.json. - Nada fora da pasta servida: endereços com
../, codificados ou não, dão404.
Página de não encontrado
Ponha um404.html na pasta servida: ele aparece, com o status 404, para todo endereço que não existe. Sem ele, a Cube mostra uma página simples de “Página não encontrada”.
Build de React, Vite ou Astro
A Cube não roda o build do site estático. Rode no seu computador e envie o resultado:1
Faça o build
npm run build gera a pasta com o site pronto (dist no Vite e no Astro, build no Create React App).2
Diga qual pasta servir
Ponha um O projeto do Vite tem um
cube.json na raiz do projeto com a pasta em root:cube.json
index.html na raiz também (o de antes do build), então diga o root. O root também muda em Configurações › Geral › Pasta servida.3
Envie o .zip
Compacte a pasta do projeto (sem o
node_modules) e envie. Só a pasta dist fica no ar.
