🐼

【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