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上说预计也需要明年初完善。

参考链接