WeAir

迁移Mastodon到新服务器

在新服务器上按照安装指导重新配置Mastodon相关服务,但不执行mastodon:setup操作。

在旧服务器上停止Mastodon服务

1
systemctl stop 'mastodon-*.service'

导出数据库

1
2
# 旧服务器上导出数据库
pg_dump -Fc mastodon_production -f backup.dump

导入数据库

1
2
3
4
5
6
# 新服务器上以mastodon用户创建数据库
createdb -T template0 mastodon_production

# 新服务器上导入数据库
pg_restore -Fc -U mastodon -n public --no-owner --role=mastodon \
-d mastodon_production backup.dump

复制 system/ 文件及 .env.production 配置文件

1
2
3
# 旧服务器以mastodon用户复制相关文件至新服务器上
rsync -avz ~/live/public/system/ mastodon@new.machine:~/live/public/system/
rsync -avz ~/live/.env.production mastodon@new.machine:~/live/.env.production

在新服务器上重新编译Mastodon

1
RAILS_ENV=production bundle exec rails assets:precompile

在新服务器上重建时间线

1
RAILS_ENV=production ./bin/tootctl feeds build

在新服务器上启动Mastodon服务

1
systemctl start 'mastodon-*.service'

更新域名DNS指向新的服务器

其它问题可查询官方文档