【小白记录】Debian+宝塔:用docker搭建mastodon、misskey
前言
先说明一下我不是计算机专业,只是业余爱好,不习惯看命令行,为了可视化操作安装宝塔,我是觉得挺好用的。嘛,我是以纯小白角度来写这篇搭建记录,欢迎大佬进行补充~
我的服务器里有两个网站,下面说的内存占用是在两个网站的基础上又分别安装这仨程序的总内存占用。
mastodon对服务器要求高,2G内存我觉得不够用,不开全文搜索能凑活带起来,总内存占用大概有75%-80%,但用户多了肯定不行,尤其开了全文搜索后直接爆内存…… 建议内存还是4G及以上保险一些。
misskey好一点,2G内存能用到60%多,但用户多了我不清楚会增加多少内存。优点:能设置对象存储,还自带猫耳,有很好看的登录页,主题多等等。缺点是没有很好用的手机app。
pleroma是这三个里最轻的,2G内存用到50%左右。优点有很多:占用少,手机应用直接用mastodon的等等,缺点嘛,它是这仨里安装最麻烦的,也是这三里面相对来说外观最“丑”的……

Mastodon篇
安装mastodon之前我连docker都不知道,不过安装mastodon建议用docker,这是真好用,还方便,而且网上教程一大把,安装过程也是一路复制粘贴,我就不详细说mastodon的搭建过程了。
我是看着这篇教程搭的:https://zhuanlan.zhihu.com/p/492442130
补充教程:https://pullopen.github.io/catalog (点开目录能看到有很多文章)
我用知乎这篇文章简单说说吧,先是装docker,这个在宝塔的软件商城里安装就完事了,不用再手动安装docker-compose。
然后进行拉取镜像操作,从这里开始需要在ssh里操作,可以直接用宝塔左边菜单里的“终端”。
直接复制大佬的代码粘贴到终端里,回车。宝塔终端里用鼠标右键进行粘贴。
大佬拉取的镜像是小森林魔改版,详细说明在这里:https://littlefo.rest/about/more
拉取完镜像该配置mastodon了,继续复制粘贴大佬的代码。
这里要说下SMTP的设置,这是自动发邮件的功能,比如有人注册系统要自动发出一封确认邮件。大佬用的126邮箱,我实际安装时126邮箱发不出邮件,后来看的这篇教程,配置邮箱才成功。https://pullopen.github.io/%E5%9F%BA%E7%A1%80%E6%90%AD%E5%BB%BA/2020/07/19/How-to-build-a-mastodon-instance.html
过了smtp的坎后面没什么问题了,配置完mastodon后需要复制生成的那些信息,然后到了创建.env.production 这一步,用到 nano .env.production 命令,用鼠标右键复制粘贴没啥说的,按F3键保存再按一下回车就保存成功了,退出编辑是ctrl+x。
剩下的就是按照教程配置nginx,nginx也是在宝塔的软件商城里安装。
成功进入mastodon后还需要一些装饰啥的,https://pullopen.github.io/catalog,这位大佬的教程里面都有讲。

Maisskey篇
重点说说debian系统安装misskey。
misskey用utubun系统docker安装最理想,直接官方文档一路复制粘贴完事。
官方文档:https://misskey-hub.net/en/docs/install/docker.html
但是用debian系统会有很多问题,比如不能上传附件,smtp和对象存储全都出错,新用户不能注册,反正问题多多就是了。后来我发现是node.js原因,misskey最好用16版本号的node.js。
debian系统下安装misskey前先安装node.js。
还是在宝塔终端,输入下面的代码:
sudo curl -fsSL https://deb.nodesource.com/setup_16.x | sudo bash -
sudo apt install nodejs
以上代码出自这里:https://www.linuxcapable.com/how-to-install-node-js-14-lts-16-npm-on-debian-11-bullseye/#Install_NodeJS_16_from_NodeSource
里面还有如何卸载node.js的代码。装上node.js后再跟着官方文档安装misskey。
这里有一点要注意,git checkout master 完成后要停一下,到 /home/misskey/.config 文件夹里修改 default.yml 和 docker.env 这两个文件,具体怎么改看这位大佬的教程:https://candinya.com/posts/minimal-misskey-docker-deploy/
大概就是 docker.env 里改一下数据库名称和密码,default.yml 修改域名(domain)还有两个localhost改成db和redis。
这部分修改不用上面说到的nano命令,都已经装了宝塔了,直接点进文件夹双击文件修改了。改完保存后再跟着官方文档复制粘贴代码。
安装完后到宝塔左侧菜单的“网站”里,新建你的网站,php选择静态,nginx配置文件看这里:https://misskey-hub.net/en/docs/admin/nginx.html
这里有个小技巧,先把SSL填好再改nginx配置文件。

在这里填好ssl后,再进入“配置文件”,宝塔已经自动生成了ssl存放地址还有md5码这些,把它们全复制出来,然后再把官方的nginx设置粘贴进去。把里面的 example.tld 改成你的域名,然后把刚刚复制的ssl信息替换掉官方文档里的ssl。
附一份我的nginx设置,也是基于官方修改的:
配置好后进入misskey,直接在网页里创建管理员账号,登录后在控制面板里设置bot防御还有smtp这些东西。这里smtp设置好后点击发送测试邮件会出现错误弹窗,但新用户注册时发送确认邮件没有问题,这个错误弹窗可以忽略。
misskey总体来说安装很简单。麻烦的是没有手机应用,安卓端我只搜到milktea(https://github.com/HiSubway/milktea)这里面release还是2021年的,作者后来在谷歌商店上更新应用了,不过没关系,可以到其他下载站里下载。
安卓手机还可以安装chrome浏览器,用浏览器打开misskey的登录页,右上角设置里有个“添加到主屏幕”。如果桌面没有出现新增的图标,需要到权限里把相应权限打开。


用chrome浏览器生成的PWA应用,实际使用十分良好,比milktea还要好~




小结
mastodon网上教程很多,搭建不成问题。misskey用的人少一些,还好misskey安装比mastodon简单得多,命令也就那么七八行,一般不会有啥问题。如果出现什么解决不了的问题,直接换utubun系统,完美兼容misskey~
明天再写一写教程更少的pleroma,这个程序我一开始犯晕了,后来想明白后搭建也很容易。