分散型SNS Misskey の
最新バージョン13(以降v13)が公開されました。
バージョン12(以降v12)で構築した既存のインスタンスをアップグレードしたので、手順をメモがてら残します。
あくまで私個人の非公式な手順です。実際に作業する際はフルバックアップを取るなど失敗しても良いように対策してくださいね。
前提条件
- Ubuntu 22.04
- Docker 20.10.22
- Docker Compose v2.14.1
- Postgresql 12.2
- Misskey v12.119.2
- Misskey、Postgresql含め一式Dockerで構築してあること
Postgresqlのアップグレード
Misskey v13からPostgresql 15が必須になったため、Postgresqlを12.2から15へアップグレードする必要があります。
ただし、PostgresqlのDockerコンテナはバージョンが異なるとデータを読み込んでくれないため、手動でdumpファイルを取り移行します。
まずは動作しているMisskeyのコンテナ群を停止します。
|
|
次にPostgresqlのコンテナのみを起動します。
|
|
pg_dumpall
でデータベースのデータをエクスポートします。
[container_id]
はPostgresqlのコンテナIDに読み替えてください。
[db_user]
もMisskeyのデータベースのユーザ名に読み替えます。
|
|
完了したら、Postgresqlのコンテナをシャットダウンします。
|
|
続いて、docker-compose.ymlを編集します。
image: postgres:12.2-alpine
を image: postgres:15.1-alpine
にします。
編集を終えたら、データベースのバックアップを取ります。
|
|
Postgresql 15のコンテナを起動します。
|
|
エクスポートしたファイルをインポートします。
[database]
はMisskeyのデータベース名に読み替えてください。
|
|
これでデータベースの移行は完了ですが、私の環境では次のエラーが出てMisskeyが起動しませんでした。
|
|
パスワードのハッシュ化方式がmd5から変更になった影響のようなので、データベースのユーザのパスワードを再設定します。
|
|
Postgresqlのコンテナをシャットダウンします。
|
|
Misskeyのアップグレード
v13からDockerの実行をrootで行わないようになったため、以下のコマンドを実行します。
(object storageを使用している場合は不要です。)
|
|
docker compose pull
して最新版のMisskey v13にし、アクセスできるか確認します。
v12.119.2からv13.3.4へのアップグレード時はDBのスキーム変更があるため、
任意のタイミングで docker compose run --rm web pnpm run migrate
をする必要があるそうです。
|
|
以上で完了です。
参考サイト
以下のサイトを参考にしました。