记录一下 Mastodon 实例维护,为 4.1.19 升级至 4.2.x 的过程。因为之前的版本还在 4.1.x 所以先按照官方的教程升级到了 4.1.19 最新的版本,然后开始研究如何跨版本升级,之前已经成功将 Mastodon 从 V3 升级到了 V4 版本,我大致猜测应该也差不多,但是为了数据安全起见,还是做了好充分的备份。
备份
首先是数据库备份
docker exec mastodon-db-1 pg_dump -Fc -U mastodon mastodon > ~/20240914mastodon_backup.dump
升级
然后修改 docker-compose 文件的版本至 4.2.0
然后执行 docker-compose pull
拉取最新的镜像。
首先执行
docker-compose run --rm -e SKIP_POST_DEPLOYMENT_MIGRATIONS=true web bundle exec rails db:migrate
然后运行 Mastodon 实例
docker-compose up -d
然后执行后处理
docker-compose run --rm web bundle exec rails db:migrate
最后如果使用 Elsticsearch,那么重新构建索引
docker-compose run --rm web bin/tootctl search deploy --reset-chewy
完成版本更新,欢迎大家使用 EV Mastodon
接下来就是小版本的升级,拉取镜像,然后更新即可。