Astro costruisce di default un sito statico: ogni pagina diventa un file HTML in dist/, con solo il JavaScript che servono alle tue isole. Quella cartella è tutto ciò che serve a Lobsite. Esegui npm run build, poi npx lobsite nel progetto, e il sito è online a un indirizzo *.lobsite.app con HTTPS. Puoi anche trascinare dist/ nel riquadro qui sopra.
Come funziona
- Fai la build del sito con
npm run build(cioèastro build). Pagine, immagini e script finiscono indist/. - Esegui
npx lobsitenel progetto. Pubblicadist/, nonpublic/, che Astro ha già copiato nella build. Il primo deploy non richiede account e dura 6 ore. - Tienilo con il link per rivendicarlo, in un account gratuito. La cartella viene salvata in
lobsite.toml, così la build successiva si pubblica con lo stessonpx lobsite.
Impostazioni da controllare in astro.config.mjs
import { defineConfig } from "astro/config";
export default defineConfig({
site: "https://my-site.lobsite.app",
trailingSlash: "ignore",
});
siteè il tuo indirizzo completo. Astro lo usa per gli URL canonici,Astro.sitee la sitemap di@astrojs/sitemap. Impostalo sul tuo indirizzo*.lobsite.appe cambialo quando passi al tuo dominio.baseresta vuoto: il sito è servito dalla radice del suo indirizzo, non da una sottocartella come un sito di progetto GitHub Pages.build.formatpuò restare al valore predefinito.about/index.htmlsi apre su/about/, e un fileabout.htmlsu/about.
Cosa funziona e cosa richiede un server
Funziona tutto ciò che Astro renderizza in fase di build: content collections, Markdown e MDX, immagini astro:assets (ottimizzate durante la build) e isole React, Vue, Svelte o Solid, che girano nel browser. Non funziona ciò che gira a ogni richiesta: pagine con export const prerender = false, output: "server", Astro Actions ed endpoint API non prerenderizzati. Richiedono un adattatore server, e Lobsite serve solo file. Per un modulo di contatto, fallo puntare a /_lobsite/forms/contact invece che a una Astro Action; vedi moduli.
I file vengono salvati in base al loro hash. Ripubblicare un sito invariato carica 0 byte.
Anteprima prima di andare online. Rollback in un clic, reindirizzamenti compresi.
Ogni sito riceve un indirizzo *.lobsite.app con HTTPS dal primo deploy.
Fai puntare un modulo a /_lobsite/forms/contact. Filtro antispam incluso.
Reindirizzamenti, header e moduli stanno in lobsite.toml e viaggiano con ogni deploy.
Un deploy senza account resta online per 6 ore. Il link per rivendicarlo lo conserva, gratis.
Hosting per Astro a confronto
| Lobsite | Netlify | Vercel | GitHub Pages | |
|---|---|---|---|---|
| Siti Astro statici | Sì | Sì | Sì | Sì, con la GitHub Action di Astro |
| Rendering lato server (adattatore) | No | Sì | Sì | No |
| Build sul server | No: pubblichi dist/ |
Sì | Sì | In GitHub Actions |
| Account prima del primo deploy | No: online 6 ore, poi tienilo gratis | Sì | Sì | Sì, e un repository |
| Moduli senza backend | Sì, quando il sito è in un account | Sì | No | No |
| Dominio personalizzato | Sì, gratis | Sì | Sì | Sì |
Se parti del tuo sito vengono renderizzate a ogni richiesta, scegli un hosting con un adattatore Astro. Se il sito è statico, come di default in Astro, Lobsite lo pubblica in pochi secondi dal tuo computer, dalla CI o da un agente IA, caricando solo i file modificati dalla build.
Domande frequenti
Mi serve un adattatore per ospitare Astro su Lobsite?
No. Gli adattatori servono per il rendering lato server. Un sito Astro statico, quello di default, non ne ha bisogno: pubblica la cartella dist/.
Perché npx lobsite pubblica dist/ e non public/?
In un progetto Astro, public/ contiene file che la build copia così come sono, come favicon.svg. Il sito compilato è dist/. Lobsite vede astro in package.json e salta public/ per te.
Posso aggiungere una pagina 404 personalizzata al mio sito Astro?
Sì. Crea src/pages/404.astro; Astro lo compila come 404.html e Lobsite lo serve con stato 404 per qualsiasi indirizzo inesistente.
L'ottimizzazione delle immagini di Astro funziona?
Sì. astro:assets ridimensiona e converte le immagini durante astro build, quindi i file ottimizzati sono già in dist/ quando pubblichi. Solo i servizi di immagini che girano a ogni richiesta hanno bisogno di un server.