Docker で Libreboard 動かしてみた
昨日「 オープンソースのTrelloクローン Libreboard | Ryuzee.com 」の記事を読んで面白そうだと思ったので、 Docker で動かしてみた。一手間かかったけど動かすことはできたので、以下その手順。 Docker はインストールされてることを前提
Libreboard のリポジトリをクローンして手元に落としてくる
git clone https://github.com/libreboard/libreboard.git
落としてきた Libreboard のディレクトリに移動し Docker イメージを作成する
cd libreboard docker build -t libreboard .
Libreboard は MongoDB をデータ保存に使用しているので、 MongoDB の Docker イメージも用意して起動しておく
docker pull mongo docker run --name mymongo -d mongo
環境によっては起動時に
numactl: This system does not support NUMA policy
といわれて起動できないことがあるので、その場合はdocker run --name mymongo --entrypoint=mongod -d mongo
という形で直接 MongoDB を起動するとよい(参考: mongodb - Docker: Mongo exits on run - Stack Overflow )
あらかじめ作成しておいた Libreboard の Docker イメージを使ってコンテナを起動する
docker run -dit --link mymongo:mongo -e ROOT_URL="http://example.com" -p 5555:8080 libreboard sh -c 'export MONGO_URL=mongodb://$MONGO_PORT_27017_TCP_ADDR:$MONGO_PORT_27017_TCP_PORT/libreboard; /meteor-run.sh'
docker の
--link
オプションを使うと、起動したコンテナ内に link で接続した先のコンテナから環境変数が渡されてくるので、それを使ってMONGO_URL
環境変数を定義する。 Docker の-e
オプションだとコンテナ内部の変数は展開できなさそうだったため、コマンド実行時に定義している。ROOT_URL
はとりあえず適当なものに。
上記の手順後、 Docker サーバの 5555 ポートにウェブブラウザでアクセスすると、めでたくログイン画面が表示された
Libreboard 自体は確かにまだまだ機能不足な点が否めないが、使い勝手はよさそうだったので今後が楽しみである