ドキュメント
クイックスタート
ビルド済みのプロジェクトでコマンドを 1 つ実行します。アカウントは不要で、ログインして取得しない限りサイトは 6 時間有効です。
npx lobsite
フォルダは、引数、lobsite.toml の dir、または dist/、build/、out/、_site/、public/ のうち最初のものです。変更されたファイルのみがアップロードされます。
AI エージェント
コーディングエージェント(Claude Code、Cursor、Codex など)は同じコマンドでデプロイします。エージェント配下では CLI は質問せず、出力の最後に URL と、アカウントのないサイトの場合はサイトを残す取得リンクを含む「Tell the user:」行を出力します。
npx -y lobsite --yes
コーディングエージェント向けの MCP サーバー、ChatGPT と Claude.ai 向けのリモートサーバー、Node のないサンドボックス向けの curl コマンドもあります。エージェントを設定する。
ドラッグ&ドロップ
ログインして、ダッシュボードのどこにでもフォルダや 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 が 1 つあり、すべてのページをブラウザで描画します。/dashboard/settings を直接開いたり再読み込みしたりすると、サーバーに存在しないファイルを要求します。シングルページモードはこれらのパスに index.html で応答し、アプリのルーターが引き継ぎます。オンにする方法は 3 つあります。
lobsite.tomlのspa = true。 各デプロイと一緒に反映されるため、ロールバックで元に戻ります。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) |
|---|---|---|
| なし | Lobsite の「Not found」、404 | Lobsite の「Not found」、404 |
404.html |
404.html、404 |
404.html、404 |
| シングルページモード | index.html、200 |
Lobsite の「Not found」、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 での送信、フレームワーク、設定。
無料プランのフォームは制限モードで動作します。サイトごとの月間上限、通知はアカウントのメールアドレスのみ、Webhook なしです。Standard プランでは、Webhook、任意の確認済み通知先アドレス、より高い上限が追加されます。
カスタムドメイン
カスタムドメインは無料プランを含むすべてのアカウントで使えます。lobsite domain add www.example.com が追加するレコードを表示します。cname.lobsite.app への CNAME です。証明書は自動で発行、更新されます。別のアカウントもドメインを追加している場合は、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 | LOBSITE_TOKEN 用の CI トークン(Standard) |
lobsite ls / open / rm | あなたのサイト |
lobsite domain add|status|rm | カスタムドメイン |
lobsite forms ls / export <name> --csv | フォームの送信 |
lobsite mcp | AI エージェント向け 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 |
| 1 時間あたりのデプロイ数 | 10 | 30 | 100 |
| サイトあたりの 1 日のデプロイ数 | 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.