Astro по умолчанию собирает статический сайт: каждая страница становится HTML-файлом в dist/, и в неё попадает только тот JavaScript, который нужен вашим «островам». Эта папка — всё, что нужно Lobsite. Выполните npm run build, затем npx lobsite в проекте, и сайт заработает по адресу *.lobsite.app с HTTPS. Можно также перетащить dist/ в поле выше.
Как это работает
- Соберите сайт командой
npm run build(то естьastro build). Страницы, изображения и скрипты окажутся вdist/. - Выполните
npx lobsiteв проекте. Деплоитсяdist/, а неpublic/, который Astro уже скопировал в сборку. Первый деплой не требует аккаунта и живёт 6 часов. - Сохраните сайт по ссылке для получения в бесплатном аккаунте. Папка сохраняется в
lobsite.toml, поэтому следующая сборка деплоится тем жеnpx lobsite.
Что стоит проверить в astro.config.mjs
import { defineConfig } from "astro/config";
export default defineConfig({
site: "https://my-site.lobsite.app",
trailingSlash: "ignore",
});
site— ваш полный адрес. Astro использует его для канонических URL,Astro.siteи карты сайта из@astrojs/sitemap. Укажите адрес*.lobsite.appи смените его, когда перейдёте на свой домен.baseоставьте пустым: сайт отдаётся из корня адреса, а не из подпапки, как проектный сайт на GitHub Pages.build.formatможно оставить по умолчанию.about/index.htmlоткрывается по/about/, а файлabout.html— по/about.
Что работает, а чему нужен сервер
Работает всё, что Astro рендерит при сборке: content collections, Markdown и MDX, изображения astro:assets (оптимизируются во время сборки) и «острова» на React, Vue, Svelte или Solid, которые выполняются в браузере. Не работает то, что выполняется на каждый запрос: страницы с export const prerender = false, output: "server", Astro Actions и непререндеренные API-эндпоинты. Им нужен серверный адаптер, а Lobsite отдаёт только файлы. Форму обратной связи направьте на /_lobsite/forms/contact вместо Astro Action; см. формы.
Файлы хранятся по хешу. Повторный деплой неизменённого сайта загружает 0 байт.
Предпросмотр до публикации. Откат в один клик — вместе с перенаправлениями.
Каждый сайт получает адрес *.lobsite.app с HTTPS с первого деплоя.
Направьте форму на /_lobsite/forms/contact. Фильтр спама включён.
Перенаправления, заголовки и формы хранятся в lobsite.toml и переезжают с каждым деплоем.
Деплой без аккаунта работает 6 часов. Ссылка для получения сохранит его бесплатно.
Сравнение хостингов для Astro
| Lobsite | Netlify | Vercel | GitHub Pages | |
|---|---|---|---|---|
| Статические сайты на Astro | Да | Да | Да | Да, с GitHub Action от Astro |
| Серверный рендеринг (адаптер) | Нет | Да | Да | Нет |
| Сборка на сервере | Нет: вы деплоите dist/ |
Да | Да | В GitHub Actions |
| Аккаунт до первого деплоя | Нет: 6 часов онлайн, затем сохраните бесплатно | Да | Да | Да, и репозиторий |
| Формы без бэкенда | Да, когда сайт в аккаунте | Да | Нет | Нет |
| Свой домен | Да, бесплатно | Да | Да | Да |
Если часть сайта рендерится по запросу, выбирайте хостинг с адаптером Astro. Если сайт статический, как по умолчанию в Astro, Lobsite задеплоит его за секунды с вашего компьютера, из CI или ИИ-агента, загрузив только файлы, изменённые сборкой.
Частые вопросы
Нужен ли адаптер, чтобы разместить Astro на Lobsite?
Нет. Адаптеры нужны для серверного рендеринга. Статическому сайту на Astro, как по умолчанию, адаптер не нужен: задеплойте папку dist/.
Почему npx lobsite деплоит dist/, а не public/?
В проекте Astro в public/ лежат файлы, которые сборка копирует как есть, например favicon.svg. Собранный сайт — это dist/. Lobsite видит astro в package.json и пропускает public/ за вас.
Можно добавить на сайт Astro свою страницу 404?
Да. Создайте src/pages/404.astro; Astro соберёт из него 404.html, и Lobsite будет отдавать его со статусом 404 для любого несуществующего адреса.
Работает ли оптимизация изображений Astro?
Да. astro:assets масштабирует и конвертирует изображения во время astro build, поэтому оптимизированные файлы уже лежат в dist/, когда вы деплоите. Сервер нужен только сервисам изображений, работающим на каждый запрос.