Mattermostでチャットシステムを構築してみた(アップデート編)

Mattermost(マターモースト)という、オープンソースのチャットサービスをVPS上に構築して運用しています。
今まではv5系で運用していたのですが、2021年10月13日にv6系がリリースされました。

早速アップデートしてみたのでその手順を記事にしたいと思います。

大まかな作業の流れ

非常にわかりやすい手順が公式サイトで提示されています。

以下のような流れになります。

  1. 最新版パッケージのダウンロード&展開
  2. データベースのバックアップ
  3. 既存フォルダのバックアップ
  4. 既存フォルダに最新版のファイルをコピー

つまり、いつものアップデートと作業内容的には変わらないです。
ただ今回のアップデートにおいてはDBのテーブル構造に変更が入りますので上記手順の2.は確実に行っておいた方がいいと思います。

アップデート手順

上記の公式手順を参考にして進めていきます。

  1. 作業用ディレクトリ(今回の記事では/tmp)に移動して最新版パッケージをダウンロード及び展開します。
    最新版パッケージのURLはこちらのページを参照してください。
    Mattermost.com

    Deploy a Mattermost server in minutes on the platform of you…

    cd /tmp
    wget https://releases.mattermost.com/X.X.X/mattermost-X.X.X-linux-amd64.tar.gz
    tar xzvf mattermost-X.X.X-linux-amd64.tar.gz --transform='s,^[^/]\+,\0-upgrade,'
  2. Mattermostを停止します。
    sudo systemctl stop mattermost
  3. 既存DBをバックアップします。
    (DBユーザーはmmuser、DB名はmattermostとしています)

    mysqldump -u mmuser -p --single-transaction mattermost > mattermost_yyyymmdd.sql

    出力されるファイルは必要に応じて移動しておいてください。

  4. 既存ディレクトリをバックアップします。
    (Mattermostは/opt/mattermostにインスールされているものとします)

    cd /opt
    sudo cp -ra mattermost/ mattermost-back-$(date +'%F-%H-%M')/
  5. 既存ディレクトリ内のデータフォルダ以外を削除します。
    削除したくない独自のディレクトリがある場合は「-o -path うんたらかんたら」という形で括弧内に追記します。
    削除されるディレクトリを以下のコマンドで確認します。

    sudo find mattermost/ mattermost/client/ -mindepth 1 -maxdepth 1 \! \( -type d \( -path mattermost/client -o -path mattermost/client/plugins -o -path mattermost/config -o -path mattermost/logs -o -path mattermost/plugins -o -path mattermost/data \) -prune \) | sort

    問題ないようであれば削除を行います。

    sudo find mattermost/ mattermost/client/ -mindepth 1 -maxdepth 1 \! \( -type d \( -path mattermost/client -o -path mattermost/client/plugins -o -path mattermost/config -o -path mattermost/logs -o -path mattermost/plugins -o -path mattermost/data \) -prune \) | sort | sudo xargs rm -r
  6. 最新版パッケージの内容を既存ディレクトリにコピーします。
    sudo cp -an /tmp/mattermost-upgrade/. mattermost/
    sudo chown -R mattermost:mattermost mattermost
  7. Mattermostを起動します。
    DBのレコード数によってはここで多少時間がかかります。

    sudo systemctl start mattermost

まとめ

分かりやすい公式手順のおかげで非常に簡単に進めることができました。
いつものバージョンアップとほぼ同じ手順で進めることができます。

この記事がMattermostのアップデートの参考になれば幸いです。

インストールの手順についてはこちらの記事をご覧ください。

関連記事

Mattermost(マターモースト)という、オープンソースのチャットサービスがあると聞き、面白そうだったのでVPS上に構築してみました。 [blogcard url=https://mattermost.com] 非常に分かり[…]

インストール後の設定についてはこちらの記事をご覧ください。

関連記事

前回はMattermostのシステムをサーバーにインストールするところまでを記事にまとめました。 [sitecard subtitle=関連記事 url=https://twinturbo-power.com/2021/02/matt[…]

既存のデータを別のサーバーに移したい場合はこちらの記事をご覧ください。

関連記事

Mattermost(マターモースト)という、オープンソースのチャットサービスをVPS上に構築しました。 これをそのままそっくり別のVPSに移したのでその際の手順を記事にしたいと思います。 大まかな作業の流れ 基本的にはこちらのインス[…]

Dockerで動かす場合の手順についてはこちらの記事をご覧ください。

関連記事

Mattermost(マターモースト)という、オープンソースのチャットサービスがあります。 私はVPS上に構築して運用しているのですが、Docker上で動かすこともできるとのことで試してみました。 環境情報 サーバー A[…]