この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 \
bakudankun/crowi
と実行し、http://localhost:8080にアクセスすると使えるようになります。たぶん。
MongoDBのコンテナをdbとして、Redisのコンテナをredisとして、Elasticsearchのコンテナをesとしてリンクできるようにしてあるので、例えば以下のようにdocker-compose.ymlを書き、docker-compose upを実行すればhttp://localhost:8080にアクセスして使えるようになります。
version: '2'
services:
crowi:
image: bakudankun/crowi:latest
links:
- mongo:db
- redis:redis
- elasticsearch:es
ports:
- 8080:3000
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
コンテナのアップデートは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を指定できます。コンテナの/dataをボリュームとして登録してあります。中にはPASSWORD_SEEDを保存するconfigファイルとFILE_UPLOADがlocalの時にアップロードされたファイルを保存するuploadsディレクトリがあります。
このボリュームが失われるとPASSWORD_SEEDが失われることにより管理者を含めた既存ユーザーがCrowiにログインできなくなるので注意してください。
PASSWORD_SEED環境変数を指定するか、docker run時に-v crowidata:/dataなどとしておくと次のときも同様に起動できるので良いと思います。
Content type
Image
Digest
Size
365.2 MB
Last updated
over 8 years ago
docker pull bakudankun/crowi