EmDashをセットアップしたときに気になったところ

ハマったところ。wrangler.jsonc worker_loaders を無効化、重複するKV

EmDashをセットアップ

versionは2026/4/19時点で 0.4.0。

セットアップするには?

https://github.com/emdash-cms/emdash のdeploy directly to your Cloudflare account: “Deploy to Cloudflare“のバナーをクリックして、Cloudflareで使用する各種サービス(R2, D1)の名前を設定するだけ。

 deploy directly to your Cloudflare account:  Deploy to Cloudflare  EmDash runs on Cloudflare (D1 + R2 + Workers) or any Node.js server with SQLite. No PHP, no separate hosting tier -- just deploy your Astro site.

名前についても初期値が設定されているのでページ一番下の「作成とデプロイ」ボタンを押して1~2分待てばセットアップ完了。

Githubアカウント連携

Githubアカウント連携しておくと、「Git リポジトリが作成され、アプリケーションに接続されます。本番ブランチへのすべてのプッシュは自動的にデプロイされます」ということで設定。

Githubアカウントのログインするポップアップが表示され、連携完了する…はずだった。

実際にはGitHubポップアップ、ログイン完了後に表示されている画面にて、権限の範囲(リポジトリの読取権限と作成権限)を設定する必要があった。

ログインのポップアップ認証画面は必要最小限のウィンドウサイズで表示されるため、Githubの権限設定の設定できる場所まで表示されず、ポップアップのウィンドウサイズを変更したり、ウィンドウ内のスクロールして対応。

デプロイ直後のビルドが失敗する

cloudflare EmDash、プラグイン機能を利用する場合にはDynamic workersを有効にする必要がある。今回はEmDashのpluginは使わないバニラのEmDashを使うため何もしなくていいかとおもっていたら、Dynamic workersが作れなかったとビルド中にエラーメッセージ。

Important  EmDash depends on Dynamic Workers to run secure sandboxed plugins. Dynamic Workers are currently only available on paid accounts. Upgrade your account (starting at $5/mo) or comment out the worker_loaders block of your wrangler.jsonc configuration file to disable plugins.

EmDashのリポジトリに、「アカウントをアップグレードしないなら wrangler.json の worker_loaders をコメントアウトして、プラグインを無効化して」と書いてあったので wrangler.json の worker_loaders セクションをコメントアウト。

そして再度ビルド。

プラグイン無効化後のビルドで失敗する

Deploy to Cloudflare 後のClouadflareの各種サービス名の設定にでてこないCloudflare KV。ビルド中にCloudflare KVをバインドするようでビルドが途中で失敗して完了でてきていない場合に、Cloudflare KVが作られているけどEmDashにバインドされていない状態になってしまうらしく…。

正しいやり方かわからないけど、Cloudflare KVの一覧からEmDash用のセッションKV( EmDash-xxxxx-session )を削除。

そして再度ビルド。2~3分待つ。