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实例的管理员给予的帮助~
你可以从以下实例中挑选自己合适的注册加入:
此清单来自有意思星球后台已知实例中互动较多的知名中文实例,无排名先后。
- 小森林 https://hello.2heng.xin
- WXW https://wxw.moe
- O3O https://o3o.ca/
- 驴肉火烧 https://go5.dev/
- alive.bar https://alive.bar/
- 草莓县 https://m.cmx.im/ (需科学上网)
- 万象千言 https://1234.as
- BGME https://bgme.me (需邀请码)
评论区