PayloadCMSとastroでブログサイトやっとデプロイできた
やったこと
Headless CMSのPayloadCMSとそのフロントエンドとしてastroで作成していたブログをデプロイすることができた。
astroに関しては元々デザインがあったものをそのまま使用。 → Astro Paper
まだブログの設定とかちゃんとやってない。
一旦デプロイして表示するところまではできたので書いてる。
デプロイ
デプロイに使ったサービス
- render (Expressのサーバー)
- atlas (MongoDBサーバー)
最初はvercelでデプロイしたかったんやけど、expressをどうやったらデプロイできるのか謎すぎてherokuみたいなサービスのrenderを使った。 データベースに関してはatlasが一つだけデータベースを無料で作れるためそれを使った。どちらも無料でできるのでお財布にはやさしい。
astroに関してはvercelでデプロイ。
辛かった点
当初すぐできるだろうとたかを括ってたが案外めんどくさかったので辛かった点書いておく。
PayloadCMSが難しい
最初管理画面とかも自分で作らないといけないのかなと思ってたけど、そこら辺はdefaultの画面が表示できる。 ページの設定とかそこら辺、そんなに難しくはないけどカスタムするのが前提になるのでただブログを作れたらいいってだけだと自分にはいらないカスタム性だなと思った。
ページの起動が遅い
管理画面をrenderで作ったが、atlasが重たいのかrenderが重たいのか管理画面の起動がとにかく遅すぎる。使えたもんじゃないくらい遅い。
原因調査するのもだるいし元気ないのでやる気もないが辛さしかない。
localでenvが読み込まれない
これに関してはturborepoのドキュメントちゃんと読んでないワイが悪い。
最初のturbo.json
に書けばOKかなと思ってたけど、dotenv-cliも入れてあげないといけないことに気づけてなかった…
それさえ設定してrootのpackage.jsonで呼び出せばちゃんと動かせる。
astro内で読み込むのは楽だけどCMSと連携させるのめんどくさい
元々astro単体で動くように作られているため、単体の運用をするなら結構楽にできそう感あるけど、cmsから取得するのは色々修正する必要あってめんどくさかった。
fetchすればいいだけではあるけど、fetchしたデータをhtmlとして表示するのがやったことなさすぎて意味不明だった。どっちの技術も使ったことない状態で始めたのでそこら辺は意味不明だったなって感想。
最後に
今このブログサイトあるからこそやるモチベーションが無さすぎた、簡単に導入できるならと始めたが思った以上にめんどくさすぎて多分今後更新することはなさそう笑
ただこのブログのjekyllで作るのもちょっとめんどくさいなー感がすごい。astroの部分だけ別で切り出して管理するのも悪くはないから移行するかも。
まぁでも実際やってみてheadless cmsへの理解やそれを使うために試行錯誤したところは結構ためになったかなと思う。わざわざPlaygroundでやる必要はなかったかなといったところだけ。