セットアップの概要
Spantail はシングルテナントです。1 つのデプロイが 1 つの組織に対応し、すべてがあなた自身の Cloudflare アカウント上で動作します。本ガイドでは、空のアカウントから、最初の管理者がサインイン した稼働中のインスタンスまでを案内します。
単一の Cloudflare Worker がすべてを配信します — REST API(/api/v1)、MCP エンドポイント
(/mcp)、公開共有ビュー(/share/*)、そして React SPA。これを少数の Cloudflare リソースが
支えます。
| リソース | バインディング | 役割 |
|---|---|---|
| D1 データベース | DB |
主データベース。 |
| R2 バケット | UPLOADS |
ユーザーがアップロードしたメディア(アバター、ワークスペースロゴ)。 |
| Durable Object | USER_HUB |
SSE によるライブ更新のリアルタイム配信。管理者がリアルタイム更新を有効化するまではアイドル。 |
| Email Service | EMAIL |
送信メール。任意。送信ドメインを登録するまでは無効(inert)。 |
| レートリミッター | INGEST_RATE_LIMITER |
信頼できない取り込み経路に対する資格情報単位の上限。 |
バインディングとシークレットの詳細は設定を参照してください。
- GitHub アカウントと Cloudflare アカウント
- Node.js 24+、pnpm 11+、Wrangler v4 — ローカルでの試用・手動デプロイ・データベースバックアップに のみ必要です。推奨のフォーク + Workers Builds デプロイは Cloudflare のビルド環境内で完結します
コア機能の実行には Workers Free プランで十分です。Free プランに収まらない 2 つの機能は、 既定でオフになっています。
- メール配信 — Cloudflare Email Service には Workers Paid プランと認証済み送信ドメインが 必要です。有効化するまではメンバーを生成パスワードで直接追加します。
- リアルタイム更新 — SSE によるライブ更新は接続中のタブごとにユーザー単位の Durable Object を 常駐させ、その実行時間が Free プランの 1 日のクォータを数時間で使い切ることがあります。オフの間は タブがフォーカスを取り戻したときに画面が再取得されます。
どちらも、見合ったプラン(または利用規模)になったらシステム設定の スイッチ 1 つで有効化できます。

Spantail をセットアップする
Section titled “Spantail をセットアップする”-
Cloudflare へデプロイ — D1・R2 を用意し、セッション シークレットを設定し、マイグレーションを実行して Worker をデプロイします。
-
設定 — 環境変数・シークレット・バインディングの 完全なリファレンス。
-
初回セットアップウィザード — 最初の管理者として サインアップし、アプリ内ウィザードでワークスペース作成とメンバー招待を行います。
-
セキュリティ — 既定で安全な挙動と、実施すべき ハードニング。
Cloudflare へデプロイリソースを用意し Worker をデプロイ。
初回セットアップウィザード最初の管理者と最初のワークスペースを作成。