Redmine

docker-compose でお手軽に Redmine を構築する

自プロジェクトで Redmine を使う必要があって、その時の作業を記録として残します。

前提

  • Docker が使える環境
    • docker-compose が使えること
  • Redmine のデータはコンテナを再構築しても永続化するようにしたい
    • 1サーバに複数の Redmine を構築する予定があるので、それも考慮する

docker-compose.yaml

version: '2'
services:
  redmine:
    image: redmine
    ports:
      - 3000:3000
    environment:
      REDMINE_DB_MYSQL: db
      REDMINE_DB_PASSWORD: redmine
    depends_on:
      - db
    restart: always

  db:
    image: mariadb
    environment:
      MYSQL_ROOT_PASSWORD: redmine
      MYSQL_DATABASE: redmine
    command: mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci
    volumes:
      - "./mysql/data:/var/lib/mysql"
    restart: always

いきなりですが今回使った docker-compose.yaml の中身です。

少しだけ補足すると、MariaDB のデータを docker-compose.yaml があるディレクトリ下に保存するように volume を割り当てているので、docker-compose down して再度 up してもデータが残ります。

ポートの変更

上記の yaml では 3000 で待ち受けていますが、8080:300080:3000 のように自分の使うポートに変更してください。
:3000 はコンテナ内部のポートなので変更してはいけません。

起動

初回は次のようにしてコンテナを生成しつつ起動します。

$ sudo docker-compose up -d

stop で止めたりした時は start で再開できます。

$ sudo docker-compose start

停止

一時的にコンテナを止めます。

$ sudo docker-compose stop

削除

stop & rm です。

$ sudo docker-compose down

コンテナを削除しても ./mysql/* 下にデータが残っているので適宜削除してください。

参考