KuroCMS
GitHub 黒兎

Cloudflare Workers × D1 × KV × R2

セットアップ 10 分。
あとはブラウザだけ。

KuroCMS は Cloudflare 上で動く軽量ヘッドレス CMS です。初回デプロイのみパソコンが必要で、それ以降の記事作成・テンプレート変更・デプロイはすべてブラウザで完結します。

  • 設定はほぼゼロ。テンプレートを選ぶだけでサイトが公開できます。
  • テンプレートはいつでも変更可能。自作・コミュニティ製も含め自由に選択できます。
  • REST API 搭載の AI ネイティブ設計。AI が記事の作成・公開・翻訳を自律的に操作できます。
  • ヘッドレス CMS なのに WordPress より簡単に立ち上げられます。
Cloudflare Workers D1 (SQLite) KV R2 Passkey REST API AI Native TypeScript

ヘッドレス CMS なのに、WordPress より簡単に立ち上げられます。

サーバー契約・PHP 設定・プラグイン管理は不要。 ./bootstrap.sh を一度実行するだけです。

これだけで始められます

難しいことは Cloudflare にまかせて、あなたはコンテンツに集中できます。

初回のみPC、あとはブラウザで完結

最初のデプロイだけパソコンで行います。それ以降の記事作成・テンプレート変更・公開(ビルド)はすべてブラウザだけで操作できます。

設定はほぼゼロ

bootstrap.sh を実行するだけで D1・KV・R2 のリソース作成からデプロイまで自動完了。面倒な設定ファイルの編集は必要ありません。

テンプレートを選ぶだけでデザイン完成

組み込みテンプレートを標準搭載。自作・コミュニティ製テンプレートも自由に追加・選択できます。テンプレートはいつでも変更可能。コードを一切触らずにデザインを一新できます。

AI ネイティブ REST API

記事の作成・公開(ビルド)・翻訳版の生成をすべて REST API で操作できます。AI エージェントが自律的にコンテンツを管理・公開できる AI ドリブン設計です。

サーバー管理ゼロ

Cloudflare Workers 上で動くため、VPS やコンテナの管理が不要です。世界 300 拠点以上のエッジで実行されます。

高速な静的配信

公開ページは KV にキャッシュされた HTML を返します。データベースへのクエリは発生せず、一貫して高速です。

Passkey 認証

パスワード不要の WebAuthn / Passkey 認証を標準搭載。指紋・顔認証でセキュアにログインできます。

メディア管理(R2)

画像・動画・音声を R2 にアップロード。[[mid]] 参照で記事やテンプレートコンテンツに埋め込めます。

多言語・移行対応

言語フラグ付きで多言語配信が可能。Strapi や他の KuroCMS インスタンスのコンテンツも管理画面から直接インポートできます。

テンプレートを選ぶだけ。いつでも変更できます。

20種以上 のテンプレート

KuroCMS チームとコミュニティが作成したテンプレートが揃っています。コードを一切触らずにデザインを切り替えられます。

コミュニティのメンバーが自由にテンプレートを公開・共有できます。ギャラリーから好きなテンプレートを選んで管理画面からワンクリックで適用できます。

テンプレートギャラリーを見る +15 more

ブラウザから今すぐデプロイ

PC 不要。Cloudflare アカウントと API Token を用意するだけで、D1・KV・R2・Worker の作成からマイグレーションまでをブラウザ上で自動実行します。

省略すると workers.dev サブドメインに自動デプロイされます。カスタムドメインを使う場合は入力してください。

Cloudflare ダッシュボード右サイドバー → Workers & Pages に表示される 32 桁の ID です。

Token の作成方法

このトークンはデプロイ処理にのみ使用され、サーバーには保存されません。完了後にインストーラーが自動削除します。

事前に必要なもの

  • ☁️ Cloudflare アカウント(無料プランで可)
  • 🔑 API Token(下の作成ガイドを参照)
  • 🌐 デプロイ先ドメイン(workers.dev でも可)

Deploy ボタンで自動実行されること

  1. 1 API Token の検証
  2. 2 D1 データベース作成
  3. 3 KV 名前空間作成
  4. 4 R2 バケット作成(登録済みの場合)
  5. 5 Worker のビルド・デプロイ
  6. 6 マイグレーション適用
  7. 7 自動更新用トークン発行・登録
  8. 8 セットアップトークン削除
API Token の作成手順を見る

Step by Step

CF API Token の作成方法

Web インストーラーを使うには Cloudflare API Token が必要です。必要な権限を絞った専用トークンを作成することで、セキュリティを保ちながらインストールを自動化できます。インストール完了後、このトークンはインストーラーが自動で削除します。

2 「Create Token」→「Custom token」を選択

テンプレートは使用しません。画面右上の「Create Token」ボタンをクリックし、一覧最下部の「Custom token」の「Get started」を選択してください。

3 トークン名を入力

わかりやすい名前を付けてください。インストール完了後にインストーラーが自動削除するため、名前は何でも構いません。

例: KuroCMS Setup
4 権限(Permissions)を追加

「Add more」ボタンで行を追加しながら、下表の権限をすべて設定してください。

スコープ リソース 権限 必須
Account Workers Scripts Edit 必須

Worker のデプロイと Secret(暗号化環境変数)の登録に使用します。

Account D1 Edit 必須

D1 データベースの作成と、マイグレーション SQL の実行に使用します。

Account Workers KV Storage Edit 必須

ページキャッシュ用の KV 名前空間の作成に使用します。

User API Tokens Edit 必須

自動アップデート用の専用トークン作成と、このセットアップトークンの自動削除に使用します。

Account R2 Edit 任意

メディアファイル保存用の R2 バケット作成に使用します。画像・動画を使わない場合は不要です。

Zone Zone Edit 任意

カスタムドメインへのルーティング設定に使用します。workers.dev サブドメインのみ使う場合は不要です。

5 Account Resources を設定

「Account Resources」欄で「Include → All accounts」または対象のアカウントを選択してください。

6 TTL(有効期限)を設定(推奨)

「TTL」欄で有効期限を設定できます。インストーラーが完了後に自動削除しますが、念のため短い期限(1〜2 時間)を設定しておくと安全です。

7 「Continue to summary」→「Create Token」

内容を確認して「Create Token」ボタンをクリックします。

8 トークン値をコピーして保管

トークン値は一度しか表示されません

「Create Token」後に表示される文字列をコピーして、インストーラーに貼り付けてください。画面を閉じると二度と確認できません。インストーラーはこのトークンをどこにも保存せず、完了後に即時削除します。

必要な権限まとめ

  • Workers Scripts:Edit Account
  • D1:Edit Account
  • Workers KV Storage:Edit Account
  • API Tokens:Edit User
  • R2:Edit Account (任意)
  • Zone:Edit Zone (任意)

● 必須:これがないとインストールが完了しません。

○ 任意:R2(メディア使用時)・Zone(カスタムドメイン設定時)のみ必要です。

セキュリティについて

  • トークン値はインストーラー内のみで使用し、どこにも保存されません。
  • インストール完了後、このトークンはインストーラーが自動で削除します。
  • 以降の自動アップデートには、Worker 更新専用の別トークン(最小権限)のみを使用します。
Cloudflare 公式: API Token 作成ドキュメント

その後は、記事を書いて公開記事を選択して公開(ビルド)ボタンを押すだけ

セットアップ後はすべてブラウザで完結。記事の作成から公開サイトへの反映まで、パソコンは不要です。

  1. 1

    管理画面にアクセス

    yoursite.workers.dev/kurocms/admin(または設定した管理 URL)にアクセスします。

  2. 2

    Passkey でログイン

    登録したパスキー(指紋・顔認証など)でログインします。パスワードの入力は不要です。

  3. 3

    記事を作成

    「+ 新規作成」から記事編集画面を開きます。タイトル・本文・カバー画像・カテゴリ・公開日を設定します。

  4. 4

    公開(ビルド)

    記事を保存後「公開」ボタンで公開する記事を選択し、管理画面下部の「今すぐ公開(ビルド)」で公開サイトに即時反映します。

Q&A

よくある質問と回答です。

無料で使えますか?

はい。Cloudflare の無料プランで運用できます。Workers は 1 日 10 万リクエストまで、D1・KV・R2 にも無料枠があります。個人ブログや小規模サイトであればまず費用はかかりません。

技術的な知識はどのくらい必要ですか?

Cloudflare アカウントの作成ができれば十分です。サーバーの知識は不要です。bootstrap.sh が D1・KV・R2 の作成からデプロイまで自動で行います。

独自ドメインは使えますか?

はい。Cloudflare の「カスタムドメイン」設定から Worker に独自ドメインを割り当てられます。Cloudflare で DNS を管理している場合は数クリックで完了します。

記事の下書き保存はできますか?

はい。記事には「下書き」「公開」「非公開」の状態があります。下書き状態の記事は公開(ビルド)に含まれず、管理画面からのみ閲覧できます。

複数の管理者を追加できますか?

はい。管理者は設定画面から招待リンクを発行して追加できます。ロールは管理者(admin)と編集者(author)の 2 種類です。

画像・動画はどこに保存されますか?

Cloudflare R2 に保存されます。R2 は S3 互換のオブジェクトストレージで、Worker から直接配信されます。無料枠は 10 GB/月です。

Strapi からの移行は?

管理画面の「設定 → インポート」タブから Strapi の REST API に接続し、記事を一覧表示してインポートできます。フィールドマッピング(タイトル・本文・カバー画像)を設定するだけで移行できます。

テンプレートを自分で作れますか?

はい。PageTemplate インターフェースを実装した TypeScript ファイルを作成し、管理画面の「テンプレート読込」からアップロードするだけです。Tailwind CSS CDN を使えば CSS ビルドも不要です。

インスタンスを別ドメインに移行したいのですが?

移行先で新たに KuroCMS をセットアップ後、管理画面のインポート機能から移行元の REST API に接続して記事を読み込むだけです。専用のエクスポート操作は不要です。

セキュリティはどうなっていますか?

管理 API はセッショントークンまたは Personal Access Token(PAT)で保護されています。Passkey(WebAuthn)認証でパスワードレスを実現し、公開ページは静的 HTML のみを配信するため攻撃面が最小限です。