Redmine をリストアしよう!


やったこと

落としてきたファイルから本当に Redmine を再現できるか確かめる(リストア)。
Redmine のバックアップに関しては、この記事 を参考にしてね。

環境

  • Ubuntu 20.04.2 LTS
  • Docker version 20.10.7
  • docker-compose version 1.21.2

実際の手順

 手順は以下の3つだ。全てローカル(外部サーバを使わず、自分のバソコン内だけ)で実行した。

手順1

以下ディレクトリを用意して、バックアップしてあるfilesとconfigを入れておく。

/var/redmine/files
/var/redmine/config

手順2

適当なディレクトリにdocker-compose.ymlファイルを置く。

docker-compose.yml
version: '3.5'
services:
  redmine:
    image: redmine:3-passenger
    container_name: redmine
    restart: always
    ports:
      - 13000:3000 # 「ホストでアクセスしたいポート:3000」で設定
    environment:
      TZ: Asia/Tokyo
      REDMINE_DB_MYSQL: mysql
      REDMINE_DB_DATABASE: redmine
      REDMINE_DB_USERNAME: redmine
      REDMINE_DB_PASSWORD: redmine
      REDMINE_DB_ENCODING: utf8mb4
    depends_on:
      - mysql
    volumes:
      # 「マウントしたいホストの絶対パス:コンテナ内の絶対パス」
      - /var/redmine/files:/usr/src/redmine/files
      - /var/redmine/config:/usr/src/redmine/config
      # - /var/redmine/plugins:/usr/src/redmine/plugins
      # -/var/redmine/log:/usr/src/redmine/log
      # -/var/redmine/public/themes:/usr/src/redmine/public/themes
  mysql:
    image: mysql:5.7
    container_name: mysql
    restart: always
    environment:
      TZ: Asia/Tokyo
      MYSQL_ROOT_PASSWORD: P@ssw0rd # 適当に変更する?
      MYSQL_DATABASE: redmine 
      MYSQL_USER: redmine
      MYSQL_PASSWORD: redmine
    volumes:
      - mysql-data:/var/lib/mysql
    command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_bin
volumes:
  mysql-data:
    name: mysql-redmine

そのディレクトリで以下コマンドを順に実行する
$DMP_FILE_PATHの箇所はバックアップした.dmpファイルのパスを入れる。

docker-compose up -d
docker exec -i mysql mysql -u redmine -predmine  redmine < $DMP_FILE_PATH

ローカルホスト13000番にアクセスしてRedmineが正しくリストアできていることを確認する。

手順3

確認が終わったら以下コマンドを実行してコンテナを落とす。

docker-compose down

以上でリストア終わり。おつかれさんっ!!

参考文献