Redmine Redmine 最終更新日 2021/01/17( 日 ) 有名なプロジェクト管理ソフト 日本語もバッチリなので使いやすい ちなみに Bitnami 版しか使ったことない Docker といいつつ Podman で解説します 構築 https//github.com/bitnami/bitnami-docker-redmine Bitnami が作成している Docker イメージで簡単に構築可能 DB は MariaDB か PostgreSQL を選べるが Podman の場合は MariaDB が使えなかったので PostgreSQL DockerCompose 補足 ポート 13000 からアクセスする場合は ports を下記のように編集する redmine 'redmine_container' image 'bitnami/redmine4.1.1' ports -'130003000' プラグイン導入 Bitnami 版では必要最低限なライブラリしか入っておらず 各種プラグインで必要なライブラリは別途入れる必要がある ここでは例として ViewCustomize プラグインを入れるために Dockerfile を編集して専用のイメージを作成する 1. ファイル取得 リポジトリをクローンして取得する 普通に圧縮ファイルで取得して解凍しても OK https//github.com/bitnami/bitnami-docker-redmine ViewCustomize プラグインも同様に取得しておく https//github.com/onozaty/redmine-view-customize プラグインは後でコンテナにコピーするので 4/debian-10/ フォルダに置いておく 2. Dockerfile 編集 4/debian-10/ フォルダに移動し Dockerfile をエディタで開く まずは Nokogiri というライブラリを使用するためのパッケージをインストールさせるようにする https//nokogiri.org/tutorials/installing_nokogiri.html 必要なライブラリは build-essential patch ruby-dev zlib1g-dev liblzma 象になっているのでそれ以外を追加する # Install required system packages and dependencies RUN install_packages ( 長いので中略 ) build-essential patch ruby-dev liblzma-dev 次にプラグインをコンテナにコピーし インストールさせるようにする ぶっちゃけここの手順はやっつけなので もっと良い方法がありそうな気がする 散々苦労させられた Gemfile が削除されている ざまあないぜ! 2021-10-08 1/11
... RUN apt-get && apt-get update -y&&\ upgrade rm-r/var/lib/apt/lists /var/cache/apt/archives # ここから # Add Plugins WORKDIR /opt/bitnami/redmine COPY view_customize /opt/bitnami/redmine/plugins/view_customize RUN rm Gemfile.lock RUN bundle unset config deployment RUN bundle install # ここまで COPY rootfs /... 3. ビルド ビルドしてイメージを作成する podman build -tredmine_view1.0.0./ 終了後はイメージ一覧コマンドで作成され追加されているか確認する Podman だとたまにイメージ一覧になかったりしたことがあるので ビルド後に再起動するといいかも? 4. 使ってみる 実際に作成したイメージを使って ちゃんとプラグイン一覧に ViewCustomize があれば完了 ちなみに 2 個以上のプラグインを Dockerfile で入れたことないので やりたい人は自分の目で確かめてみよう! DockerCompose DockerCompose で Redmine 環境を構築しよう イメージ まずは使用するイメージ Redmine 本体は上記で紹介済みの Bitnami 製 Redmine を ViewCustomize プラグインに対応させた独自のイメデータベースは Bitnami 製 PostgreSQL リバースプロキシとして HttpsPortal を使用する HttpsPortal は自動で Let's Encrypt の証明書を取ってきてくれる機能があり かなり便利 Bitnami 製 PostgreSQL https//github.com/bitnami/bitnami-docker-postgresql HttpsPortal https//github.com/steveltn/https-portal 説明 コンテナごとに説明するよ! https-portal DOMAINS 'example.com ->http//redmine3000' 特定のドメインでアクセスされた場合に Redmine へリダイレクトさせる STAGE 'production' # Don't use production until staging works 本番環境の場合はこの STAGE に production を設定する 2021-10-08 2/11
そうすると Let's Encrypt へ証明書を取りに行き ちゃんとした Https で通信できるようになる テスト環境の場合はこの行自体をコメントアウトする そうすると HttpsPortal がオレオレ証明書を作り なんちゃって Https で通信できるようになる CLIENT_MAX_BODY_SIZE 10M 早い話アップロードできる最大サイズ 画像ならこれくらいで十分だと思う HSTS_MAX_AGE 15768000 Https でアクセスさせる postgresql -ALLOW_EMPTY_PASSWORD=yes -POSTGRESQL_USERNAME=bn_redmine -POSTGRESQL_DATABASE=bitnami_redmine Redmine 用のデータベース設定 なんかパスワードなしに見えるが 動いてるからヨシ! redmine -REDMINE_USERNAME=user -REDMINE_PASSWORD=password1234 -REDMINE_LANGUAGE=ja 初期ユーザーと環境設定 -REDMINE_DB_POSTGRES=postgresql -REDMINE_DB_USERNAME=bn_redmine -REDMINE_DB_NAME=bitnami_redmine データベース設定 depends_on -postgresql postgresql コンテナが起動してから redmine コンテナを起動させる docker-compose.yml version '3.8' services https-portal 'https-portal_container' image 'steveltn/https-portal1.16' ports -'8080' -'443443' DOMAINS 'example.com ->http//redmine3000' STAGE 'production' # Don't use production until staging works CLIENT_MAX_BODY_SIZE 10M HSTS_MAX_AGE 15768000 volumes -'https-portal_data/var/www/vhosts' -'https-portal_log/var/log/nginx' -'https-portal_logrotate/var/lib/logrotate' postgresql 'postgresql_container' image 'bitnami/postgresql13.1.0' -ALLOW_EMPTY_PASSWORD=yes 2021-10-08 3/11
-POSTGRESQL_USERNAME=bn_redmine -POSTGRESQL_DATABASE=bitnami_redmine volumes -'postgresql_data/bitnami/postgresql' redmine 'redmine_container' image 'localhost/redmine_view1.0.0' restart always -REDMINE_USERNAME=user -REDMINE_PASSWORD=password1234 -REDMINE_LANGUAGE=ja -REDMINE_DB_POSTGRES=postgresql -REDMINE_DB_USERNAME=bn_redmine -REDMINE_DB_NAME=bitnami_redmine volumes -'redmine_data/bitnami' depends_on -postgresql volumes https-portal_data driver local https-portal_log driver local https-portal_logrotate driver local postgresql_data driver local redmine_data driver local 起動 起動後 HttpsPortal で設定したドメインにアクセスして画面が表示されていれば完了 ViewCustomize プラグイン Redmine の見た目をカスタマイズできる神プラグイン このサイトでもがっつり使ってます インストール https//github.com/onozaty/redmine-view-customize ( インスコのやり方はリンク先で ) サンプル 有用なものをピックアップ! トップメニューのヘルプを非表示 パスのパターン 種別 CSS div #top-menu a.help { display none ; } プロジェクトの活動を非表示 パスのパターン /projects/ 2021-10-08 4/11
種別 CSS.activity { display none!important ; } wiki の外部リンクを別ウィンドウで開く パスのパターン /wiki[/]* 種別 JavaScript $(function (){ $('a[href^=http] ').attr ('target ','_blank '); }); 2021-10-08 5/11
Docker といいつつ Podman で解説します 構築 https//github.com/bitnami/bitnami-docker-redmine Bitnami が作成している Docker イメージで簡単に構築可能 DB は MariaDB か PostgreSQL を選べるが Podman の場合は MariaDB が使えなかったので PostgreSQL DockerCompose 補足 ポート 13000 からアクセスする場合は ports を下記のように編集する redmine 'redmine_container' image 'bitnami/redmine4.1.1' ports -'130003000' プラグイン導入 Bitnami 版では必要最低限なライブラリしか入っておらず 各種プラグインで必要なライブラリは別途入れる必要がある ここでは例として ViewCustomize プラグインを入れるために Dockerfile を編集して専用のイメージを作成する 1. ファイル取得 リポジトリをクローンして取得する 普通に圧縮ファイルで取得して解凍しても OK https//github.com/bitnami/bitnami-docker-redmine ViewCustomize プラグインも同様に取得しておく https//github.com/onozaty/redmine-view-customize プラグインは後でコンテナにコピーするので 4/debian-10/ フォルダに置いておく 2. Dockerfile 編集 4/debian-10/ フォルダに移動し Dockerfile をエディタで開く まずは Nokogiri というライブラリを使用するためのパッケージをインストールさせるようにする https//nokogiri.org/tutorials/installing_nokogiri.html 必要なライブラリは build-essential patch ruby-dev zlib1g-dev liblzma 象になっているのでそれ以外を追加する # Install required system packages and dependencies RUN install_packages ( 長いので中略 ) build-essential patch ruby-dev liblzma-dev 次にプラグインをコンテナにコピーし インストールさせるようにする ぶっちゃけここの手順はやっつけなので もっと良い方法がありそうな気がする 散々苦労させられた Gemfile が削除されている ざまあないぜ!... RUN apt-get && apt-get update -y&&\ upgrade rm-r/var/lib/apt/lists /var/cache/apt/archives # ここから # Add Plugins WORKDIR /opt/bitnami/redmine COPY view_customize /opt/bitnami/redmine/plugins/view_customize RUN rm Gemfile.lock RUN bundle unset config deployment RUN bundle install # ここまで 2021-10-08 6/11
COPY rootfs /... 3. ビルド ビルドしてイメージを作成する podman build -tredmine_view1.0.0./ 終了後はイメージ一覧コマンドで作成され追加されているか確認する Podman だとたまにイメージ一覧になかったりしたことがあるので ビルド後に再起動するといいかも? 4. 使ってみる 実際に作成したイメージを使って ちゃんとプラグイン一覧に ViewCustomize があれば完了 ちなみに 2 個以上のプラグインを Dockerfile で入れたことないので やりたい人は自分の目で確かめてみよう! 2021-10-08 7/11
DockerCompose DockerCompose で Redmine 環境を構築しよう イメージ まずは使用するイメージ Redmine 本体は上記で紹介済みの Bitnami 製 Redmine を ViewCustomize プラグインに対応させた独自のイメデータベースは Bitnami 製 PostgreSQL リバースプロキシとして HttpsPortal を使用する HttpsPortal は自動で Let's Encrypt の証明書を取ってきてくれる機能があり かなり便利 Bitnami 製 PostgreSQL https//github.com/bitnami/bitnami-docker-postgresql HttpsPortal https//github.com/steveltn/https-portal 説明 コンテナごとに説明するよ! https-portal DOMAINS 'example.com ->http//redmine3000' 特定のドメインでアクセスされた場合に Redmine へリダイレクトさせる STAGE 'production' # Don't use production until staging works 本番環境の場合はこの STAGE に production を設定する そうすると Let's Encrypt へ証明書を取りに行き ちゃんとした Https で通信できるようになる テスト環境の場合はこの行自体をコメントアウトする そうすると HttpsPortal がオレオレ証明書を作り なんちゃって Https で通信できるようになる CLIENT_MAX_BODY_SIZE 10M 早い話アップロードできる最大サイズ 画像ならこれくらいで十分だと思う HSTS_MAX_AGE 15768000 Https でアクセスさせる postgresql -ALLOW_EMPTY_PASSWORD=yes -POSTGRESQL_USERNAME=bn_redmine -POSTGRESQL_DATABASE=bitnami_redmine Redmine 用のデータベース設定 なんかパスワードなしに見えるが 動いてるからヨシ! redmine -REDMINE_USERNAME=user -REDMINE_PASSWORD=password1234 -REDMINE_LANGUAGE=ja 初期ユーザーと環境設定 -REDMINE_DB_POSTGRES=postgresql -REDMINE_DB_USERNAME=bn_redmine 2021-10-08 8/11
-REDMINE_DB_NAME=bitnami_redmine データベース設定 depends_on -postgresql postgresql コンテナが起動してから redmine コンテナを起動させる docker-compose.yml version '3.8' services https-portal 'https-portal_container' image 'steveltn/https-portal1.16' ports -'8080' -'443443' DOMAINS 'example.com ->http//redmine3000' STAGE 'production' # Don't use production until staging works CLIENT_MAX_BODY_SIZE 10M HSTS_MAX_AGE 15768000 volumes -'https-portal_data/var/www/vhosts' -'https-portal_log/var/log/nginx' -'https-portal_logrotate/var/lib/logrotate' postgresql 'postgresql_container' image 'bitnami/postgresql13.1.0' -ALLOW_EMPTY_PASSWORD=yes -POSTGRESQL_USERNAME=bn_redmine -POSTGRESQL_DATABASE=bitnami_redmine volumes -'postgresql_data/bitnami/postgresql' redmine 'redmine_container' image 'localhost/redmine_view1.0.0' restart always -REDMINE_USERNAME=user -REDMINE_PASSWORD=password1234 -REDMINE_LANGUAGE=ja -REDMINE_DB_POSTGRES=postgresql -REDMINE_DB_USERNAME=bn_redmine -REDMINE_DB_NAME=bitnami_redmine volumes -'redmine_data/bitnami' depends_on -postgresql volumes https-portal_data driver local https-portal_log driver local https-portal_logrotate driver local postgresql_data driver local redmine_data driver local 2021-10-08 9/11
起動 起動後 HttpsPortal で設定したドメインにアクセスして画面が表示されていれば完了 2021-10-08 10/11
Powered by TCPDF (www.tcpdf.org) ViewCustomize プラグイン Redmine の見た目をカスタマイズできる神プラグイン このサイトでもがっつり使ってます インストール https//github.com/onozaty/redmine-view-customize ( インスコのやり方はリンク先で ) サンプル 有用なものをピックアップ! トップメニューのヘルプを非表示 パスのパターン 種別 CSS div #top-menu a.help { display none ; } プロジェクトの活動を非表示 パスのパターン /projects/ 種別 CSS.activity { display none!important ; } wiki の外部リンクを別ウィンドウで開く パスのパターン /wiki[/]* 種別 JavaScript $(function (){ $('a[href^=http] ').attr ('target ','_blank '); }); 2021-10-08 11/11