lobsite! Accedi Registrati

Documentazione

Avvio rapido

In un progetto già compilato, esegui un comando. Non serve un account: il sito dura 6 ore, a meno che tu non acceda e lo rivendichi.

npx lobsite

La cartella è l'argomento, dir in lobsite.toml, oppure la prima esistente tra dist/, build/, out/, _site/, public/. Vengono caricati solo i file cambiati.

Agenti IA

Gli agenti di programmazione (Claude Code, Cursor, Codex e altri) pubblicano con lo stesso comando. Sotto un agente la CLI non fa mai domande, e il suo output termina con una riga «Tell the user:» con l'URL e, per un sito senza account, il link per rivendicarlo e tenerlo.

npx -y lobsite --yes

C'è anche un server MCP per gli agenti di programmazione, uno remoto per ChatGPT e Claude.ai, e un comando curl per le sandbox senza Node. Configura il tuo agente.

Trascina e rilascia

Accedi e trascina una cartella o uno zip in un punto qualsiasi della dashboard. Prima di caricare qualcosa vengono eseguiti gli stessi controlli; i file segreti sono sempre esclusi.

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"

Le chiavi sconosciute sono un errore, con il suggerimento della chiave valida più vicina. La configurazione viaggia con ogni deploy, quindi un rollback la ripristina.

App a pagina singola

Le app con routing lato client, come React Router, Vue Router o TanStack Router, hanno un solo index.html e disegnano ogni pagina nel browser. Aprire /dashboard/settings direttamente, o ricaricarla, chiede al server un file che non esiste. La modalità a pagina singola risponde a quei percorsi con il tuo index.html, e il router dell'app prende il controllo. Ci sono tre modi per attivarla:

  • spa = true in lobsite.toml. Viaggia con ogni deploy, quindi un rollback la ripristina. Richiede lobsite 0.1.8 o successivo; le versioni precedenti si fermano con «Unknown key».
  • App a pagina singola nelle impostazioni del sito, nella dashboard. È la via per i siti caricati trascinandoli, perché una cartella trascinata non invia lobsite.toml. È un'impostazione del sito, quindi resta com'è tra deploy e rollback.
  • Un 200.html nella radice del sito. Viene servito al posto di index.html e funziona con qualsiasi versione della CLI e con il trascinamento. È così che fa Surge.

Con Vite (React, Vue, Svelte o Solid), aggiungi l'impostazione e pubblica dist/ come al solito:

npm run build
npx lobsite

Solo le richieste di pagine ricevono l'app: un percorso la cui ultima parte non ha estensione (/dashboard, /users/42), o qualsiasi richiesta di un browser che chiede HTML (/users/jane.doe). Un file mancante come /assets/index-3f9a.js riceve un vero 404. Conta subito dopo un deploy: un visitatore che ha ancora aperta la vecchia versione riceve un errore chiaro per il vecchio script, non il tuo HTML al suo posto.

Il sito ha Una pagina mancante (/dashboard) Un file mancante (/old.js)
niente «Not found» di Lobsite, 404 «Not found» di Lobsite, 404
404.html 404.html, 404 404.html, 404
modalità a pagina singola index.html, 200 «Not found» di Lobsite, 404
modalità a pagina singola e 404.html index.html, 200 404.html, 404
200.html (con o senza l'impostazione) 200.html, 200 404.html se c'è, altrimenti «Not found», 404

Se arrivi da Netlify, la regola _redirects /* /index.html 200 equivale a spa = true; da Vercel, un rewrite di /(.*) verso /index.html è la stessa cosa.

.lobsiteignore

I file che corrispondono a un pattern in .lobsiteignore non vengono pubblicati. La sintassi è la stessa di .gitignore:

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

Il file viene letto dalla cartella pubblicata e dalla radice del progetto (accanto a lobsite.toml); i pattern nel file della radice sono relativi alla radice. .git, node_modules, .DS_Store e lo stesso .lobsiteignore sono sempre esclusi.

I file segreti (.env*, chiavi private come *.pem e id_rsa, .npmrc, .netrc e simili) fermano un deploy finché non vengono rimossi o ignorati. In un terminale, la CLI propone di aggiungerli a .lobsiteignore e pubblicare senza di loro.

Moduli

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

I moduli vengono individuati al deploy. La protezione antispam (un campo trappola, controlli sui tempi e limiti di frequenza) viene aggiunta per te. Gli invii arrivano nella pagina Invii della tua dashboard e nella tua email. Altro sui moduli: esempi, invio con JavaScript, framework e impostazioni.

Nel piano gratuito i moduli funzionano in modalità limitata: una quota mensile per sito, notifiche solo all'email dell'account e niente webhook. Il piano Standard aggiunge i webhook, qualsiasi indirizzo di notifica verificato e una quota più alta.

Domini personalizzati

I domini personalizzati sono inclusi in ogni account, compreso il piano gratuito. lobsite domain add www.example.com stampa il record da aggiungere: un CNAME verso cname.lobsite.app. I certificati vengono emessi e rinnovati per te. Se anche un altro account ha aggiunto il dominio, un record TXT dimostra che è tuo.

Anteprime e rollback

Ogni deploy ha un suo URL, <id>--<site>.lobsite.app. lobsite deploy --preview non tocca la produzione; lobsite rollback e lobsite promote cambiano il deploy online senza caricare nulla.

CLI

lobsite [dir]Pubblica una cartella (il comando predefinito)
lobsite deploy --previewCarica senza cambiare la produzione
lobsite deploysElenca i deploy conservati
lobsite rollback [id]Rimetti online un deploy precedente
lobsite promote <id>Metti online qualsiasi deploy
lobsite login / logout / whoamiIl tuo account
lobsite claim [site]Tieni un sito anonimo
lobsite account [use <email>|me]Passa a un account di cui sei membro
lobsite token create|ls|revokeToken CI per LOBSITE_TOKEN (Standard)
lobsite ls / open / rmI tuoi siti
lobsite domain add|status|rmDomini personalizzati
lobsite forms ls / export <name> --csvInvii dei moduli
lobsite mcpUn server MCP per gli agenti IA

Limiti

AnonimoFreeStandard
SitiNessun tetto15
File per sito10010010.000
Per file5 MB5 MB100 MB
Dimensione del sito50 MB50 MB2 GB
Spazio—1 GB20 GB
Deploy all'ora1030100
Deploy al giorno per sito3Nessun tettoNessun tetto
Cronologia deployLive deploy only7 days30 days
Domini personalizzati per account—15
Domini personalizzati per sito—11
Banda1 GB10 GBUnlimited, fair use
Invii dei moduli al mese—25Unlimited
Statistiche——Yes
Automazioni (Zapier, n8n)——Yes
Badge «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.