lobsite! Zaloguj się Załóż konto

Dokumentacja

Szybki start

W zbudowanym projekcie uruchom jedno polecenie. Konto nie jest potrzebne: strona działa 6 godzin, chyba że się zalogujesz i ją przejmiesz.

npx lobsite

Folderem jest argument, dir w lobsite.toml albo pierwszy istniejący z dist/, build/, out/, _site/, public/. Wysyłane są tylko zmienione pliki.

Agenci AI

Agenci do kodowania (Claude Code, Cursor, Codex i inni) wdrażają tym samym poleceniem. Pod agentem CLI nigdy nie zadaje pytań, a jego wynik kończy się linią „Tell the user:” z adresem URL i, dla strony bez konta, linkiem do przejęcia, który pozwala ją zachować.

npx -y lobsite --yes

Jest też serwer MCP dla agentów do kodowania, zdalny serwer dla ChatGPT i Claude.ai oraz polecenie curl dla sandboksów bez Node. Skonfiguruj swojego agenta.

Przeciągnij i upuść

Zaloguj się i upuść folder lub plik ZIP w dowolnym miejscu panelu. Przed wysłaniem czegokolwiek działają te same kontrole; pliki z sekretami są zawsze pomijane.

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"

Nieznane klucze są błędem, z podpowiedzią najbliższego poprawnego klucza. Konfiguracja jedzie z każdym wdrożeniem, więc wycofanie ją przywraca.

Aplikacje jednostronicowe

Aplikacje z routingiem po stronie klienta, jak React Router, Vue Router czy TanStack Router, mają jeden index.html i rysują każdą stronę w przeglądarce. Bezpośrednie otwarcie /dashboard/settings albo jego odświeżenie prosi serwer o plik, który nie istnieje. Tryb jednostronicowy odpowiada na te ścieżki Twoim index.html, a router aplikacji przejmuje sterowanie. Są trzy sposoby, by go włączyć:

  • spa = true w lobsite.toml. Jedzie z każdym wdrożeniem, więc wycofanie go przywraca. Wymaga lobsite 0.1.8 lub nowszego; starsze wersje zatrzymują się z „Unknown key”.
  • Aplikacja jednostronicowa w ustawieniach strony w panelu. To sposób dla stron wgrywanych przeciąganiem, bo upuszczony folder nie wysyła lobsite.toml. To ustawienie strony, więc nie zmienia się przy wdrożeniach i wycofaniach.
  • 200.html na najwyższym poziomie strony. Jest serwowany zamiast index.html i działa z każdą wersją CLI oraz z przeciąganiem. Tak robi to Surge.

Z Vite (React, Vue, Svelte lub Solid) dodaj ustawienie i wdróż dist/ jak zwykle:

npm run build
npx lobsite

Aplikację dostają tylko żądania stron: ścieżka, której ostatnia część nie ma rozszerzenia (/dashboard, /users/42), albo dowolne żądanie przeglądarki proszącej o HTML (/users/jane.doe). Brakujący plik, np. /assets/index-3f9a.js, dostaje prawdziwe 404. Ma to znaczenie tuż po wdrożeniu: odwiedzający, który ma otwartą starą wersję, dostaje jasny błąd dla starego skryptu, a nie Twój HTML w jego miejscu.

Strona ma Brakująca strona (/dashboard) Brakujący plik (/old.js)
nic „Not found” Lobsite, 404 „Not found” Lobsite, 404
404.html 404.html, 404 404.html, 404
tryb jednostronicowy index.html, 200 „Not found” Lobsite, 404
tryb jednostronicowy i 404.html index.html, 200 404.html, 404
200.html (z ustawieniem lub bez) 200.html, 200 404.html, jeśli jest, w przeciwnym razie „Not found”, 404

Przy przeprowadzce z Netlify reguła _redirects /* /index.html 200 to spa = true; z Vercel rewrite /(.*) na /index.html oznacza to samo.

.lobsiteignore

Pliki pasujące do wzorca w .lobsiteignore nie są wdrażane. Składnia jest taka sama jak w .gitignore:

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

Plik jest czytany z wdrażanego folderu i z katalogu głównego projektu (obok lobsite.toml); wzorce w pliku z katalogu głównego są względne wobec niego. .git, node_modules, .DS_Store i sam .lobsiteignore są zawsze pomijane.

Pliki z sekretami (.env*, klucze prywatne jak *.pem i id_rsa, .npmrc, .netrc i podobne) zatrzymują wdrożenie, dopóki nie zostaną usunięte lub zignorowane. W terminalu CLI proponuje dodanie ich do .lobsiteignore i wdrożenie bez nich.

Formularze

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

Formularze są wykrywane podczas wdrożenia. Ochrona przed spamem (pułapka, pomiar czasu i limity) jest dodawana za Ciebie. Zgłoszenia trafiają na stronę „Zgłoszenia” w panelu i na Twój e-mail. Więcej o formularzach: przykłady, wysyłanie przez JavaScript, frameworki i ustawienia.

W darmowym planie formularze działają w trybie ograniczonym: miesięczny limit na stronę, powiadomienia tylko na e-mail konta i bez webhooków. Plan Standard dodaje webhooki, dowolny zweryfikowany adres powiadomień i wyższy limit.

Własne domeny

Własne domeny są w każdym koncie, łącznie z darmowym. lobsite domain add www.example.com wypisuje rekord do dodania: CNAME na cname.lobsite.app. Certyfikaty są wystawiane i odnawiane za Ciebie. Jeśli inne konto też dodało domenę, rekord TXT potwierdza, że jest Twoja.

Podglądy i wycofanie

Każde wdrożenie ma własny URL, <id>--<site>.lobsite.app. lobsite deploy --preview nie rusza produkcji; lobsite rollback i lobsite promote przełączają działające wdrożenie bez wysyłania plików.

CLI

lobsite [dir]Wdróż folder (domyślne polecenie)
lobsite deploy --previewPrześlij bez zmiany produkcji
lobsite deploysLista zachowanych wdrożeń
lobsite rollback [id]Przywróć wcześniejsze wdrożenie
lobsite promote <id>Opublikuj dowolne wdrożenie
lobsite login / logout / whoamiTwoje konto
lobsite claim [site]Zachowaj anonimową stronę
lobsite account [use <email>|me]Przełącz na konto, którego jesteś członkiem
lobsite token create|ls|revokeTokeny CI dla LOBSITE_TOKEN (Standard)
lobsite ls / open / rmTwoje strony
lobsite domain add|status|rmWłasne domeny
lobsite forms ls / export <name> --csvZgłoszenia z formularzy
lobsite mcpSerwer MCP dla agentów AI

Limity

AnonimowyFreeStandard
StronyBez limitu15
Plików na stronę10010010 000
Na plik5 MB5 MB100 MB
Rozmiar strony50 MB50 MB2 GB
Miejsce—1 GB20 GB
Wdrożeń na godzinę1030100
Wdrożeń dziennie na stronę3Bez limituBez limitu
Historia wdrożeńLive deploy only7 days30 days
Własnych domen na konto—15
Własnych domen na stronę—11
Transfer1 GB10 GBUnlimited, fair use
Zgłoszeń z formularzy miesięcznie—25Unlimited
Analityka——Yes
Automatyzacje (Zapier, n8n)——Yes
Plakietka „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.