将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 ~]$
image.png

根据上述页面的说明,在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
image.png
image.png
image.png

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
image.png

最后

我們已成功將Redmine從Windows應用程式版遷移到容器化版。
通過使用容器化版,預期能提高已構建環境的可移植性。
例如,可以將構建的環境還原並在無法連接到互聯網的封閉環境中使用。
將來,希望也能實施將已構建環境進行映像並移動的方法。

请参考以下页面

    • Redmine packaged by Bitnami Containars

 

    • Redmine.jp データのバックアップ方法

 

    • Bitmani Redmineのバックアップとリストア

 

    • 【Redmine】docker環境でのバックアップとリストア

 

    Redmine(docker) + MariaDB(docker)からバックアップとリストア
bannerAds