Nextcloud を Raspberry Pi 上から 6 x AMD FX(tm)-6300 Six-Core Processor 上 へと移した

Nextcloud

OSS の Google Drive みたいなやつです。

nextcloud.com

これまでは Raspberry Pi で運用

Raspberry Pi が余っていたので Nextcloud 用にしばらく使っていました。しかし、ある程度の規模になると OS がフリーズするまでに重くなり、ハードの乗り換えを考えていました。

ようやくメインの AMDマシン に乗り換えました。Docker で構築していたので、移行が恐ろしいほど簡単で*1驚きました。

  • Raspberry Pi のスペック

gyazo.com

  • AMD マシンのスペック

gyazo.com

具体的な docker-compose.yml の比較

それぞれの場合の docker-compose.yml は以下のとおりです。Raspberry Pi では MySQL に rpi-mysql を使っている以外は全く変わりありません。

  • Raspberry Pi
version: '2'

services:
  db:
    restart: always
    container_name: nextcloud-db
    hostname: nextcloud_db
    image: hypriot/rpi-mysql
    volumes:
      - ./db:/var/lib/mysql
    command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    environment:
      - MYSQL_ROOT_PASSWORD=HOGEHOGE
      - MYSQL_PASSWORD=FUGAFUGA
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud

  app:
    restart: always
    container_name: nextcloud-app
    hostname: nextcloud_app
    image: nextcloud:16.0.4
    volumes:
      - ./app:/var/www/html
    ports:
      - 12345:80
    links:
      - db
  • AMD マシン
version: '2'

services:
  db:
    restart: always
    container_name: nextcloud-db
    hostname: nextcloud_db
    image: mysql:5.7.27
    volumes:
      - ./db:/var/lib/mysql
    command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    environment:
      - MYSQL_ROOT_PASSWORD=HOGEHOGE
      - MYSQL_PASSWORD=FUGAFUGA
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud

  app:
    restart: always
    container_name: nextcloud-app
    hostname: nextcloud_app
    image: nextcloud:16.0.4
    volumes:
      - ./app:/var/www/html
    ports:
      - 12345:80
    links:
      - db

app/ と db/ を rsync でコピーしただけ

すべての物理ファイルは ./app および ./db にありますので、Nextcloud の稼働を止めた上でそれらのファイルを rsync しました。数時間かかりましたが無事終わり、新しい環境で $ docker-compose up を行うと問題なく起動しました*2。移行完了です。

*1:ただし時間はかかった

*2:厳密にはパーミッション周りで少し調整が必要だった

Powered by はてなブログ