はじめに
自分のTodo管理にWindows端末上でRedmineを使ってみることにした
現在所属しているプロジェクトでRedmineを使ってタスク管理を行っているので、Redmineの使い方を覚えることも兼ねている
環境情報
- OS: Windows 10 Pro 22H2
- RAM: 8.0GB
- SSD: 256GB
- Podman Desktop: v1.1.0
- Podman: v4.5.1
Bitnami Redmineのインストール(Redmine関連コンテナの起動)
podman machine上でpodman-composeコマンドを利用するので、Windows PowerShell(管理者)にてWSLでpodman-machine-defaultに接続する
PS C:\WINDOWS\system32> wsl -d podman-machine-default
You will be automatically entered into a nested process namespace where
systemd is running. If you need to access the parent namespace, hit ctrl-d
or type exit. This also means to log out you need to exit twice.
[user@hostname ~]$
BitnanamiのホームページからDockerhub Debianのリンクをクリック
上記ページの記載に従って、以下のdocker-compose.ymlをpodman-machine上にダウンロードする
本環境ではプロキシを経由する必要があるため、-x
オプションでプロキシの情報を指定する
[user@hostname ~]$ curl -x http://ユーザー:パスワード@ホスト:ポート -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/redmine/docker-compose.yml > docker-compose.yml
docker-compose.yml
version: '2'
services:
mariadb:
image: docker.io/bitnami/mariadb:10.6
volumes:
- 'mariadb_data:/bitnami/mariadb'
environment:
# ALLOW_EMPTY_PASSWORD is recommended only for development.
- ALLOW_EMPTY_PASSWORD=yes
- MARIADB_USER=bn_redmine
- MARIADB_DATABASE=bitnami_redmine
redmine:
image: docker.io/bitnami/redmine:5 <- (1)
ports:
- '80:3000' <- (2)
volumes:
- 'redmine_data:/bitnami/redmine'
depends_on:
- mariadb
environment:
# ALLOW_EMPTY_PASSWORD is recommended only for development.
- ALLOW_EMPTY_PASSWORD=yes
- REDMINE_DATABASE_HOST=mariadb
- REDMINE_DATABASE_PORT_NUMBER=3306
- REDMINE_DATABASE_USER=bn_redmine
- REDMINE_DATABASE_NAME=bitnami_redmine
volumes:
mariadb_data:
driver: local
redmine_data:
driver: local
(1)
Redmineの現時点での最新バージョンは5
だが、古いバージョンにしか対応していないpluginを利用したかったため4
に変更した
(2)
の部分で左側の80
を書き換えると端末上のRedmineの待ち受けポート番号を変更することができる
今回は8181
に書き換えた
docker-compose
をpodman-compose
に読み替えて実行
[user@hostname ~]$ podman-compose up -d
プラウザからhttp://localhost:8181
へアクセスするとRedmineのページが表示されたので環境構築成功
ログイン リンクをクリックしてログインしてみる
デフォルトで用意されているユーザ名/パスワードはuser/bitnami1
管理 -> 情報 とクリックしていくとRedmineのバージョン情報が確認できる
今回のバージョンは4.2.5.stable
以上でRedmineのインストールは完了
Redmineデータの移行
元々はWindowsアプリ版のRedmineを使っていたが、今回構築したContainer版のRedmineへデータ移行を行ってみる
- 移行元Redmine version: Redmine 4.2.1.stable
- 移行先Redmine version: Redmine 4.2.5.stable
Windowsアプリのデータベース名などの情報は以下ファイルにて確認する
D:\Bitnami\redmine-4.2.1-2\apps\redmine\htdocs\config\database.yml
バックアップはWindows PowerShell(管理者)にて以下のコマンドを実行
PS C:\bitnami\redmine-win-backups> C:\Bitnami\redmine-4.2.1-2\mysql\bin\mysqldump.exe -u <データベースユーザ名> -p<データベースユーザパスワード> <データベース名> -P <ポート番号> --default-character-set=binary --no-tablespaces > backup.dmp
PS C:\bitnami\redmine-win-backups> xcopy /T /E C:\Bitnami\redmine-4.2.1-2\apps\redmine\htdocs\files files
PS C:\bitnami\redmine-win-backups> xcopy /T /E C:\Bitnami\redmine-4.2.1-2\apps\redmine\htdocs\plugins plugins
今回はデータベースデータであるbackup.dmp
をリストアする
Container版のデータベース情報は以下のコマンドで確認する
[user@hostname ~]$ podman exec -it user_redmine_1 cat /bitnami/redmine/config/database.yml
データベースのリストアは以下のコマンド
以下は自端末のC:\bitnami\redmine-win-backups
にbackup.dmp
がある場合
[user@hostname ~]$ cat /mnt/c/bitnami/redmine-win-backups/backup.dmp | podman exec -i user_mariadb_1 /opt/bitnami/mariadb/bin/mysql -u bn_redmine bitnami_redmine
プラウザからhttp://localhost:8181
へアクセスするとRedmineのページが表示され、Windowsアプリ版でログインしていたユーザ名/パスワードでログインが成功してチケット情報もリストアされていることを確認できた
おわりに
以上でRedmineをWindowsアプリ版からContainer版へ移行することができた
Container版を利用することで構築した環境の可搬性があがることが期待できる
例えば、構築した環境をインターネットへの接続が許容されない閉域環境にリストアして使用するなどが可能となる
今後は構築した環境をイメージ化して移動する手法も実施したい