使用 Docker 安裝 Redmine

Redmine 是一個很好用的 Issue Tracking System,也是我最早接觸的一套管理工具,最近剛好有機會要安裝,就順手把步驟記錄下來

為了方便起見我們用 Docker 來安裝 Redmine,使用的是下面這個來源的 image,而 Redmine 前幾天發佈了最新的 5.0.0,為了避免未知的問題和外掛相容性,目前還是使用 4.2.5 來安裝
sameersbn/docker-redmine: Docker Image for Redmine (github.com)

安裝 MySQL

Redmine 必須搭配資料庫,早期的 image 有把 MySQL 包進去,後來移出來要自己另外設定,執行指令如下,密碼部分請自行設定

mkdir -p /opt/redmine/mysql
docker run --name=mysql-redmine -d \
  --env='DB_NAME=redmine_production' \
  --env='DB_USER=redmine' --env='DB_PASS=PASSWORD' \
  --env='MYSQL_ROOT_PASSWORD=PASSWORD' \
  --volume=/opt/redmine/mysql:/var/lib/mysql \
  mysql:5.7.37

安裝完成之後要連進去 container 建立資料庫,密碼部分請自行設定

docker exec -it mysql-redmine bash
mysql -uroot -p
CREATE USER 'redmine'@'%.%.%.%' IDENTIFIED BY 'password';
CREATE DATABASE IF NOT EXISTS `redmine_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;
GRANT SELECT, LOCK TABLES, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON `redmine_production`.* TO 'redmine'@'%.%.%.%';

安裝 Redmine

MySQL 設定好後,接下來就是安裝 Redmine

mkdir -p /opt/redmine/redmine
mkdir -p /opt/redmine/redmine-logs
docker run -d --name=redmine -it --link=mysql-redmine:mysql \
  --volume=/opt/redmine/redmine:/home/redmine/data \
  --volume=/opt/redmine/redmine-logs:/var/log/redmine/ \
  --publish=80:80 --publish 443:443 \
  --env='REDMINE_PORT=443' --env='REDMINE_HTTPS=true' \
  sameersbn/redmine:4.2.5

這邊使用到 docker 的 –link 來連結我們剛剛建立的 MySQL container,另外就是把 80 和 443 對應到 host 的 port。需要注意的是如果有打算使用 https,必須要在環境變數設定 REDMINE_HTTPS=true,以及把 ssl 憑證 redmine.crt 以及 redmine.key 放到 /opt/redmine/redmine/certs/ 中,這樣就完成了

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。