Docker-Compose Redmineインストール方法

余談

DockerにRedmineをインストールする方法を紹介します。 Dockerの環境がない方は以下で手順を紹介してますので、よろしければ読みにきて下さい。

taglibrary.hatenablog.com

Docker Composeを使う方法 (推奨)

Docker Composeを使うと、Redmineの動作に必要なデータベースなどの依存関係もまとめて管理できるため、非常に便利です。

1. Docker Composeのインストール:

まだDocker Composeをインストールしていない場合は、Docker Desktop for Windowsに含まれていますので、Docker Desktopがインストールされていれば特に何もする必要はありません。念のため、コマンドプロンプトまたはPowerShellで以下のコマンドを実行して確認してみてください。

docker-compose --version

バージョン情報が表示されればインストールは完了しています。

2. docker-compose.yml ファイルの作成:

Redmineとデータベースの設定を記述した docker-compose.yml ファイルを作成します。テキストエディタを開き、以下の内容を記述して docker-compose.yml という名前で保存してください。

version: '3.8'
services:
  db:
    image: postgres:13-alpine
    environment:
      POSTGRES_USER: redmine
      POSTGRES_PASSWORD: redmine
      POSTGRES_DB: redmine
    volumes:
      - redmine_db_data:/var/lib/postgresql/data
    ports:
      - "5432:5432"  # ← ホストのポート 5432 をコンテナのポート 5432 にマッピング
  redmine:
    image: redmine:latest
    depends_on:
      - db
    ports:
      - "3000:3000"
    environment:
      REDMINE_DB_POSTGRES: db # 3行目と同じ名前にする
      REDMINE_DB_DATABASE: redmine
      REDMINE_DB_USERNAME: redmine
      REDMINE_DB_PASSWORD: redmine
      TZ: Asia/Tokyo
    volumes:
      - redmine_data:/usr/src/redmine/files
      - ./plugins:/usr/src/redmine/plugins  # プラグインディレクトリのマウント
      - ./themes:/usr/src/redmine/themes # テーマ用ボリュームのマウント
volumes:
  redmine_db_data:
  redmine_data:

この設定ファイルの内容:

  • version: '3.8': Docker Composeのバージョンを指定します。
  • services: 起動するコンテナの定義です。
    • db: PostgreSQLデータベースのコンテナ定義です。
      • image: postgres:13-alpine: 使用するPostgreSQLのDockerイメージを指定します (軽量なalpine版)。
      • environment: PostgreSQL環境変数を設定します (ユーザー名、パスワード、データベース名)。
      • volumes: データベースのデータを永続化するためのボリュームを定義します (redmine_db_data).
      • ports: ホストマシンのポート 5432 をコンテナのポート 5432マッピングします。これにより、ホストからlocalhost ポート:5432でa5m2などのツールでDBを操作できます。
    • redmine: Redmineアプリケーションのコンテナ定義です。
      • image: redmine:latest: 最新のRedmine Dockerイメージを指定します。
      • depends_on: db コンテナが起動してからこのコンテナを起動するように依存関係を設定します。
      • ports: ホストマシンのポート 3000 をコンテナのポート 3000マッピングします。これにより、ブラウザから http://localhost:3000Redmineにアクセスできます。
      • environment: Redmineがデータベースに接続するための環境変数を設定します。
      • volumes: Redmineの添付ファイルなどを永続化するためのボリュームを定義します (redmine_data).
  • volumes: 定義したボリュームの名前 (redmine_db_data, redmine_data) を宣言します。

3. Redmineの起動:

docker-compose.yml ファイルを保存したディレクトリに移動し、コマンドプロンプトまたはPowerShellで以下のコマンドを実行します。

docker-compose up -d

-d オプションはバックグラウンドでコンテナを実行することを意味します。

4. Redmineへのアクセス:

しばらく待つとRedmineが起動します。Webブラウザを開き、http://localhost:3000 にアクセスしてください。Redmineのログイン画面が表示されます。

デフォルトのユーザー名とパスワードは以下の通りです。

  • ユーザー名: admin
  • パスワード: admin

ログイン後、すぐにパスワードを変更することをお勧めします。

5. Redmineの停止:

Redmineを停止するには、docker-compose.yml ファイルがあるディレクトリで以下のコマンドを実行します。

docker-compose down

これにより、RedminePostgreSQLのコンテナが停止します。ボリュームに保存されたデータは保持されます。

Docker CLIを使う方法

Docker CLIのみを使ってRedmineをインストールすることも可能です。ただし、データベースの起動とRedmineの設定を個別に行う必要があります。

1. PostgreSQLコンテナの起動:

まず、Redmineが使用するPostgreSQLコンテナを起動します。

docker run --name redmine-db -e POSTGRES_USER=redmine -e POSTGRES_PASSWORD=redmine -e POSTGRES_DB=redmine -v redmine_db_data:/var/lib/postgresql/data -d postgres:13-alpine

2. Redmineコンテナの起動:

次に、Redmineコンテナを起動し、先ほど起動したPostgreSQLコンテナにリンクさせます。

docker run --name redmine -p 3000:3000 --link redmine-db:db -e REDMINE_DB_ADAPTER=postgresql -e REDMINE_DB_HOST=db -e REDMINE_DB_NAME=redmine -e REDMINE_DB_USER=redmine -e REDMINE_DB_PASSWORD=redmine -v redmine_data:/usr/src/redmine/files -d redmine:latest

3. Redmineへのアクセス:

Docker Composeを使う方法と同様に、Webブラウザhttp://localhost:3000 にアクセスします。デフォルトのユーザー名とパスワードも同じです。

4. RedminePostgreSQLコンテナの停止:

それぞれのコンテナ名を指定して停止します。

docker stop redmine
docker stop redmine-db

まとめ:

Docker Composeを使う方法は、設定ファイル一つでRedmineとその依存関係を管理できるため、より簡単で推奨される方法です。Docker CLIを使う方法は、個々のコンテナを手動で管理する必要がありますが、基本的なDockerの理解を深めるのに役立ちます。

こちらもおすすめ

taglibrary.hatenablog.com

taglibrary.hatenablog.com