Redmine on Docker

遅ればせながら Docker での Redmine の立ち上げを簡単に検証した。

インストール

検証環境

  • CentOS 7.4.1708 (minimal)
  • Docker 17.06.2-ce, build cec0b72 (docker-ce-stable)
  • Docker Compose 1.16.1, build 6d1ac21 (GitHub)
  • Redmine 3.4.2 (hub.docker.com/_/redmine)
  • MySQL 5.7.19 (hub.docker.com/_/mysql)

アップデート

yum clean all && yum -y update && reboot

Yum-axelget

yum -y install epel-release && yum -y update && yum -y install yum-axelget

Docker CE

yum -y install yum-utils && \
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo && \
yum -y install docker-ce && systemctl start docker && systemctl enable $_

最新版に拘らなければ extras リポジトリに 1.12.6 がある。

Docker Compose

curl -o /usr/local/bin/docker-compose -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` && \
chmod +x /usr/local/bin/docker-compose

https://github.com/docker/compose/releases/latest で最新バージョンを確認して URL を書き換えてリクエスト。(今時手動とかどうにかならんのこれ…。yum install -y python-pip && pip install docker-compose って手もあるようだが…。)
最新版に拘らなければ EPEL リポジトリに 1.9.0 がある。

firewalld

firewall-cmd --permanent --add-service=http{,s} && firewall-cmd --reload

docker-compose up

Redmine の Docker イメージは、公式の redmine と非公式の sameersbn/redmine がメジャーの様子。
https://hub.docker.com/search/?isAutomated=0&isOfficial=0&&q=redmine

公式 Redmine イメージ

cat << "_EOF_" > docker-compose.yml && docker-compose up -d
version: '2.1'
services:
  redmine:
    image: redmine
    ports:
      - 80:3000
    environment:
      REDMINE_DB_MYSQL: db
      REDMINE_DB_PASSWORD: P@ssw0rd
    depends_on:
      - db
    restart: always
  db:
    image: mysql
    environment:
      MYSQL_ROOT_PASSWORD: P@ssw0rd
      MYSQL_DATABASE: redmine
    restart: always
    volumes:
      - ./mysql/my.cnf:/etc/my.cnf
      - ./mysql:/var/lib/mysql
_EOF_

docker-compose up はダウンロードや pull を含めて3分18秒程度ですべて完了した。

sameersbn/redmine イメージ

curl -LO https://raw.githubusercontent.com/sameersbn/docker-redmine/master/docker-compose.yml && \
docker-compose up -d

GitHub に docker-compose.yml が用意されている。
データベースは PostgreSQL 9.6 を利用する模様。

TODO

  • テーマ、プラグインのインストール
  • 初期パラメータの設定
  • 日本語初期設定ロード対応 1
  • メール送信の設定

参考