事前準備
DBのバックアップを取りdocker compose down
でサーバーを落とします。リリースノートを読んで予め変更内容を確認しておきましょう。
DBのアップグレード
PostgreSQL15が必須なのでDBをアップグレードします。
DBをダンプ
sudo docker compose up -d db
でDBだけを起こします。
以下のコマンドでDBをダンプします。
この方法でダンプしないとDBが破損することがあります。
(docker-compose exec db pg_dump -Fc -U misskey -d misskey > misskey.dump
などを使うと非ASCIIのバイトが破損することがある)
#DBをダンプ
docker compose -f /var/servers/docker/misskey/docker-compose.yml exec -T db bash -c "pg_dump -Fc -U misskey -d misskey > /var/lib/postgresql/data/misskey_db.dump"
# ダンプデータ取り出し
sudo mv ./db/misskey_db.dump ./
# DBバックアップ
sudo mv db db.old
ここでdocker-compose.ymlのDBのバージョンを変更します。
変更したら次に進みましょう。
# DBを起動して初期化
docker compose up -d db
# PostgreSQLのコンテナID取得
docker ps
# ダンプファイルをコンテナにコピー
docker cp misskey_db.dump [先程調べたコンテナID]:/db.dump
# DBインポート
docker compose exec -T db pg_restore -U misskey -d misskey /db.dump
# DB落とす
docker compose down
パーミッションの修正
v13からはrootlessで動くようになったので権限を修正します。
sudo chown -hR 991:991 ./files
sudo chmod u+x ./files
完了
docker compose up -d
で起動させ動くかチェックします。これで完了です。