gollum + docker + Kitematicでローカル環境にWikiを建てる

個人的なメモ取り環境としてWikiが欲しいな、と思ったので建てました。

以下macOSで作業していますが、LinuxやWindows環境でも大きく変えるところなく使えると思います。

Wikiエンジンにはgollumを使う

gollumはバックエンドにGitを使っているシンプルなWikiです。

GFMで記述するようにもできますし、レポジトリに直接コミットしてもちゃんと拾ってくれるので、取り敢えず適当なテキストエディタで殴り書いたメモを取り込む場合にも手間があまりかかりません。

勿論複数人でバリバリ使うような用途には向いていないかもしれませんが、個人的な用途で使う場合にはその手軽さが助かります。

Dockerで構築

一昔前ならローカルにLAMP環境を構築したり、VirtualBox等で仮想VMのLinuxを起動して〜となるところですが、今の我々にはDockerがあるのでそれを使います。

Dockerのインストールはここでは説明しませんが、特別なことはせず普通にインストールしておきます。

Gitリポジトリとdocker imageの作成

gollumのGitHub Wikiにドキュメントがあるので、そちらを参考にします。

今回は「~/docs/gollum-wiki/」というディレクトリの下に構築しました。ここにgollum用のGitリポジトリを作成します。

$ mkdir ~/docs/gollum-wiki
$ cd ~/docs/gollum-wiki
$ git init

Dockerfileは下記の内容で作成しました。

FROM ruby:latest
RUN apt-get -y update && apt-get -y install libicu-dev \
 && apt-get clean \
 && gem install gollum \
 && gem install github-markdown
VOLUME /gollum-wiki
WORKDIR /gollum-wiki
CMD ["gollum", "--port", "80"]
EXPOSE 80
$ git add Dockerfile
$ git commit -m 'add Dockerfile'

docker imageを作成します(元となるimageのダウンロードが始まります)。

$ docker build -t gollum-wiki .

最後に「Successfully built」と出力されれば成功です。

起動

ひとまず試験的に起動してみます(停止するときはCtrl-C)。

$ docker run -v `pwd`:/gollum-wiki -p 9980:80 gollum-wiki

ブラウザから http://localhost:9980/ にアクセスして、新規ページの作成画面が表示されれば成功です。

gollum上で作成されたページは最初に作成したリポジトリにcommitされていきますので、GitHubやBitbucket等適当なリモートリポジトリを追加してpushしてやることが可能です。

また、別途ファイルを作成してadd、commitしてやることで、gollum上でそれを拾うことができます(その場合は「Files」から表示)。
別途作成されたファイル(ドキュメント)をgollum上から編集することも勿論可能です。

Kitematicへの登録

使用するたびにコンソールから上記のコマンドラインを叩いても良いのですけど、せっかくなのでKitematicから起動できるようにします。

KitematicはMacの場合、メニューバーのアイコンから「Open Kitematic」を選択することで起動できます。
まだインストールされていなければ、表示されたダイアログにダウンロードリンクが貼ってありますので、そこからインストーラのダウンロードが可能です。

簡単に手順を書いておくと、

  • Kitematicを起動、最初はDocker Hubのアカウントを入れろと言ってくるが、不要であれば「SKIP FOR NOW」をクリック
  • 右上の「My Images」をクリック
  • 作成した「gollum-wiki」イメージのタイルが現れると思うので、それを「CREATE」

Kitematic_1

これだけでコンテナが起動します。
ただポートの設定やボリューム(フォルダ)の割り当てがされていないので、

  • 右上「Settings」をクリック
  • 「Ports」をクリック
  • DOCKER PORTに「80」と記入されている行のMAC IP:PORTの欄をお好みに(上述のコマンドラインと合わせるなら9980に)変更、「SAVE」
  • 「Volumes」をクリック
  • DOCKER FOLDERが「/gollum-wiki」になっている行の右端「CHANGE」をクリック、「~/docs/gollum-wiki/」を指定

Kitematic_2

設定変更・保存するたびにコンテナは自動的に再起動されます。

右上で「Home」に戻って、右ペインの「WEB PREVIEW」にWikiのページが表示されていたら完了です。

ちなみに

せっかく建てたはいいんですが、
弊社の場合、ローカル環境にメモを溜め込まずブログに吐き出せ、ということなので、今後あまり活用の機会はなさそうです。。。

最初の記事がいきなりAWSと関係なくてあれなんですが、
どこかのどなたかのお役に立てばと思い、ここに供養させて頂きます。