2026-11-05-flowershow-cloud-tech
flowershowの技術構成。特にVercelとCloudflareの使い分けは参考になるかも
Flowershow Cloud 技術構成
| レイヤー / 役割 | 採用技術・インフラ | データの持ち方・処理内容 |
|---|---|---|
| App / ホスティング | Next.js (TypeScript) on Vercel | マルチテナント構成のダッシュボード、API、公開サイトのルーティング・SSR/キャッシュ配信 |
| メタデータ DB | PostgreSQL (Neon / Vercel管理) + Prisma | ユーザーアカウント、サイト設定、デプロイ履歴 (Publish / PublishFile)、Blob メタデータ |
| オブジェクトストレージ | Cloudflare R2 (r2.flowershow.app) | Markdown・HTML・画像・PDF・Canvas等の実体ファイル保管。CLIやプラグインからはPresigned URLで直接PUT |
| 非同期処理 / パイプライン | Cloudflare Workflows + Workers (Queues) | GitHubツリーとの差分同期、R2の PutObject / DeleteObject イベント駆動でのBlob更新・インデックス処理 |
| 全文検索インデックス | Typesense | WorkerがR2上のファイル更新をフックして検索用インデックスを構築・更新 |
| 認証・認可 | NextAuth (GitHub OAuth) / OAuth Device Flow | Webセッション管理、CLI・Obsidian向けのトークン発行 (fs_cli_ プレフィックス)、サイト別オーナーJWT (__Host-fs_site_owner) |
| 決済管理 | Stripe | サブスクリプション・プラン管理 |