層2 必要な役割 › サイトを動かす場所
サイトを動かす場所
ひとことで言うと
EmDashのサイトは、Node.jsが動くサーバーか、サーバーレスのCloudflare Workersで動かします。サーバーを自分で用意して動かし続けるか、Cloudflareのネットワーク上でリクエストごとに実行するかが違います。
図:2つの動かし方
図のテキストを読む
flowchart TB
subgraph NODE["Node.jsのサーバー"]
N0["VPSまたはNode.jsのホスティングサービス"] --> N1["常に起動しているNode.jsのプロセス<br/>(EmDashとAstro)"]
N1 --> N2["データベース<br/>SQLite・libSQL・PostgreSQL"]
N1 --> N3["メディアの保存先<br/>ローカルのディスク・S3互換"]
end
subgraph CF["Cloudflare Workers(サーバーレス)"]
C0["Cloudflareのネットワーク"] --> C1["リクエストごとに起動するWorker<br/>(EmDashとAstro)"]
C1 --> C2["データベース<br/>D1"]
C1 --> C3["メディアの保存先<br/>R2"]
end
図の補足
| Node.jsのサーバー | Cloudflare Workers | |
|---|---|---|
| 用意するもの | Node.js 22.16以上が動く、Node.jsのホスティングサービスまたはVPS | Cloudflareのアカウント |
| 動き方 | 長時間動き続けるNode.jsのサーバー | リクエストが来るとisolate(分離された実行単位)を起動し、リクエストがなければ0まで縮小する |
| データベース | SQLite、libSQL、PostgreSQL | D1 |
| メディアの保存先 | ローカルのファイルシステム、S3互換のサービス | R2 |
| 公式の手順 | Node.jsへのデプロイ | Cloudflareへのデプロイ |
- Cloudflareは、Workersを「インフラの管理が不要」なサーバーレスのプラットフォームと説明しています。Workerは、世界中の数百の拠点にあるCloudflareのネットワーク上で動きます。
- 公式の「Node.jsへのデプロイ」は、1台のサーバーではSQLiteとローカルのファイル保存を使い、複数のインスタンスで1つのデータベースを使う場合はPostgreSQLかlibSQLを、メディアをサーバーのディスクと切り離して残す場合はS3互換のストレージを使うよう説明しています。
- 公式情報には、PHPのサイト向けの一般的なレンタルサーバーでEmDashを動かす方法の記述はありません。
根拠にした公式ページ
- Cloudflare Workersのドキュメント:https://developers.cloudflare.com/workers/
- Cloudflare「How Workers works」:https://developers.cloudflare.com/workers/reference/how-workers-works/
- EmDash公式「Node.jsへのデプロイ」(本サイトの訳):https://docs.emdashcms.com/deployment/nodejs/
- EmDash公式「Cloudflareへのデプロイ」(本サイトの訳):https://docs.emdashcms.com/deployment/cloudflare/
- EmDash公式「なぜEmDashか」(本サイトの訳):https://docs.emdashcms.com/why-emdash/
- Cloudflare Blog「Introducing EmDash — the spiritual successor to WordPress that solves plugin security」(2026年4月1日):https://blog.cloudflare.com/emdash-wordpress/