読者です 読者をやめる 読者になる 読者になる

らくがきちょう

なんとなく

高機能 Wiki「Crowi」を Docker で手軽に試す

Docker

Crowi はデフォルトで Markdown のリアルタイムプレビューが使える、非常に完成度の高い Wiki です。

ローカルにインストールする場合は Node.js や MongoDB をインストールする必要があります。Docker イメージを利用すれば手軽に Crowi を試すことが出来ます。

Docker のインストール

yumapt を使って Docker をインストールしておきます。インストール後に docker エンジンが停止している場合は開始しておきます。

systemctl start docker.service

Docker Compose のインストール

Docker Compose もインストールしておきます。

curl -L https://github.com/docker/compose/releases/download/1.11.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

docker-compose.yaml の用意

以下の内容で docker-compose.yaml を用意します。Crowi イメージの /data をローカルファイルシステム/opt/crowi にマウントしています。こうすることでデータを永続化するようにします。

version: '2'

services:
  crowi:
    image: bakudankun/crowi:latest
    links:
      - mongo:db
      - redis:redis
      - elasticsearch:es
    ports:
      - 8080:3000
    volumes:
      - "/opt/crowi:/data"

  mongo:
    image: mongo

  redis:
    image: redis:alpine

  elasticsearch:
    image: elasticsearch:2
    # プラグインのKuromojiが必要
    entrypoint:
      - bash
      - -c
      - >-
        bin/plugin list | grep -q analysis-kuromoji
        || bin/plugin install analysis-kuromoji
        && exec /docker-entrypoint.sh $$0 $$@
    command: elasticsearch

Crowi を開始する

Dcoker Compose を使って Crowi を開始します。 バックグラウンドで実行させる為に -d オプションを指定してデーモン化します。

docker-compose up -d

Crowi にアクセスする

docker-compose.yamlports 定義で 8080 番ポートを指定している為、Crowi は 8080/TCP を Listen しています。ブラウザから「http://xxx.xxx.xxx.xxx:8080」へアクセスすると以下のように表示されます。ユーザー ID、名前、メールアドレス、パスワードを入力したら 作成 をクリックして先に進みます。

f:id:sig9:20170305022250p:plain

以下のような画面に遷移すればログイン成功です。 管理 メニューから全体の設定を済ませたらポータルやページを作成していきます。

f:id:sig9:20170305022541p:plain