DockerでRedmineを楽々構築・運用する方法
この記事は
Redmine Advent Calendar 2025の12/7の記事です。
Docker ComposeでRedmineを簡単に構築する方法を紹介します。
Redmineを使ってみたいけど、セットアップが面倒だと感じている方はお試しください。
前提条件
Dockerがインストールされていること。
WindowsやMacのDocker Desktop等、またはLinuxでDockerとDocker Composeが利用可能な環境を用意してください。
LinuxへのDockerインストール手順については以前に書いた記事を参考にしてください。
細かい説明は不要なので、手っ取り早く起動したい
細かい説明は省くと、以下の3行のコマンドでRedmineを構築、起動できます。
git clone https://github.com/haru/redmine-compose.git
cd redmine-compose
docker compose up
実行すると、数分で以下のような出力が出ます。
redmine-1 | Puma starting in single mode...
redmine-1 | * Puma version: 7.1.0 ("Neon Witch")
redmine-1 | * Ruby version: ruby 3.4.7 (2025-10-08 revision 7a5688e2a2) +PRISM [aarch64-linux]
redmine-1 | * Min threads: 0
redmine-1 | * Max threads: 5
redmine-1 | * Environment: production
redmine-1 | * PID: 1
redmine-1 | * Listening on http://0.0.0.0:3000
redmine-1 | Use Ctrl-C to stop
ブラウザで http://localhost:3000 にアクセスすると、Redmineのログイン画面が表示されます。

redmine-composeとは
Docker ComposeでRedmineを簡単に起動するためのテンプレートです。
- DBはPostgreSQLを使用
- 環境変数による簡単な設定
- バックアップはディレクトリをコピーするだけ
- プラグインとテーマの追加が可能
- Redmineのバージョンアップも簡単
ディレクトリ構成
リポジトリには以下のファイルとディレクトリが含まれています。
redmine-compose/
├── docker-compose.yml # Docker Compose設定ファイル
├── .env.example # 環境変数のテンプレート
├── db_data/ # PostgreSQLのデータ(自動生成)
├── files/ # Redmineのアップロードファイル(自動生成)
├── plugins/ # Redmineのプラグイン(自動生成)
└── themes/ # Redmineのテーマ(自動生成)
Docker Imageについて
Redmineイメージ
Docker Hubの公式Redmineイメージを使用しています。
Redmine本体の新しいバージョンがリリースされると、数日後に公式イメージも更新されます。
PostgreSQLイメージ
Docker Hubの公式PostgreSQLイメージを使用しています。
セットアップ手順
手順1: リポジトリをクローン
まず、GitHubからリポジトリをクローンします。
git clone https://github.com/haru/redmine-compose.git
cd redmine-compose
手順2: 環境変数ファイルを作成
.env.exampleをコピーして.envファイルを作成します。(無くてもデフォルト値で動きますが、REDMINE_SECRET_KEY_BASEを設定するために作成することをお勧めします。)
cp .env.example .env
作成された.envファイルの内容は以下のようになっています。
REDMINE_VERSION=latest
REDMINE_PORT=3000
DB_USER=redmine
DB_PASSWORD=password
# DB_NAME=redmine
REDMINE_SECRET_KEY_BASE=your-secret-key-base-here
手順3: セキュリティキーを生成
Redmineのセッション暗号化に使用する秘密鍵を生成します。
以下のコマンドを実行します。
openssl rand -hex 64
実行結果として64文字の16進数文字列が出力されます。
a1b2c3d4e5f6...(64文字の16進数)
この文字列を.envファイルのREDMINE_SECRET_KEY_BASEに設定します。
REDMINE_SECRET_KEY_BASE=a1b2c3d4e5f6...(生成された文字列)
なお、必要に応じてREDMINE_PORTやデータベースのパスワードも変更してください。
手順4: Redmineを起動
以下のコマンドでRedmineとPostgreSQLを起動します。
docker compose up -d
初回起動時はDockerイメージのダウンロードとデータベースの初期化が行われるため、数分かかることがあります。
起動状態を確認するには以下のコマンドを実行します。
docker compose ps
以下のように表示されれば起動成功です。
$ docker compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
redmine-compose-db-1 postgres:14 "docker-entrypoint.s…" db 15 minutes ago Up 11 minutes 5432/tcp
redmine-compose-redmine-1 redmine:latest "/docker-entrypoint.…" redmine 11 minutes ago Up 11 min
手順5: Redmineにアクセス
ブラウザで以下のURLにアクセスします。(PORTを変更した場合は適宜修正してください。)
http://your-server:3000
Redmineのログイン画面が表示されます。
デフォルトの管理者アカウントでログインできます。
- ユーザー名:
admin - パスワード:
admin
初回ログイン後、パスワードの変更を求められます。セキュリティのため必ず変更してください。
これでRedmineのセットアップは完了です。
カスタマイズ
Redmineバージョンの指定
特定のバージョンのRedmineを使用したい場合は、.envファイルで指定できます。
REDMINE_VERSION=6.0
変更後、以下のコマンドで再起動します。
docker compose down
docker compose up -d
プラグインの追加
Redmineプラグインを追加する場合は、plugins/ディレクトリにプラグインのファイルを配置します。
プラグイン追加後、Redmineコンテナを再起動してください。bundle installとマイグレーションは自動で実行されます。
docker compose restart redmine
一般的なインストール方法のプラグインでしたらこの方法で追加できます。
テーマの追加
Redmineのテーマを変更する場合は、themes/ディレクトリにテーマファイルを配置します。
cd themes/
git clone https://github.com/テーマ作者/テーマ名.git
テーマ追加後、Redmineを再起動します。
docker compose restart redmine
ちなみに、Redmine 6.0未満のバージョンを使用する場合、テーマのマウントパスを変更する必要があるため、READMEを参照してください。
メールサーバーの設定
Redmineからのメール送信をする設定はconfiguration.ymlを編集します。
redmine-composeディレクトリ直下にconfiguration.ymlを作成し、メールサーバーの設定を記載後、docker-compose.yml内でマウントします。
以下のようにコメントアウトされている部分を有効にします。
変更前:
volumes:
- ./files:/usr/src/redmine/files
- ./plugins:/usr/src/redmine/plugins
- ./themes:/usr/src/redmine/themes
# - ./configuration.yml:/usr/src/redmine/config/configuration.yml
変更後:
volumes:
- ./files:/usr/src/redmine/files
- ./plugins:/usr/src/redmine/plugins
- ./themes:/usr/src/redmine/themes
- ./configuration.yml:/usr/src/redmine/config/configuration.yml
変更後、Redmineに反映するために再起動します。
docker compose up -d
configuration.ymlの書き方は以下を参考にしてください。
運用管理
ログの確認
Redmineのログを確認するには以下のコマンドを実行します。
docker compose logs -f redmine
データベースのログを確認する場合は以下のコマンドです。
docker compose logs -f db
バックアップ
以下のようにして、redmine-compose/ディレクトリ全体をコピーするだけでバックアップが取得できます。他のマシンに持って行っても、そのまま動作します。
cp -pr redmine-compose/ backup/backup_$(date +%Y%m%d)
データベースのダンプを取得する方法もあります。
docker compose exec db pg_dump -U redmine redmine > redmine_$(date +%Y%m%d).sql
アップグレード
Redmineをアップグレードする場合は、必ず事前にバックアップを取得してください。
latestタグを使用している場合
docker compose pull
docker compose down
docker compose up -d
特定バージョンを使用している場合
.envファイルのREDMINE_VERSIONを変更してから、上記と同じコマンドを実行します。
起動と停止
一度起動すると、マシンを再起動すると自動的にRedmineも起動します。
Redmineを停止する場合は以下のコマンドを実行します。
docker compose stop
一度止めると、マシンを再起動しても自動的には起動しません。再度起動する場合は以下のコマンドを実行します。
docker compose up -d
まとめ
Redmineを試してみたい方や、開発環境として使いたい方にとって便利なテンプレートです。ぜひ活用してみてください。
Discussion