Deploy de site estático
Site estático é o que já está pronto para o navegador: HTML, CSS, JS e imagens. Na W8 Hub ele sobe pelo Build Pack Static, a partir de um repositório do GitHub.
“Build” quer dizer três coisas
A mesma palavra cobre etapas diferentes, e só uma delas é sua quando o site é estático:
| Etapa | Quem faz | Onde acontece |
|---|---|---|
| Compilar o site (gerar HTML, CSS e JS) | Você | Na sua máquina ou no CI, antes do push |
| Montar a imagem do container | A W8 Hub | No deploy, conforme o Build Pack escolhido |
| Publicar (subir o container) | A W8 Hub | No deploy |
Com Static, a compilação fica do seu lado: a W8 Hub recebe os arquivos prontos. A montagem e a publicação aparecem nos logs do deploy.
Qual modo usar
| O que você envia | Origem | Modo |
|---|---|---|
| HTML, CSS e JS já compilados | Repositório GitHub | Static |
SPA já compilada (React, Vue, Angular), com as rotas atendidas pelo mesmo index.html |
Repositório GitHub | Static SPA |
| Site que precisa ser compilado antes (gerador de site, TypeScript, Markdown) | Repositório GitHub | Compile você mesmo, envie a saída pronta e use Static |
App que roda um servidor e tem comando start |
Repositório GitHub | Nixpacks |
Repositório com Dockerfile próprio |
Repositório GitHub | Dockerfile |
| Imagem já construída em um registro | Imagem Docker | Sem Build Pack — a imagem já vem pronta |
O Build Pack só aparece quando a origem é um repositório GitHub. Detalhes de cada modo em Modos de build.
Do commit ao ar
- Compile o site na sua máquina ou no CI e confira que a saída é só arquivo estático.
- Faça commit da saída compilada no repositório e push na branch conectada.
- Crie a instalação com origem GitHub e Build Pack Static (ou Static SPA). O passo a passo do assistente está em Criar uma instalação.
- Ative um health check antes de considerar o deploy pronto.
Depois de publicar:
- Para não redeployar a cada mudança que não afeta o site, filtre com Watch Paths.
- Variável de ambiente não muda um site já compilado. Veja o aviso em Variáveis de ambiente.
Página padrão do Nginx depois do deploy
O deploy terminou e o domínio responde, mas a página é “Welcome to nginx!”. O Nginx está no ar e não encontrou o seu index.html no caminho que está servindo. Confira:
- Origem Imagem Docker com
nginx:latest(ou outra imagem pronta de Nginx): essa imagem é só o Nginx padrão. Para publicar seus arquivos, use a origem GitHub com Static. - Build Pack Dockerfile com um
Dockerfileque parte deFROM nginxe não copia (COPY) os seus arquivos para a imagem. - Arquivos numa subpasta: se a saída compilada ficou em
dist/siteou parecido, o servidor pode estar procurando oindex.htmlna raiz e servindo a página padrão. Confira o caminho que a instalação serve antes de trocar o Build Pack.
Se nada disso explicar, chame o suporte com o commit e o link dos logs do deploy.
