想拥有自己的社交账号、又嫌 Mastodon 实例太重?GoToSocial 是一个用 Go 写的 ActivityPub 联邦微服务,单二进制运行、内存占用极低,兼容整个 Fediverse(可与 Mastodon、Pixelfed 等互通)。本文在雨云 KVM 云服务器上把它跑起来,适合几个人组成的小圈子做技术交流。
一、GoToSocial 适合什么场景
Mastodon 全套带 Sidekiq、PostgreSQL、Redis,跑起来要 2G 以上内存。GoToSocial 只做”发布、收信、联邦投递”这一件最小的事,把前端时间线交给手机客户端(如 Tusky、Feditext)渲染。它的优势:
- 极轻:1 核 1G 的机器就能稳定跑,和本站 12302 的 Vikunja、12263 的 Memos 同属轻量自托管服务。
- 联邦互通:账号能被 Mastodon 用户关注,也能关注别人,小圈子互通不依赖大平台。
- 可控:数据、账号、投递全在自己服务器,不像第三方账号说没就没。
合规提示:自建联邦实例即代表你对该实例上发布的内容承担责任。请仅用于技术交流等合规用途,遵守《网络信息内容生态治理规定》等法律法规,不发布违法违规信息,并做好账号注册审核。
二、准备工作
- 雨云 KVM 云服务器(1 核 1G 起),Debian 12,已装 Docker。
- 一个解析好的域名(联邦协议依赖正确 host 头,必须配域名 + HTTPS)。
三、Docker 部署
新建 ~/gotosocial/docker-compose.yml:
version: "3"
services:
gotosocial:
image: gotosocial/gotosocial:latest
container_name: gotosocial
ports:
- "8080:8080"
volumes:
- ./config:/gotosocial/config
- ./storage:/gotosocial/storage
restart: unless-stopped
首次启动前在 ./config/config.yaml 填好关键项:host(你的域名)、account-domain、db-type(新手用 sqlite 最省事)、storage-backend: local。然后 docker compose up -d,日志无报错即启动成功。
四、创建账号与反代
进容器执行 docker exec -it gotosocial ./gotosocial admin account create --username 你的名 --email 你@邮箱 --password 密码 建管理员,再用 admin account confirm 激活。
反向代理把 443 转到容器 8080,证书用本站 7666 讲的签发方式。联邦协议对 host 头敏感,反代务必把原始 Host 透传过去,否则其他实例收不到正确回复。
五、日常使用与运维
- 客户端:手机装 Tusky(Android)或 Feditext(iOS),添加”自定义实例”填你的域名即可登录。
- 关注别人:直接搜
@用户@mastodon.social这类地址就能关注并收其动态。 - 资源占用:常驻内存约 100-200MB,配合 12239 哪吒面板能看到它几乎不占资源,适合长期挂着。
- 媒体存储:图片视频在
./storage卷,长期用建议挂大数据盘,或用 11963 讲的对象存储做外链。






