概要
人気のWikiプラットフォームであるGrowiをDockerで構築する
環境
環境は自宅サーバー上のCentOSの仮想マシンをたてて、その上にDockerでGrowiを構築していく。
Software | version |
---|---|
CentOS | 7.5 |
Docker | 18.09.0 |
Docker-Compose | 1.18.0 |
dockerインストール
Dockerのレポジトリを登録してyumでインストール
$ curl -O https://download.docker.com/linux/centos/docker-ce.repo
$ mv docker-ce.repo /etc/yum.repos.d/
$ yum install docker-ce
インストールが正常にできているか確認してサービス起動
$ docker --version
Docker version 18.09.0, build 4d60db4
$ systemctl start docker
docker-composeインストール
$ yum install docker-compose
インストールが正常にできているか確認
$ docker-compose --version
docker-compose version 1.18.0, build 8dd22a9
Growi構築
Dockerを使う準備ができたので、続いてGrowiを導入していく
今回は/opt/docker以下に作っていく。
$ mkdir -p /opt/docker
$ cd /opt/docker
$ git clone https://github.com/weseek/growi-docker-compose.git
$ cd growi-docker-compose
docker-compose.ymlを編集していく。
サーバーの外からもアクセスできるようにしたいので、127.0.0.1は削除する。
また、PASSWORD_SEEDも適当なものに変更する。
version: '3'
services:
app:
build:
context: .
dockerfile: ./Dockerfile
ports:
# - 127.0.0.1:3000:3000 # localhost only by default
- 3000:3000
links:
- mongo:mongo
- elasticsearch:elasticsearch
depends_on:
- mongo
- elasticsearch
environment:
- MONGO_URI=mongodb://mongo:27017/growi
- ELASTICSEARCH_URI=http://elasticsearch:9200/growi
# - PASSWORD_SEED=changeme
- PASSWORD_SEED=tekitounapassword
そして起動
3000番ポートで稼働していることが確認できる
$ docker-compose up -d
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8c1e392248e6 growidockercompose_app "/docker-entrypoint.…" 13 seconds ago Up 12 seconds 0.0.0.0:3000->3000/tcp growidockercompose_app_1
4e1dfda152dd mongo:3.4 "docker-entrypoint.s…" About a minute ago Up 13 seconds 27017/tcp growidockercompose_mongo_1
26bb1b3fafaf elasticsearch:5.3-alpine "/docker-entrypoint.…" About a minute ago Up 13 seconds 9200/tcp, 9300/tcp growidockercompose_elasticsearch_1
ブラウザでアクセスすると初回画面にリダイレクトされるので、ユーザー情報を入力する。
ここに登録したアカウントは管理者権限が自動的に付与される。
アカウント情報を入れるとgrowiの設定画面に遷移して、wikiとして利用できるようになる
まとめ
Wikiサイトとして人気のあるGrowiをDockerで構築した。
ありがたくもdocker-compose.ymlがgithub上にあるので、数コマンドで簡単に構築できた。
次回は、Growiのファイルアップロード先としてS3を連携する記事を書く。