このDockerイメージはオープンソースのWikiサーバーアプリCrowiをDocker上で使えるようにしたものです。
Dockerfiledocker run --name some-crowi -p 8080:3000 -d \
-e MONGO_URI=mongodb://MONGODB_HOST:MONGODB_PORT/some-crowi \
-e REDIS_URL=redis://REDIS_HOST:REDIS_PORT/some-crowi \
-e ELASTICSEARCH_URI=http://ELASTICSEARCH_HOST:ELASTICSEARCH_PORT/some-crowi \
aruneko/docker-crowi
と実行し、http://localhost:8080にアクセスすると使えるようになります。たぶん。
MongoDBのコンテナをdbとして、Redisのコンテナをredisとして、Elasticsearchのコンテナをesとしてリンクできるようにしてあるので、例えば以下のようにdocker-compose.ymlを書き、docker-compose up -dを実行すればhttp://localhost:3000にアクセスして使えるようになります。
version: '3'
services:
crowi:
image: aruneko/docker-crowi:latest
links:
- mongo:db
- redis:redis
- elasticsearch:es
ports:
- 3000:3000
environment:
- MATHJAX=1
volumes:
- crowi_data:/data
mongo:
image: mongo
volumes:
- mongo_configdb:/data/configdb
- mongo_db:/data/db
redis:
image: redis:alpine
volumes:
- redis_data:/data
elasticsearch:
image: elasticsearch:5
# プラグインのKuromojiが必要
entrypoint:
- bash
- -c
- >-
bin/elasticsearch-plugin list | grep -q analysis-kuromoji
|| bin/elasticsearch-plugin install analysis-kuromoji
&& exec /docker-entrypoint.sh $$0 $$@
command: elasticsearch
volumes:
- es_data:/usr/share/elasticsearch/data
- es_config:/usr/share/elasticsearch/config
volumes:
crowi_data:
mongo_configdb:
mongo_db:
redis_data:
es_data:
es_config:
コンテナのアップデートはdocker-compose pull && docker-compose upで。
PORT: コンテナ側のポート。デフォルトは3000。普通弄る必要はありません。MONGO_URI: MongoDBに接続するためのURI。dbコンテナをリンクする場合は必要ありません。REDIS_URL: Redisのセッションストアに接続するためのURI。redisコンテナをリンクする場合は必要ありません。無くても一応起動できますが非推奨です。ELASTICSEARCH_URI: Elasticsearchでページ検索できるようにするためのURI。esコンテナをリンクする場合は必要ありません。無い場合は検索機能が無効になります。プラグインのKuromojiが必要なことに注意してください。PASSWORD_SEED: ユーザーのパスワードからハッシュを生成するときにつかう種です。指定しなくても自動生成します。これが変更されると既に登録しているユーザーがログインできなくなるので注意してください。SECRET_TOKEN: 署名されたcookieを確認するための秘密鍵。FILE_UPLOAD: デフォルトでlocalになっています。awsやnoneを指定できます。MATHJAX: 1に設定するとMathJaxが利用できます。コンテナの/dataをボリュームとして登録してあります。中にはPASSWORD_SEEDを保存するconfigファイルとFILE_UPLOADがlocalの時にアップロードされたファイルを保存するuploadsディレクトリがあります。
このボリュームが失われるとPASSWORD_SEEDが失われることにより管理者を含めた既存ユーザーがCrowiにログインできなくなるので注意してください。
PASSWORD_SEED環境変数を指定するか、docker run時に-v crowidata:/dataなどとしておくと次のときも同様に起動できるので良いと思います。
Content type
Image
Digest
Size
356.3 MB
Last updated
over 9 years ago
docker pull aruneko/docker-crowi