lobsite! Войти Регистрация

Документация

Быстрый старт

В собранном проекте выполните одну команду. Аккаунт не нужен: сайт живёт 6 часов, если вы не войдёте и не заберёте его.

npx lobsite

Папка — это аргумент, dir в lobsite.toml или первая существующая из dist/, build/, out/, _site/, public/. Загружаются только изменённые файлы.

ИИ-агенты

Агенты для программирования (Claude Code, Cursor, Codex и другие) деплоят той же командой. Под агентом CLI никогда не задаёт вопросов, а его вывод заканчивается строкой «Tell the user:» с URL и, для сайта без аккаунта, ссылкой для получения, по которой его можно сохранить.

npx -y lobsite --yes

Есть также MCP-сервер для агентов программирования, удалённый сервер для ChatGPT и Claude.ai и команда curl для песочниц без Node. Настройте своего агента.

Перетаскивание

Войдите и перетащите папку или zip в любое место панели. Перед загрузкой выполняются те же проверки; секретные файлы всегда исключаются.

lobsite.toml

site = "quiet-fox-4821"
dir  = "dist"
spa  = false            # true: paths that aren't files open index.html

[[redirects]]
from   = "/blog/:slug"
to     = "/posts/:slug"
status = 301            # 301 | 302 | 307 | 308

[[headers]]
for = "/assets/*"
[headers.values]
Cache-Control = "public, max-age=31536000, immutable"

[forms.contact]
required = ["email", "message"]
redirect = "/thanks"

Неизвестные ключи — ошибка, с подсказкой ближайшего правильного ключа. Настройки едут вместе с каждым деплоем, поэтому откат их восстанавливает.

Одностраничные приложения

Приложения с маршрутизацией на стороне клиента, например React Router, Vue Router или TanStack Router, имеют один index.html и рисуют каждую страницу в браузере. Если открыть /dashboard/settings напрямую или обновить страницу, сервер получит запрос к несуществующему файлу. Одностраничный режим отвечает на такие пути вашим index.html, и дальше работает роутер приложения. Включить его можно тремя способами:

  • spa = true в lobsite.toml. Настройка едет с каждым деплоем, поэтому откат её восстанавливает. Нужен lobsite 0.1.8 или новее; более старые версии останавливаются с «Unknown key».
  • Одностраничное приложение в настройках сайта в панели. Это способ для сайтов, загружаемых перетаскиванием, ведь перетащенная папка не передаёт lobsite.toml. Это настройка сайта, поэтому она не меняется при деплоях и откатах.
  • 200.html в корне сайта. Он отдаётся вместо index.html и работает с любой версией CLI и с перетаскиванием. Так это делает Surge.

С Vite (React, Vue, Svelte или Solid) добавьте настройку и деплойте dist/ как обычно:

npm run build
npx lobsite

Приложение получают только запросы страниц: путь, у последней части которого нет расширения (/dashboard, /users/42), или любой запрос браузера, который просит HTML (/users/jane.doe). Отсутствующий файл вроде /assets/index-3f9a.js получает настоящий 404. Это важно сразу после деплоя: посетитель, у которого ещё открыта старая версия, получит понятную ошибку для старого скрипта, а не ваш HTML вместо него.

На сайте есть Отсутствующая страница (/dashboard) Отсутствующий файл (/old.js)
ничего «Not found» от Lobsite, 404 «Not found» от Lobsite, 404
404.html 404.html, 404 404.html, 404
одностраничный режим index.html, 200 «Not found» от Lobsite, 404
одностраничный режим и 404.html index.html, 200 404.html, 404
200.html (с настройкой или без) 200.html, 200 404.html, если есть, иначе «Not found», 404

При переезде с Netlify правило _redirects /* /index.html 200 равнозначно spa = true; с Vercel то же самое — rewrite /(.*) на /index.html.

.lobsiteignore

Файлы, подходящие под шаблон из .lobsiteignore, не деплоятся. Синтаксис тот же, что у .gitignore:

drafts/
*.psd
/notes.txt
!keep.psd

Файл читается из деплоемой папки и из корня проекта (рядом с lobsite.toml); шаблоны в файле корня считаются относительно корня. .git, node_modules, .DS_Store и сам .lobsiteignore исключаются всегда.

Секретные файлы (.env*, приватные ключи вроде *.pem и id_rsa, .npmrc, .netrc и подобные) останавливают деплой, пока их не удалят или не добавят в игнор. В терминале CLI предлагает добавить их в .lobsiteignore и задеплоить без них.

Формы

<form action="/_lobsite/forms/contact" method="POST">
  <input name="email" type="email" required>
  <textarea name="message" required></textarea>
  <button>Send</button>
</form>

Формы находятся при деплое. Защита от спама (поле-ловушка, проверка времени и ограничение частоты) добавляется за вас. Заявки приходят на страницу «Заявки» в панели и на почту. Подробнее о формах: примеры, отправка через JavaScript, фреймворки и настройки.

На бесплатном тарифе формы работают в ограниченном режиме: месячная квота на сайт, уведомления только на почту аккаунта и без вебхуков. Тариф Standard добавляет вебхуки, любой подтверждённый адрес для уведомлений и более высокую квоту.

Свои домены

Свои домены доступны в любом аккаунте, включая бесплатный. lobsite domain add www.example.com выводит запись, которую нужно добавить: CNAME на cname.lobsite.app. Сертификаты выпускаются и продлеваются за вас. Если домен добавил и другой аккаунт, TXT-запись подтвердит, что он ваш.

Предпросмотры и откат

У каждого деплоя свой URL — <id>--<site>.lobsite.app. lobsite deploy --preview не трогает продакшен; lobsite rollback и lobsite promote переключают рабочий деплой без загрузки файлов.

CLI

lobsite [dir]Задеплоить папку (команда по умолчанию)
lobsite deploy --previewЗагрузить, не меняя продакшен
lobsite deploysСписок сохранённых деплоев
lobsite rollback [id]Опубликовать предыдущий деплой
lobsite promote <id>Опубликовать любой деплой
lobsite login / logout / whoamiВаш аккаунт
lobsite claim [site]Сохранить анонимный сайт
lobsite account [use <email>|me]Переключиться на аккаунт, в котором вы состоите
lobsite token create|ls|revokeCI-токены для LOBSITE_TOKEN (Standard)
lobsite ls / open / rmВаши сайты
lobsite domain add|status|rmСвои домены
lobsite forms ls / export <name> --csvЗаявки с форм
lobsite mcpMCP-сервер для ИИ-агентов

Лимиты

АнонимFreeStandard
СайтыБез ограничения15
Файлов на сайт10010010 000
На файл5 MB5 MB100 MB
Размер сайта50 MB50 MB2 GB
Хранилище—1 GB20 GB
Деплоев в час1030100
Деплоев в день на сайт3Без ограниченияБез ограничения
История деплоевLive deploy only7 days30 days
Своих доменов на аккаунт—15
Своих доменов на сайт—11
Трафик1 GB10 GBUnlimited, fair use
Заявок с форм в месяц—25Unlimited
Аналитика——Yes
Автоматизации (Zapier, n8n)——Yes
Значок «Powered by lobsite!»YesYesNo

Bandwidth is per month per account (per site lifetime for anonymous sites). At the limit, free and anonymous sites stop serving until the next month; on Standard there's no cap and sites keep serving: past 1 TB a month, we contact you.