14
22

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

おしゃれなMarkdown対応wiki : Growiを構築運用する

Posted at

ローカルで運用できる,Wikiをずっと探していたのですが,Growiが非常に使いやすくてUIもオシャレなので,今回はDockerを使って導入・運用をDocker初心者が行って行きます.

growi.png

Growi | Official Page

導入

GitHubにdocker-compose版が公式に公開されているので,それをcloneする.

$ git clone https://github.com/weseek/growi-docker-compose.git

公開するような設定

デフォルトでは,localhostでしか動作しないようにdocker-comopose.ymlが記述されているので,

services:
  app:
    ports:
      - 127.0.0.1:3000:3000

の部分を

services:
  app:
    ports:
      - 3000:3000

に変更しておくと,そのサーバのIPアドレスでGrowiにアクセスが可能になる.

ファイルのアップロード設定

デフォルトでは,AWSでの運用が想定されているので,docker-compose.ymlFILE_UPLOAD=localを有効にする.

environment:
  - MONGO_URI=mongodb://mongo:27017/growi
  - ELASTICSEARCH_URI=http://elasticsearch:9200/growi
  - PASSWORD_SEED=changeme
  - FILE_UPLOAD=local    # activate this line if you use local storage of server rather than AWS
  # - MATHJAX=1            # activate this line if you want to use MathJax
  # - PLANTUML_URI=http:// # activate this line and specify if you use your own PlantUML server rather than public plantuml.com

起動

$ docker-compose up -d

growi login.png

バックアップ

Database

growiに必要なコンテナを全て起動した状態で,

$ docker run -it --rm --link growi_mongo_1 --network growi_default --volume $(pwd):/backup mongo bash -c "mongodump -v --host growi_mongo_1 --db growi --out /backup"

これで,カレントディレクトリの直下に/growiディレクトリが生成されます.
中には,ユーザ情報や記事情報が保存されています.

Uploaded Files

アップロードファイルは,growiのコンテナIDをdocker psで調べて,

$ docker cp {growiのコンテナID}:/data .

これで,カレントディレクトリの直下にdataディレクトリが生成されます.
中には,アップロードファイルが保存されています.

PASSWORD_SEEDの取り出し

パスワードハッシュ用の環境変数PASSWORD_SEEDを取得しておかないと,移行先のgrowiを初回起動したときに,自動生成されログインできなくなります.私は,docker-compose.ymlに値を設定しているのでそれを用います.

リストア

バックアップで生成した/growiを用いて.

$ docker run -it --rm --link growi_mongo_1 --network growi_default --volume $(pwd):/backup mongo bash -c "mongorestore -v --host growi_mongo_1 --db growi backup/growi"
$ docker-compose restart

ファイルも同じように/dataを用いて.

docker cp ./data {growiのコンテナID}:.

以上で私の場合は復旧できました!!

14
22
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
22

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?