コンテンツにスキップ

セットアップの概要

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 つで有効化できます。

デプロイ直後のインスタンスに表示される初回サインアップ画面。

  1. Cloudflare へデプロイ — D1・R2 を用意し、セッション シークレットを設定し、マイグレーションを実行して Worker をデプロイします。

  2. 設定 — 環境変数・シークレット・バインディングの 完全なリファレンス。

  3. 初回セットアップウィザード — 最初の管理者として サインアップし、アプリ内ウィザードでワークスペース作成とメンバー招待を行います。

  4. セキュリティ — 既定で安全な挙動と、実施すべき ハードニング。