2024.07.07更新
博主已经弃用gotosocial,转用bluesky。
前言
提到去中心化社交网络,Mastodon几乎是成了他的代名词,Mastodon是基于ActivityPub协议实现的一个开源的社交媒体,类似于Twitter,虽然Mastodon是开源的,但是无奈太过于消耗资源,对于个人来说还是不好实现的,前几日在探索类似的基于ActivityPub的联邦社交项目时,找到了GoToSocial,一个基于Go的ActivityPub实现,极其的节约资源,同时兼容Mastodon的协议。这肯定要折腾起来!
部署
GoToSocial的部署十分简单,官方描述他甚至能在一个卡片大小的树莓派上正常运行。GoToSocial支持多种部署方式,这里我选择Docker部署
下载官方提供的Docker compose模板
mkdir -p ~/gotosocial/data && cd ~/gotosocial && chown 1000:1000 data && curl -fsSL https://raw.githubusercontent.com/superseriousbusiness/gotosocial/main/example/docker-compose/docker-compose.yaml -o docker-compose.yaml
主要修改两个地方:
GTS_HOST
这个填写你的域名,方便后续配置,并且需要注意GoToSocial强制要求开启HTTPS访问TZ
这里设置为Asia/Shanghai
然后就是docker compose up -d
运行Docker容器
注册
因为GoToSocial暂时还没有提供注册页面,我们需要进入到Docker容器里面输入命令行进行注册
首先注册一个用户
docker exec -it gotosocial /gotosocial/gotosocial admin account create --username '用户名' --email 电子邮箱 --password '密码'
选中刚才的用户并设置为管理员
docker exec -it gotosocial /gotosocial/gotosocial admin account confirm --username 用户名
docker exec -it gotosocial /gotosocial/gotosocial admin account promote --username 用户名
至此就可以登录GoToSocial了,虽然说GoToSocial未提供注册页面,但提供了一个管理页,域名开启HTTPS以后浏览器输入https://your_domain/settings
即可进入设置页面,修改用户名与密码等操作也可以进行
写作
GoToSocial没有提供相应的页面,但是他实现了Mastodon的API也就意味着任何基于Mastodon的写作APP或者WEB页面都可以直接适配,精致度瞬间上了几层楼
备份与更新
备份GoToSocial只需要备份SQL以及媒体文件,它都存在gotosocial目录下,定时备份这个文件夹即可
基于Docke部署更新也只需要一行命令
docker compose down && docker compose up -d
缺点
目前GoToSocial还处于快速迭代官方预计在2024年初能进入beta测试版本,不过目前也满足日常使用,唯一有一点就是还不能编辑历史文章!!这个太痛苦了,github上说预计也需要明年初完善。