EmDashを使ったらサーバレスでブログが建ってしまった話

タイトル通り

今年に入りdevドメインを取得してしまったので何か作ろうと思って模索していたらタイトル通り、サーバレスで技術ブログが建ってしまった・。・

EmDashとは


Cloudflareが今年4月1日に公開したCMSです。

CloudflareがAstroを買収した話が話題になりましたがもう成果物を出してきたようです。日付からエイプリルフールか何かだと

https://blog.cloudflare.com/emdash-wordpress/

言語はTypescript、フレームワークはAstroで構成されておりCloudflare Workrs、D1、R2を使ってしまえばVPSなど借りなくても技術ブログが建ってしまいます。

CMSとは


HTMLやCSSなどのWebサイトを構築するのに必要な知識が無くても直感的にデザインやレイアウトを管理・操作できるシステムのことです。

よく知られているCMSと言えばWordPressを思い浮かべる人が多いのではないでしょうか。

何故EmDashを選んだか


WordPressにはプラグインを導入して便利な機能を追加していくことができますが、そのプラグインに脆弱性が見つかるとサイト全体の乗っ取りに繋がる可能性があります。

EmDashではV8 isolateという隔離された環境でプラグインを実行することで脆弱性が見つかってもその影響をプラグインの権限内に限定するようです。

またサイトのログインにはWebAuthnという規格を使うためパスワードが存在せずブルートフォースやフィッシングによるパスワード漏洩の恐れが無いというのもあります。

どうやって動かすか


Node.jsをインストールした環境のPowerShellで以下のコマンドを入力するだけです。

> npm create emdash@latest

コマンドを実行すると対話形式でプロジェクトの作成を行う流れになります。作成が完了するとファイルが作成されるのであとは煮るなり焼くなりするだけです。Astroの操作に慣れていない人はAIに聞いてみてもいいかもしれません。

料理ができたら以下のコマンドでサーバを起動してみます。

> npm run dev

http://localhost:4321でログインができます。

見た目が良ければあとは以下のコマンドでデプロイするだけです。必要なサービスは先に有効にしておきましょう。

npm run deploy

ドメインを持っているのであれば、Workers&Pagesのドメイン設定からカスタムドメインとルーティングさせてしまうのも手です。

お試しサイトもあります


以下のようなお試しサイトがあります、触ってみるといいかもしれません。

https://emdashcms.com/

触った感想


ブログを書くならVPSが必要という認識が改めさせられた一方プラグインなどがまだ発展途上ではあるので本番運用するにはまだ早いかなという印象があります。

機会があればどんどん記事を投稿していこうと思います、ではまた