🐼
【Redmine】Docker on RedmineにRedmine Backlogs を導入
はじめに
- Dockerで立てたRedmineサーバーにRedmine Backelogsプラグインを導入しました。
- 他の方のブログで同じような記事はあるものの、それ通りにやればうまくいくというのがなく、複数の記事を参考にしながら試行錯誤をしたので手順を残しておきたいと思います。
- Redmine5, 6でも試しましたが、最終的にうまくいったのがRedmine4でした。やや古いですが、バージョンにこだわりはなかったので、4.1.7を採用しました。
Docker-compose.yml作成
プラグインを導入しても、データをマウントしない限りdocker compose down
で初期化されてしまうので、posgresqlをDBとして使い、ローカルのvolumeにマウントします。
- docker-compose.yml
services:
redmine:
image: redmine:4.1.7
container_name: redmine
restart: always
ports:
- "3000:3000"
volumes:
- ./redmine/files:/usr/src/redmine/files
# - ./redmine/config:/usr/src/redmine/config
- ./redmine/config.ru:/usr/src/redmine/config.ru
environment:
- RAILS_RELATIVE_URL_ROOT=/redmine
- REDMINE_DB_POSTGRES=redmine-db
- REDMINE_DB_DATABASE=redmine
- REDMINE_DB_USERNAME=redmine_user
- REDMINE_DB_PASSWORD=redmine_password
- REDMINE_SECRET_KEY_BASE=supersecretkey
- REDMINE_DB_PORT=5432
redmine-db:
image: postgres:15.1-bullseye
ports:
- 5432:5432
environment:
POSTGRES_DB: redmine
POSTGRES_USER: redmine_user
POSTGRES_PASSWORD: redmine_password
volumes:
- vol_redmine_db:/var/lib/postgresql/data
...
volumes:
vol_redmine_db:
driver: local
Docker起動
docker compose up -d redmine
Redmine Backlogs導入
- コンテナの中に入る
docker exec -it redmine /bin/bash
- pluginのクローン
git clone https://github.com/ayapapa/redmine_backlogs.git -b redmine4 plugins/redmine_backlogs
- Gemfile内のnokogiriバージョン定義をコメントアウト
sed -i.back 's/^\(gem "nokogiri".*\)/#\1/' plugins/redmine_backlogs/Gemfile
- labels.yaml設定ファイルを配置
cp -a plugins/redmine_backlogs/lib/labels/labels.yaml.default plugins/redmine_backlogs/lib/labels/labels.yaml
- パッケージの更新
apt -y update && apt -y install ruby-full build-essential
※これをしないと、次の導入用コマンドでエラーになります。
- 導入用コマンドを実施
bundle install --without development test
bundle exec rake redmine:plugins:migrate NAME=redmine_backlogs RAILS_ENV=production
- コンテナからexitし、Redmineを再起動
docker compose restart redmine
-
Redmineにアクセスし、このようなエラーが出ていれば導入はOK
-
管理 > プラグインからトラッカーを選択。
-
プロジェクトにBacklogsを含める
-
導入することができました。
Discussion