O Astro gera por padrão um site estático: cada página vira um arquivo HTML em dist/, só com o JavaScript que as suas ilhas precisam. Essa pasta é tudo de que o Lobsite precisa. Rode npm run build, depois npx lobsite no projeto, e o site fica no ar num endereço *.lobsite.app com HTTPS. Você também pode soltar dist/ na caixa acima.
Como funciona
- Faça o build do site com
npm run build(ou seja,astro build). As páginas, imagens e scripts vão paradist/. - Rode
npx lobsiteno projeto. Ele publicadist/, nãopublic/, que o Astro já copiou para o build. O primeiro deploy não precisa de conta e dura 6 horas. - Mantenha com o link de resgate, numa conta gratuita. A pasta fica salva no
lobsite.toml, então o próximo build é publicado com o mesmonpx lobsite.
Configurações do astro.config.mjs que vale conferir
import { defineConfig } from "astro/config";
export default defineConfig({
site: "https://my-site.lobsite.app",
trailingSlash: "ignore",
});
siteé o seu endereço completo. O Astro usa para URLs canônicas,Astro.sitee o sitemap do@astrojs/sitemap. Coloque o seu endereço*.lobsite.appe mude quando passar para o seu domínio.basefica sem valor: o site é servido da raiz do endereço, não de uma subpasta como num site de projeto do GitHub Pages.build.formatpode ficar no padrão.about/index.htmlabre em/about/, e um arquivoabout.htmlabre em/about.
O que funciona e o que precisa de servidor
Tudo o que o Astro renderiza no build funciona: content collections, Markdown e MDX, imagens do astro:assets (otimizadas durante o build) e ilhas de React, Vue, Svelte ou Solid, que rodam no navegador. O que roda a cada requisição não funciona: páginas com export const prerender = false, output: "server", Astro Actions e endpoints de API não pré-renderizados. Eles precisam de um adaptador de servidor, e o Lobsite só serve arquivos. Para um formulário de contato, aponte para /_lobsite/forms/contact em vez de uma Astro Action; veja formulários.
Os arquivos são guardados pelo hash. Refazer o deploy de um site sem mudanças envia 0 bytes.
Veja a prévia antes de ir ao ar. Volte atrás com um clique, redirecionamentos inclusos.
Todo site ganha um endereço *.lobsite.app com HTTPS desde o primeiro deploy.
Aponte um formulário para /_lobsite/forms/contact. Filtro de spam incluso.
Redirecionamentos, cabeçalhos e formulários ficam no lobsite.toml e acompanham cada deploy.
Um deploy sem conta fica no ar por 6 horas. O link de resgate o mantém, de graça.
Hospedagens para Astro comparadas
| Lobsite | Netlify | Vercel | GitHub Pages | |
|---|---|---|---|---|
| Sites Astro estáticos | Sim | Sim | Sim | Sim, com a GitHub Action do Astro |
| Renderização no servidor (adaptador) | Não | Sim | Sim | Não |
| Build no servidor | Não: você publica dist/ |
Sim | Sim | No GitHub Actions |
| Conta antes do primeiro deploy | Não: no ar por 6 horas, depois mantenha grátis | Sim | Sim | Sim, e um repositório |
| Formulários sem backend | Sim, quando o site está numa conta | Sim | Não | Não |
| Domínio próprio | Sim, grátis | Sim | Sim | Sim |
Se partes do seu site são renderizadas a cada requisição, escolha uma hospedagem com adaptador do Astro. Se o site é estático, que é o padrão do Astro, o Lobsite publica em segundos a partir da sua máquina, do CI ou de um agente de IA, enviando só os arquivos que o build alterou.
Perguntas frequentes
Preciso de um adaptador para hospedar Astro no Lobsite?
Não. Adaptadores servem para renderização no servidor. Um site Astro estático, o padrão, não precisa de adaptador: publique a pasta dist/.
Por que o npx lobsite publica dist/ e não public/?
Num projeto Astro, public/ guarda arquivos que o build copia como estão, como o favicon.svg. O site compilado é dist/. O Lobsite vê astro no package.json e pula o public/ para você.
Posso adicionar uma página 404 própria ao meu site Astro?
Sim. Crie src/pages/404.astro; o Astro gera um 404.html, e o Lobsite o serve com status 404 para qualquer endereço que não exista.
A otimização de imagens do Astro funciona?
Sim. O astro:assets redimensiona e converte as imagens durante o astro build, então os arquivos otimizados já estão em dist/ quando você publica. Só serviços de imagem que rodam a cada requisição precisam de servidor.