My Computer · 2023/02/22 0

用 Docker 搭建/迁移 Mastodon 长毛象 实例

参考: 如何利用Docker搭建Mastodon实例(一):基础搭建篇 - 技术小白搭建Mastodon站点指南 (pullopen.github.io)

docker-compose.yml 和 .env.production 文件配置是部署成功与否的关键。

邮件设置有坑,不同服务器设置不同,没有办法只能多试试。

修改配置文件

如果在之后需要再对.env.production配置进行修改,只需:

cd /home/mastodon/mastodon
nano .env.production

进行相应修改,然后

docker-compose down
docker-compose up -d

重启即可。

升级

如果你要升级到最新版本,只需要:

cd /home/mastodon/mastodon
docker pull tootsuite/mastodon:latest     #或者将latest改成版本号如v3.2.1

如果你升级的是特定版本,则需要编辑docker-compose.yml,将web、streaming、sidekiq三部分的版本号改成相应版本。如果是latest则无需改动。

然后启动
docker-compose up -d

如果官方升级提示中包括其他步骤如docker-compose run --rm web rails db:migrate,则可在启动后进行。

在确认升级没问题之后,运行

docker system prune -a
清除旧的docker镜像文件。

迁移

打包容器和网站文件,然后在新服务器导入。

旧服务器:
1、可选:清理媒体文件缓存


docker exec mastodon-web-1 tootctl media remove-orphans
扫描出不属于任何媒体附件的文件并移除


docker exec mastodon-web-1 tootctl media remove --days=7
移除7天前本地缓存的其它实例媒体附件


docker exec mastodon-web-1 tootctl preview_cards remove
移除本地预览卡片缩略图


2、宝塔面板:docker - 容器,点击容器名称,生成镜像,生成镜像后导出压缩包(也可以直接用命令生成镜像:docker save > mastodon-web-1.tar mastodon_web_1)。5个mastodon开头的容器都要生成镜像;


3、打包 /home/mastodon/mastodon 目录;

新服务器:
1、路径不变,打包的旧服务器的mastodon目录同样放在/home/mastodon/mastodon解压缩
镜像文件也一并上传,执行导入镜像命令:docker load < mastodon-web-1.tar,5个镜像都要导入
(有时候宝塔的docker环境会装不上,可以用命令安装:curl -fsSL https://get.docker.com | bash -s docker)


2、导入完成以后启动mastodon:docker-compose up -d


3、最后添加mastodon站点域名,SSL证书,复制粘贴旧服务器nginx配置,收工。

在确认迁移没问题之后,运行

docker system prune -a
清除旧的docker镜像文件。

另外:迁移后出现过打开网站只有mastodon logo的情况,nginx配置、权限都没问题,最后重新打包了容器镜像然后再导入就正常了。

Mastodon/Misskey/Pleroma中文中继

https://relay.dragon-fly.club/
https://relay.acg.mn/