将Bitnami Redmine安装到Podman-Desktop上
首先
我决定在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相关容器)。
在Windows PowerShell(管理员)中使用podman-compose命令,在podman机器上连接到podman-machine-default的WSL。
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 ~]$

根据上述页面的说明,在podman-machine上下载以下的docker-compose.yml。
由于在本环境下需要通过代理,您需要使用-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,但由于想使用一个只支持旧版本的插件,所以我将它更改为4。
(2) 通过更改(2)部分左边的80,可以更改终端上Redmine的监听端口号。我这次将它更改为8181。
请使用podman-compose而不是docker-compose进行执行。
[user@hostname ~]$ podman-compose up -d



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进行还原。
可以使用以下命令来确认容器版数据库的信息。
[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

最后
我們已成功將Redmine從Windows應用程式版遷移到容器化版。
通過使用容器化版,預期能提高已構建環境的可移植性。
例如,可以將構建的環境還原並在無法連接到互聯網的封閉環境中使用。
將來,希望也能實施將已構建環境進行映像並移動的方法。
请参考以下页面
-
- Redmine packaged by Bitnami Containars
-
- Redmine.jp データのバックアップ方法
-
- Bitmani Redmineのバックアップとリストア
-
- 【Redmine】docker環境でのバックアップとリストア
- Redmine(docker) + MariaDB(docker)からバックアップとリストア