このブログは今まで PC 上でエディタを使って書いていたが、ふと、「iPad で書きたい」と思った。まぁ当初から Any time, Any where な感じを目指していたので、この欲求は当然ではある。
iPad で書く方法
単純に iPad で書くだけなら、Dropbox なり Google Drive なりに置いといて、markdown エディタを使って書くだけで事足りる。
が、それだと面白みが無いし、リアルタイムプレビューも結構好きで普段は左にエディタ、右にブラウザなスタイルで書いているので Hugo を動かせるサーバーが欲しい。あと、CLI 環境がないと commit するのに若干トリッキーなことをしないといけない気がする。
となると無料枠のある GCP を使えば解決だ!というところに着地した。お金がある方は AWS にどうぞ。
GCP の無料枠
GCP の無料枠は、us-xx
リージョンの micro が対象。この記事とかを見ればハマることなく作れる、ハズ。
GCE の無料枠のサーバを立るときに、初見でハマりそうなところ - Qiita
僕が最初に作ったときは、鍵認証周りでハマった記憶がある。
micro はかなりしょぼく、以前 Vue.js のプロダクトを build しようとしたらメモリが足りなくて諦めた記憶があるが、Hugo を動かすくらいなら何ら問題ない。
Hugo のバイナリを取得する
この記事を書き始めた時は「まぁ普通に Docekr 入れるっしょ!」みないなノリで Dockerfile を準備していたのだが、Hugo を build しようとしたら、メモリが足りずに死んだ。micro やっぱりしょぼい。
なので、普通に GitHub からリリースビルドを取得してきて、PATH が通っているところに配置する。本当は/usr/local/bin
とかに置くのが普通なんだろうけど、なんか権限周りで詰んだ?ので、一旦スンナリ置ける場所に置いた。
$ wget https://github.com/gohugoio/hugo/releases/download/v0.52/hugo_0.52_Linux-64bit.tar.gz
$ tar -zxf hugo_0.52_Linux-64bit.tar.gz
$ sudo mv hugo /opt/bin
あとは自分の環境の--baseURL
に合わせてあげれば、普通にネットワーク越しに使える。iPad ローカルで動かせるのが一番いいんだけど、多分これが限界だと思う。
$ hugo server -w -D --bind 0.0.0.0 --baseURL https://example.com
ちなみに例ではドメインで書いたけど、僕はドメイン当ててないので、普通に GIP を渡している。
この記事を書きながら、build が死ぬんなら DockerHub に置いとけばいいじゃんという考えが一瞬よぎったがめんどくさいのでやめた。
とりあえずこれで iPad からブログを書くという目的は達した。ちなみに iPad からは Coda を使っている。IDE なので、ターミナルも使えるしエディタも使える。ファイルは SFTP でやり取り出来るので、非常に便利。
おわりに
今回かなり雑に書いてしまった感じがあるので、時間がある時に GCP インスタンスの立ち上げからちゃんと書きたい。立てたのが結構前で、自分の中でも結構忘れてる感じがあるし。
今回 GUI で立ち上げちゃったけど、これ infrastructure as code で管理できるんだろか?
GCP 詳しいマン、教えてクレメンス。