dockerとgitlabを使ったお手軽CMS環境構築 その1

結構前の話ですが、ブログをおうちサーバのWordpressからConohaのVPS上にdockerを使用し、hexoを構築した環境へと移行しました。
その過程で色々とdockerの長所的な物を利用したブログ更新環境を構築したのでメモ。

本文を書いていたところかなりの長文になってしまったため、4記事くらいに分割しました。

移行のきっかけ

  • Wordpressの脆弱性対応の手間
  • Wordpressの記事の書きにくさ
  • 自宅サーバの老朽化

一番大きかった要因が2つめの 記事の書きにくさ でした。
WebUI上で書くのですが、私のPCではブラウザをフル画面表示ではなく、1280*1024程度のサイズにして使用しています。そうするとUIがかなりきつきつで書きにくいのです。
UIもきつきつですが、私の場合Wordpressで記事を更新するときは、画像の挿入などで記事編集のテキストモードとビジュアルモードを入ったり来たりしていたため、あまり効率的ではありませんでした。

また、サーバの老朽化も進んでおり、購入から5年以上経過していました。webサイトをWpからhexoへ移行する際、サーバをVPS上へと移行しました。

移行時に実現したかったこと

  • 記事をパソコン一つあれば外出先からでも更新出来る環境
  • なるべく記事更新がシンプルにできること
  • 管理の手間を減らす
  • IPv6環境は引き続き対応

最終目標

  1. Cloud9上からhexo deployを実施しただけで、gitlab上へ公開データを転送。
  2. gitlabがpushを検知し、VPS上へwebhookを投げる
  3. VPS上のwebhookサーバがwebhookを受信し、webコンテナを再起動。再起動時に最新の公開データをgitlabからclone
  4. 最新のweb公開データを持ったコンテナが自動起動

    つまり、ブログの更新ユーザはcloud9上でhexo deployだけで、常にweb公開データを持ったコンテナが自動再起動される素敵環境を構築します。

結果

  • やりたいことは全て実現出来た

ついでに実現できちゃった事

  • HTTPSへの対応。しかもHSTS対応まで出来てしまった。万歳🙌
  • HTTP/2(SPDY4)への対応。⚡

環境の構築については次の記事から記述していきます。