Mastodon的服务一直不太稳,然后小森林的大佬给了技术支援,建议使用Docker来部署。
以下内容来自小森林大佬
这里用来记录,昨天因为SSH密钥丢在公司所以没能在家重新部署。

Docker 和 dcoker-compose 安装

curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
sudo curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

docker-compose配置文件使用

创建目录

mkdir mastodon && cd mastodon

下载 docker-compose 配置文件(小森林版本)

wget https://github.com/mashirozx/mastodon/raw/master/docker-compose.yml
这里需要编辑 docker-compose 配置文件和 .env.production 配置文件,说明见后文
如果没有使用对象储存,需要把以前的媒体文件复制(cp -r)或者移动(mv)过来:
mkdir public
cp -r /home/live/public/system public/system

修改权限

chmod -R 755 public/system

关闭原先在 systemctl 下运行的 mastodon-web、mastodon-sidekiq、mastodon-streaming 进程

systemctl stop mastodon-web mastodon-sidekiq mastodon-streaming
systemctl disable mastodon-web mastodon-sidekiq mastodon-streaming

启动 docker 进程

docker-compose up -d

编辑 docker-compose 配置文件

因为 PostgreSQL 数据库和 Redis 我们暂时不迁移到 Docker 里面,所以可以把 docker-compose.yml 里最前面的 db: 和 redis: 两个大块注释掉,然后相应地把后续配置中 depends_on: 里的 - db 和 - redis 也注释掉。如果不希望修改 Nginx 配置,可以把 web 和 streaming 两个服务的端口改为以前用的端口,默认是 3000 和 4000 不用变。
编辑 .env.production 配置文件

可以直接把以前的 .env.production 文件复制过来,需要修改的内容是 db 和 redis 的 host 地址(docker的localhost或者127.0.0.1不会映射到宿主机)。

获取 bridge 的 IP:

docker network inspect bridge

输出中找到 "IPv4Address" 这一行,后面是的IP就是容器中宿主localhost的映射。把配置文件中的localhost或者127.0.0.1换成刚刚拿到的这个IP。

接下来,如果你用的是小森林的代码,注意把示例配置文件里面最后 "git repo"、"translation server"和"Markdown image proxy"三段配置复制过来,这是魔改里的功能。

感谢白猫大佬的Support以及其他Mastodon实例的管理员给予的帮助~
你可以从以下实例中挑选自己合适的注册加入:
此清单来自有意思星球后台已知实例中互动较多的知名中文实例,无排名先后。

Q.E.D.


Life’s too short to be anything but happy.