Документація
Швидкий старт
У зібраному проєкті виконайте одну команду. Обліковий запис не потрібен: сайт існуватиме 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 переписування /(.*) на /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|revoke | Токени CI для LOBSITE_TOKEN (Standard) |
lobsite ls / open / rm | Ваші сайти |
lobsite domain add|status|rm | Власні домени |
lobsite forms ls / export <name> --csv | Відповіді форм |
lobsite mcp | MCP-сервер для ШІ-агентів |
Обмеження
| Анонімно | Free | Standard | |
|---|---|---|---|
| Сайти | Без обмеження | 1 | 5 |
| Файлів на сайт | 100 | 100 | 10 000 |
| На файл | 5 MB | 5 MB | 100 MB |
| Розмір сайту | 50 MB | 50 MB | 2 GB |
| Сховище | — | 1 GB | 20 GB |
| Розгортань на годину | 10 | 30 | 100 |
| Розгортань на день на сайт | 3 | Без обмеження | Без обмеження |
| Історія розгортань | Live deploy only | 7 days | 30 days |
| Власних доменів на обліковий запис | — | 1 | 5 |
| Власних доменів на сайт | — | 1 | 1 |
| Трафік | 1 GB | 10 GB | Unlimited, fair use |
| Відповідей форм на місяць | — | 25 | Unlimited |
| Аналітика | — | — | Yes |
| Автоматизація (Zapier, n8n) | — | — | Yes |
| Значок "Powered by lobsite!" | Yes | Yes | No |
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.