GoでヘッドレスCMSを書いてブログを再開した

かつて15年くらい書き溜めたブログがあったのだが当時運用していたWordPressを使いこなせずにごっそりと消してしまった。そのときバックアップを取っておかなかったのはちょっとだけ後悔したが、まあもう古くなった技術のネタばっかりだったのでもういいやと諦めることにした。

もうブログはいいやと思っていたが舌の根も乾かないうちにポートフォリオになるものもないし、自分の備忘録となるものもなくなってしまい、それはそれで不便だったので再開するに至った。

ただし今度はGoでヘッドレスCMSを書いて、フロントエンドをNext.jsで書こうと思い立った。CMS部分を分離する必要なんてないじゃんというのはごもっともだしあれこれ考えたのだが、Goで書きたいという勢いだけで構成した。

CMSへの記事の投稿はMarkdownで書いてPOSTする

CMSだったらWYSIWYGエディタだろとなるかと思ったがMarkdownでいいじゃん、で終了。手軽に書いて手軽に投稿、自分で使う分にはこれで十分。データベースはSQLite3。

フロントエンドはSSGで出力してS3において公開

フロントエンドはNext.jsで書く、これも「Next.js使いたい」というのが主な目的。ec2にインスタンス建ててホストするというのも考えたけど、それだと運用費がそれなりにかかるので避けた。microインスタンスならインスタンス料金はかからないがebsの料金が必要になるしWordPress運用してたころに気が付くと落ちてたりしたのでもうec2で運用はしたくない。

ec2の問題じゃなくてWordPressとMySQLのコンテナにメモリ食いつぶされて落ちてただけなんだけどね。SWAPファイル使ってメモリ増やしても油断すると落ちたりしてた。

Vercelにホストっていうのも考えたけど、それはまたの機会に。

最後に

ということでまたブログを書くことになります、Python、Go、Elasticsearch/Solr、あたりの備忘録だったり山行記録だったり。

hasete2/hello-cms - GitHub