背景
プロジェクト管理で、以下の条件を満たして課題・タスクを管理できるツールを探していたところ、Redmineにプラグインを追加することで条件を満たしそうだったので、Dockerを使ってサクッとRedmine環境を構築してみた。
- 前提条件
- 無料
- 課題とタスクの紐づけ
- タスクをかんばんで表示
- タスクをガントチャートで表示
構築環境
- OS : Ubunt 20.04.4 LTS
- Docker : 20.10.17, build 100c701
- Docker compose : version 1.29.1, build c34c88b2
プラグイン
以下のプラグインを追加した。(プラグインの詳細については、別にまとめる)
- issue templates
チケットのテンプレートを作成できるプラグイン
https://github.com/akiko-pusu/redmine_issue_templates - absolute dates
チケットの作成日や更新日の表示を変更するプラグイン
絶対日付で「YYYY/MM/DD」(例:2020/10/01)のように表示されるようになる
https://github.com/suer/redmine_absolute_dates - redmine_issues_panel
チケットをかんばんで表示
複数ユーザのチケットを、ユーザごとに分けて表示することができる
https://github.com/happy-se-life/kanban - チケットパネル(Redmine Issues Panel)
チケットをかんばんで表示
かんがんでひょうじするさいに、チケットに表示できる情報が多い
https://github.com/redmica/redmine_issues_panel
テーマ
以下のテーマを追加した。
- farend bleuclair
https://github.com/farend/redmine_theme_farend_bleuclair
構築
RedmineはDBを使う。
SQliteでも構築できるらしいけど、RedmineをDockerで構築しているので、DBもついでにDockerで構築してしまう。
コンテナが2つになったので、Docker composeを利用する。
バージョン選定
- Redmien
最新バージョン(2022/10時点)は、5.0系だったが、利用予定のpluginが4.2系までしか対応していなかったので、4.2を採用した。 - DB
こだわりはなかったので、適当にmysqlの5.7を採用
フォルダ構成
redmine
├─ data
│ └─ db : redmineのデータを保存する環境
│ └─ plugins : redmineで使用するプラグインを保存
│ │ ├─ kanban
│ │ ├─ redmine_issues_panel
│ │ ├─ redmine_issue_checklist
│ │ ├─ redmine_issue_templates
│ │ ├─ redmine_issues_tree
│ │ └─ redmine_issues_panel
│ ├─ themes : redmineの表示テーマを変更する際に、利用テーマを保存
│ │ └─ bleuclair
│ ├─ files : 各チケットに添付したファイルや画像データ
└─ docker-compose.yaml
Docker compse
- Docker composeのバージョンは作成時に最新のバージョンだった3.8を指定。
- mysqlは、デフォルトの文字コードがlatin1になっているそうなので(未確認)、utf-8を指定。これを指定しないと、Redmineのチケットステータスなどで日本語を使用できない。
mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci
version: '3.8'
services:
redmine:
image: redmine:4.2.8
ports:
- 8888:3000
volumes:
- ./data/files:/usr/src/redmine/files
- ./data/plugins:/usr/src/redmine/plugins
- ./data/themes:/usr/src/redmine/public/themes
environment:
REDMINE_DB_MYSQL: db
REDMINE_DB_PASSWORD: example
REDMINE_SECRET_KEY_BASE: supersecretkey
db:
image: mysql:5.7
volumes:
- ./data/db:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: example
MYSQL_DATABASE: redmine
command: mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci
起動
user@server:/home/com/redmine$ docker-compose up -d
起動&ログインできました!
※デフォルトユーザとパスワードはadmin, admin
参考にしたサイトなど
追記 2024/07/10
- 「各チケットに添付したファイルや画像データ」が格納されるディレクトリ(/usr/src/redmine/files)が、永続化の対象になっていなかったため、docker-compose.yamlを修正