自宅サーバにGhost入れてブログ作成
ブログにCMSを使おう
blogはgatsbyをSSGして使っていたのですが、いちいちページ生成してデプロイするのが面倒。
CMS使って、記事をすぐ配信できたらいいんじゃない?と思ってOSSのCMSを探していて、見つけたのがコレ。
自宅サーバにdocker-composeでデプロイ
すでに「マンガ新刊チェック!」用にAPIサーバを自宅に用意していたので、使えるマシンはあります。
ということで、docker-compose
を使ってサクッとデプロイしてみます。
version: '3.1'
services:
ghost:
image: ghost:latest
restart: always
ports:
- 88:2368
volumes:
- ./ghost:/var/lib/ghost/content
environment:
# see https://ghost.org/docs/config/#configuration-options
database__client: mysql
database__connection__host: db
database__connection__user: root
database__connection__password: password
database__connection__database: ghost
# this url value is just an example, and is likely wrong for your environment!
url: https://ghost.bitto.jp
# contrary to the default mentioned in the linked documentation, this image defaults to NODE_ENV=production (so development mode needs to be explicitly specified if desired)
#NODE_ENV: development
db:
image: mysql:8.0
restart: always
environment:
MYSQL_ROOT_PASSWORD: password
volumes:
- ./mysql:/var/lib/mysql
なんと、Ghost
とMySQL
の設定定義だけで使える状態に・・・!!
初期設定
まずは/ghost
から管理者ユーザを登録すれば使えるようになります。
/ghost/#/settings/general
から、サイトのタイトル名、タイムゾーンなどを設定するだけでとりあえずは使える状態になりました。
超イージー!
これで記事書く心理障壁が低くなりました。
更新頑張ろう。
基本機能の紹介
こんなに簡単設定なんですが、ブログ配信するためのCMSとしては必要な機能を抑えてあります。
- 記事にドラフト/公開/公開予約の設定ができる
- 予約投稿機能で、指定日時に公開される
- 記事検索機能
- タグ
- 複数つけられるが、デザイン・テーマによっては1つしか出てこない
- 静的ページの設定: プライバシーポリシーなど
- きれいなデザインテンプレート
- 無料のテンプレート数はそんなに多くない
- 有料の秀逸なデザインが沢山ある
- 簡易SEO対策
- SSR(Server Side Rendering)
- Twitter用のサムネイルや記事概要などを自動生成
- 購読登録(メンバー管理)、メール通知
なので、ほぼ何も考えずにイカしたサイトが出来上がります。
自前サーバでブログを瞬時に作成可能。
すごい時代だ・・・!!