Redmine に自分が気に入ったプラグインやテーマを詰め込んだものを簡単に構築できるように、Docker Compose を使って作ってみました。 発端や経緯などは下記の Qiita 記事を参照ください。
- Docker Compose を使って自分好みの Redmine 実行環境を作ってみた
- Redmine draw.io plugin がすごい便利そうなので紹介したい
- Docker Compose で作った Redmine だって Full Text Search plugin と ChupaText サーバーを連携させたい
以下の環境で動作確認しています。
- OS: Ubuntu 18.04
- Docker: 19.03.8
- Docker Compose: 1.25.4
-
リポジトリからファイル一式を取得して、Docker ホストの任意のディレクトリに格納します。
- 以降は
/opt/myfav-redmine
に格納した前提で説明します。
- 以降は
-
/opt/myfav-redmine/redmine/config/configuration.yml
にメールの設定などをします。- 設定の詳細は Redmineガイドのメールの設定 を参考にしてください。
- ビルドすると、このファイルが Redmine の Docker コンテナに取り込まれます。
-
Redmine 添付ファイルやログの出力先を以下のパスにバインドマウントしているので、必要に応じて
/opt/myfav-redmine/docker-compose.yml
の volumes を変更してください。- 添付ファイル:
/srv/redmine/files
- ログ
- Redmine 本体:
/var/log/redmine
- ChupaText サーバー:
/var/log/redmine-chupa-text
- Redmine 本体:
- 添付ファイル:
-
データベース名/ユーザー/パスワードを
/opt/myfav-redmine/docker-compose.yml
に直書きしているので、必要に応じて変更してください。(動作の確認する程度の利用であればそのままでもよいです) -
Redmine theme for kids / Kodomo Redmine と Redmine theme for kids midori version / Kodomo Redmine green version に追加フォントを組み込む場合、
/opt/myfav-redmine/redmine/optional/redmine_theme_kodomo/font
ディレクトリに ttf ファイルを配置してください。 -
以下のコマンドを実行して、Docker Compose からビルド・起動させます。
$ cd /opt/myfav-redmine $ docker-compose up -d --build
-
http://localhost:3000 にアクセスして、Redmine の初期設定を行います。
- データベースに登録されるタイプの設定は素の Redmine と同等です。そのため、デフォルトデータのロード も必要となります。
- 添付ファイルの全文検索を有効にするために、Full Text Search plugin の設定( http://localhost:3000/settings/plugin/full_text_search )に以下を追加してください。
- ChupaTextサーバーのURL: http://chupa-text:3000/extraction.json
- Redmine にプラグインやテーマを追加したいときは、
/opt/myfav-redmine/redmine/Dockerfile
を編集してください。(周辺の行を真似れば追加できると思います)docker-coompose down && docker compose up -d --build
で実行環境を更新できます。- Docker コンテナの起動時に毎回プラグインのマイグレート(
redmine:plugins:migrate
) がかかるようにしています。
- Docker コンテナの起動時に毎回プラグインのマイグレート(
- 機能として必須ではないですが、Web フロントエンドに Nginx などを置いて、Let's Encrypt などで HTTPS 化しておいた方が望ましいです。
- 僕は Nginx だけは Docker ホスト側にインストールしていて、バックエンドとしてこの Docker Compose 環境を動かしています。同じ Docker ホスト上に他にもいくつかサービスを動かしていることもあって、この構成の方が扱いやすかったという事情があります。
- 特にセキュリティ上の問題がなく、このあたりの設定が不慣れでしたらそのままでもよいですし、ホスト側にバインドするポート番号を 80 番に変更してもらってもよいです。
- リマインダーの設定は組み込んでいません。
- ChupaText サーバーのログをローテーションする仕組みは組み込んでいません。
サービス | 使用バージョン | 特記事項 |
---|---|---|
Redmine | 4.1 系の最新版 | 後述のプラグイン、テーマを追加インストール |
PostgreSQL | 12 系の最新版 | PGroonga、 TokenMecab を追加インストール |
ChupaText | 最新版 |
使用バージョンはすべて最新版です。
- Redmine Banner plugin
- Redmine Issue Badge plugin
- Redmine Issue Templates plugin
- Sidebar Hide Plugin
- Scheduling Poll plugin
- Full Text Search plugin
- DMSF
- Redmine Pivot Table plugin
- Redmine Logs plugin
- Redmine Theme Changer plugin
- Redmine Wiki Extensions Plugin
- Redmine Default Custom Query
- 初回起動時に有効にしていると起動エラーが発生するのでコメントアウトしています。初回起動を確認した後でコメントアウトを外すと利用できます。
- Redmine message customize plugin
- Redmine Drafts plugin
- 依存関係解決のため Redmine Base Deface plugin を追加している
- Redmine Drawio plugin
- View Customize plugin
- Redmine Issues Panel
- Redmine Stealth Plugin
- Redmine Enter Cancel plugin
- Redmine Work Time plugin
- Redmine XLSX format issue exporter
使用バージョンはすべて最新版です。
- Redmine用テーマ "farend bleuclair"
- Redmine用テーマ "farend basic"
- Redmine用テーマ "farend fancy"
- Redmine gitmike theme
- Redmine theme for kids / Kodomo Redmine
- Redmine theme for kids midori version / Kodomo Redmine green version
本リポジトリに格納している docker-compose.yml および Dockerfile は MIT です。(configuration.yml は Redmine 本体からコピーしてきているので Redmine のライセンスに従います) Redmine 本体やプラグイン、テーマおよび関連する Docker コンテナのサービス群についてはそれぞれのライセンスに従います。