Socialhome 0.24.0 介绍与选型指南

Socialhome 0.24.0 认知溯源全解:联邦个人主页定位、四类常驻进程后端与前后端解绑架构、ActivityPub+Diaspora 双协议特性边界,与 Mastodon/Akkoma/GoToSocial/Misskey 量化选型对比,全部信息官方溯源并标注查询日期 2026-11-02。

SocialhomeSocialhomeFediverseDjangoPythonDocker自托管2026/11/02

Socialhome 0.24.0 介绍与选型指南

目标:面向「想在联邦宇宙(Fediverse)里给自己立一个个人主页节点、且关心能否同时打通 Mastodon 系与 Diaspora* 系两个社区」的读者,讲清 Socialhome 是什么、架构如何、功能边界在哪,并与 Mastodon、Akkoma、GoToSocial、Misskey 做量化选型对比。本文为认知溯源篇,全部信息来自官方站点、官方文档站、官方 Codeberg 仓库与官方制品库的联网取证,查询日期统一为 2026-11-02,未做本地实测;部署实测与命令回显见本专栏其余三篇。

一、环境信息

本章说明本文的信息检索口径,供读者复核每一条结论的来源。

  • 组件与版本:Socialhome 后端 v0.24.0(查询日期 2026-11-02;来源:官方 Codeberg 仓库 https://codeberg.org/socialhome/socialhome/tags 页实查,v0.24.0 为当前最新 tag,打 tag 时间 2026-08-01T01:57:06+02:00;官方文档站首页标题即为「Socialhome 0.24.0 documentation」,来源:https://socialhome.readthedocs.io/en/latest/)。
  • 前端组件版本:socialhome-ui 0.12.2(来源:Codeberg 制品库 generic 包 https://codeberg.org/socialhome/-/packages/generic/socialhome-ui,查询日期 2026-11-02;前端为独立仓库 https://codeberg.org/socialhome/socialhome-ui)。
  • 官方代码仓库:https://codeberg.org/socialhome/socialhome(主阵地,活跃:2026-11-01 仍有更新,23 星,查询日期 2026-11-02);GitHub https://github.com/jaywink/socialhome 为镜像(379 星,issue 跟踪已关闭,查询日期 2026-11-02);更早的 org 仓库 github.com/socialhome/socialhome 已 404。
  • 官方站点:https://socialhome.network(产品定位来源;官方文档明确「官网本身就是一个 Socialhome 实例的个人主页」)。
  • 官方文档站:https://socialhome.readthedocs.io/(Installation / Updating / Running an instance / Development 四大板块)。
  • 代码许可:AGPLv3(来源:官方文档站 Source code 一节「Socialhome is fully open source, licenced under the AGPLv3 license」及仓库 README 徽章,查询日期 2026-11-02)。
  • 本文性质:A1 认知篇,仅联网溯源,所有数据标注来源与查询日期;部署、配置与命令的本地实测见本专栏其余三篇。

⚠️ 说明:Socialhome 主仓库已迁至 Codeberg,业界惯用的 GitHub 星数指标只能反映镜像热度;本文以「主仓库活跃度(最近提交日期)、发布节奏、实例目录」三个可查维度作为热度锚点(见第二、七章)。

二、软件概述

本章回答「Socialhome 是什么、从哪来、由谁维护」三个基本问题。

Socialhome 的官方定义一句话即可复核——官方文档站与仓库 README 逐字相同:「Socialhome is best described as a federated personal profile with social networking functionality」(最贴切的描述是一个带社交网络功能的联邦化个人主页)。用户可以用 Markdown 创作富内容,受信任用户甚至可以直接写 HTML/JS/CSS;所有内容都能钉(pin)在个人主页上,并且全部会联邦到联邦社交网络里的联系人(来源:https://socialhome.readthedocs.io/en/latest/ 与 Codeberg README,查询日期 2026-11-02)。

这决定了它与 Mastodon 类产品的气质差异:Mastodon 是「时间线广场」,Socialhome 是「个人主页为第一公民」——你的 profile 页就是内容聚合地,社交流围绕主页展开。

联邦协议层面,官方原文:「Currently federation happens using the ActivityPub and Diaspora protocols」——即 Socialhome 同时接入 AP 社区(Mastodon、Akkoma、GoToSocial 等)与 Diaspora* 社区两个联邦网络(来源:官方文档站 Description 一节,查询日期 2026-11-02)。

核心事实速览(均标注来源,查询日期 2026-11-02):

维度事实来源
定位联邦化个人主页 + 社交网络功能,内容可钉在 profile官方文档站/README Description
最新稳定版后端 v0.24.0(2026-08-01 打 tag);前端 socialhome-ui 0.12.2Codeberg tags 页 / Codeberg 制品库
技术栈Python 3.12 + Django 4.2 系(Channels/Daphne 承载 HTTP 与 WebSocket)官方仓库依赖清单(requirements/production.txt)
任务体系双轨:django-rq(5 级队列)+ Dramatiq,另跑 APScheduler 定时进程官方仓库依赖清单与 config/circus_docker.ini
必需外部依赖PostgreSQL + Redis(两者都是硬依赖)官方文档 Docker 安装页
全文搜索内置 Haystack + Xapian 本地索引,无需外部搜索服务官方仓库 settings 配置
前端形态独立 SPA(socialhome-ui),后端不再自带界面官方文档 Docker 安装页「does not include any frontend」
联邦协议ActivityPub + Diaspora 双协议官方文档站 Description
许可AGPLv3官方文档站 Source code 一节
社区渠道Matrix #socialhome:federator.dev(README 徽章)、实例目录 https://the-federation.info/socialhome仓库 README
维护形态发起人 Juha Yrjölä(jaywink)主导的个人项目演化,现托管于 Codeberg 组织 socialhome;翻译走 Codeberg Translate(项目名 backendoldui)仓库 README 链接与徽章,查询日期 2026-11-02
版本节奏v0.16.0(2023-02-08)→ v0.24.0(2026-08-01)共 10 个 tag,年均 2~4 个次版本Codeberg tags 页全量清点

💡 说明:Codeberg tags 页可查的近三年节奏为 v0.16.0/0.17.0(2023)、v0.18.0/0.18.1/0.19.0/0.20.0(2024)、v0.21.0/0.22.0(2025)、v0.23.0(2026-03-29)、v0.24.0(2026-08-01)——发布不算密集但持续有产出,主仓库 2026-11-01 仍有提交(查询日期 2026-11-02)。

三、核心架构

本章拆解 Socialhome 单实例的内部组成,这是理解其资源占用与运维复杂度的基础。

3.1 后端:一个 Django 项目、四类常驻进程

官方文档 Docker 安装页与仓库 config/circus_docker.ini 给出了完整的进程模型:后端应用由 Circus 进程管理器统一拉起并守护以下进程:

进程承载伸缩变量说明
DaphneHTTP + WebSocket(ASGI)DAPHNE_WORKER_NUM(默认 1)Channels 官方服务器,监听 23564 端口,联邦投递与实时流都走这里
RQ workerdjango-rq 队列任务RQWORKER_NUM(默认 1)队列分 highest/high/default/low/lowest 五级,联邦推送类任务走此轨
Dramatiq重后台任务DRAMATIQ_NPROCS(默认=vCPU 数)/DRAMATIQ_NTHREADS(默认 8)官方文档称联邦投递等重活走 Dramatiq 轨
APScheduler定时任务—官方命令名 runscheduler,跑周期性抓取/清理

💡 技术拓展:「同一应用内同时挂 RQ 与 Dramatiq 两套任务系统」在自托管社交服务端里相当罕见——这是 Socialhome 历史演进的产物(早期用 django-rq,后引入 Dramatiq 承接联邦重任务,但 RQ 轨未拆)。运维时两套 worker 都要盯,排障面翻倍。

3.2 内存账:官方给的数字

官方文档 Docker 安装页「Backend memory requirements」一节逐字给出容量规划依据(来源:https://socialhome.readthedocs.io/en/latest/installation.html,查询日期 2026-11-02):

  • 基础水位约 650MB;
  • Daphne 每个 worker 约 320MB;
  • Dramatiq 每个 vCPU 约 500MB(可用 DRAMATIQ_NPROCS/DRAMATIQ_NTHREADS 压低);
  • 官方例子:4 vCPU 主机、零额外配置,约需 3GB 可用内存。

3.3 前后端解绑:v0.23+ 的关键架构变化

官方文档 Docker 安装页明确「The backend application container does not serve media and does not include any frontend」——后端不再内置任何用户界面,界面由独立仓库 socialhome-ui(Vue SPA,当前 0.12.2)提供。两者的衔接完全交给负载均衡层的路由规则:

  • 路径前缀 /ch、/receive、/admin、/api、/django-rq、/fetch、/hcard、/jsi18n、/nodeinfo、/static、/webfinger、/.well-known 必须转给后端 23564 端口;
  • Accept 头命中 application/(activity|ld)+json 或 application/(xrd+|magic-envelope+)xml 的请求也必须转后端(这是联邦对端识别的关键);
  • 其余请求一律落到前端 SPA 的 index.html;
  • TLS 由 LB 终结并回写 X-Forwarded-Proto: https。

(来源:官方文档 Docker 安装页 Routing to the backend/frontend 两节,查询日期 2026-11-02。)

💡 说明:旧界面并未消失而是「退役另立」——Codeberg Translate 上 Socialhome 的翻译项目名仍叫 backendoldui,印证旧 Django 模板 UI 曾长期内置、现已从后端主线剥离(查询日期 2026-11-02)。

3.4 联邦与搜索

  • 双协议:ActivityPub + Diaspora。Diaspora 侧通过 Python 库 federation(官方仓库依赖清单 0.27.0)实现,这让 Socialhome 成为现役服务端里少数能原生桥接 Diaspora* 社区的节点(对照:Mastodon/Akkoma/GoToSocial 均只有 AP)。
  • 发现机制:标准 /.well-known/webfinger 与 hcard、nodeinfo 端点由后端提供(官方文档路由清单即证)。
  • 全文搜索:Django Haystack + Xapian 本地引擎,索引落盘在应用目录下 var/(官方仓库 settings 配置,查询日期 2026-11-02),不需要 Elasticsearch 之类外部服务——这是它比 Mastodon 搜索栈省心的地方。

四、功能特性与产品边界

官方文档站 Description 与 running 章节可复核的功能面(查询日期 2026-11-02):

  • 富内容:Markdown 创作;受信任用户可写 HTML/JS/CSS;内容可钉在个人主页——「个人主页即作品集」的产品抓手;
  • 双社区触达:一份内容同时联邦到 AP 与 Diaspora* 网络;
  • 管理面:标准 Django admin(/admin);政策文档(ToS/隐私政策)有内置草稿-发布工作流,可向用户群发政策更新邮件(running 章节 Policy documents 一节);
  • 注册治理:支持关闭注册(DJANGO_ACCOUNT_ALLOW_REGISTRATION)与「注册需管理员审批」(ACCOUNT_SIGNUP_REQUIRE_ADMIN_APPROVAL);
  • 实例可见度:官方建议把实例登记到 the-federation.info、podupti.me,并可开启 SOCIALHOME_STATISTICS 贡献匿名活跃度数据(running 章节原文)。

产品边界(同样来自官方文档,须在看选型前知道):

  • 不是 Mastodon API 兼容服务端:官方文档与仓库从未宣称 Mastodon API 兼容,对外 API 是自家基于 Django REST Framework 的 REST 端点——主流第三方客户端(Mastodon、Toot 类等)连不上 Socialhome;
  • 注册强依赖邮件:running 章节原文「email is required for signing up」,没有可用邮件服务实例就发不了邀请/确认邮件;
  • Matrix 协议支持仅 alpha:running 章节自述「Note! Extremely alpha, work on progress, non-functional」,且需额外部署专用 Dendrite 服务器,当前不可用作生产特性;
  • 治理/审核工具面薄:文档提供的运营手段是删号命令、锁远端 profile、注册审批一类,无 Mastodon 式举报/域封禁体系。

五、部署形态与官方制品

官方文档 Installation 板块给出多条安装路径,与制品形态直接相关(查询日期 2026-11-02):

形态官方支持度说明
Ubuntu 裸机(circus + 虚拟env)官方主推running 章节的运维口径(日志、重启命令)都以裸机为基准
Docker官方支持,文档独立成页后端预构建制品发布在 Codeberg 容器制品库(codeberg.org/socialhome/socialhome,可匿名拉取);前端没有官方预构建镜像,需自取 generic 包解压后由 Web 服务器托管
docker-compose 编排文件官方从未提供现行仓库无 compose 文件(2016 年 cookiecutter 脚手架遗留即删);官方 Docker 路线就是「后端制品 + PostgreSQL + Redis + LB」四件套组合,本专栏 B2 篇按官方指南组装并实测

⚠️ 说明:Codeberg 上另有 latest 标签制品,但其内部版本号落后于最新 tag(查询日期 2026-11-02 实查为 0.23.0);GitLab registry.gitlab.com/jaywink/socialhome 为更陈旧的构建。选型与部署都应锚定带版本号的 tag 制品。

六、适用场景与不适用场景

适合:

  • 把「个人主页」当第一诉求的联邦用户:Markdown/富 HTML 内容 + pin 到 profile 的模型,接近「社交化的个人站」;
  • 需要同时触达 Diaspora 与 AP 两个社区*:现役服务端里独一份的双协议原生实现(对照专写 Diaspora pod 的 《diaspora* 介绍与选型指南》 与 AP 系各家);
  • Django/Python 技术栈的自托管运维者:配置全部走环境变量 + Django settings,管理命令就是 manage.py 全家桶,二次开发门槛低(详见本专栏配置与 CLI 两篇);
  • 小规模私有实例:支持关注册/审批制,配合 3GB 级内存预算可稳定跑个人+家庭规模。

不适合:

  • 指望手机第三方客户端生态:Mastodon API 不兼容,只能用网页 SPA 或自家 API 写集成;
  • 小内存 VPS(<2GB):四类常驻进程 + 双任务体系,官方基础水位就 650MB,4vCPU 默认配置约 3GB(见 3.2);
  • 需要成熟运营/审核工具链的公共大实例:治理面远薄于 Mastodon(对照 《Mastodon 4.7.3 介绍与选型指南》);
  • 要「单二进制零依赖」极省事路线:PostgreSQL 与 Redis 双硬依赖、前后端两段部署,GoToSocial 才是那一档(对照 《GoToSocial 0.22.3 介绍与选型指南》)。

七、同类量化选型对比

本章把 Socialhome 与联邦宇宙四个主流自托管服务端做量化对比。竞品列数据沿用本平台 《Akkoma 3.20.1 介绍与选型指南》 同批次的官方站点检索口径(查询日期 2026-10-26 至 2026-11-02),Socialhome 列为本文 2026-11-02 实查,横向对比时注意日期相差一周、量级结论不受影响。

维度Socialhome 0.24.0Mastodon 4.7.3Akkoma 3.20.1GoToSocial 0.22.3Misskey
语言/框架Python 3.12 / Django 4.2(Channels ASGI)Ruby on Rails + Node.jsElixir/Phoenix(BEAM)Go(单二进制)Node.js(TypeScript)
常驻应用进程4 类(Daphne、RQ worker、Dramatiq、APScheduler,Circus 守护)3 类:Web(Puma)、Streaming、Sidekiq1 类(BEAM 单进程组)1 类(单二进制内含全部)Web + 后台 worker
必需外部依赖PostgreSQL + RedisPostgreSQL + RedisPostgreSQL(唯一)PostgreSQLPostgreSQL + Redis
全文搜索内置(Haystack + Xapian 本地索引)需 Elasticsearch(可选)内置(PG 全文检索)内置(简版)内置(PG/MeiliSearch 可选)
联邦协议ActivityPub + Diaspora 双协议ActivityPubActivityPubActivityPubActivityPub
客户端 API自家 REST(DRF),不兼容 Mastodon APIMastodon API(事实标准,生态最广)Mastodon API 兼容 + 扩展Mastodon API 兼容(部分未实现)自有 API + 兼容子集
前端形态独立 SPA(socialhome-ui 0.12.2),LB 路由衔接内置打包可插拔静态前端无官方界面,靠第三方客户端内置 Vue
资源定位中间档:基础 ~650MB,4vCPU 默认 ~3GB(官方数字)最重一档:官方另有独立 scaling 文档最低一档(BEAM)官方定位 lightweight,尚处 BetaNode 全家桶,2GB+ 内存较稳
预构建制品Codeberg 容器制品库(后端)+ generic 包(前端);无官方 composeghcr.io 双制品随版本发布OTP releases 活跃ghcr.io 单制品GitHub Container Registry
版本节奏(实查)v0.16→v0.24.0 共 10 tag(2023-02→2026-08),年均 2~44.4/4.5/4.6/4.7 四线并行补丁2022-08→2026-09 共 25 release0.x Beta高频(14.x 系)
许可AGPLv3AGPL-3.0AGPL-3.0AGPL-3.0AGPL-3.0
代码托管Codeberg(主阵地 23 星;GitHub 镜像 379 星)GitHub(50k+ 星)akkoma.dev(自托管 Gitea)CodebergGitHub(11k 星)

关键差异与选型建议:

  • 要「个人主页 + 双社区触达」→ Socialhome:它是现役实现里唯一原生同时说 ActivityPub 与 Diaspora 的,内容模型(Markdown/富 HTML + pin 到 profile)也最接近「社交化的个人站」;代价是 Mastodon API 不兼容导致客户端生态为零、四类常驻进程与双任务体系的运维复杂度、以及小社区(主仓库 23 星、核心一人);
  • 要「稳、生态全、可运营大社区」→ Mastodon:唯一有官方 App、治理功能最完整的一档;代价是五服务栈与最高内存水位(实测数据见 《Mastodon 4.7.3 Docker Compose 部署指南》 第一章);
  • 要「小机器 + Mastodon 客户端兼容」→ Akkoma(站内专篇)或 GoToSocial:两者都比 Socialhome 省资源、省进程,但没有 Diaspora 通道;
  • 要「纯 Diaspora pod」→ diaspora**(站内专篇);要「多协议聚合(含老网络)」→ Friendica(站内专篇);
  • 一句话画像:Socialhome 用「部署复杂度 + 客户端生态」换「个人主页表达力 + 双协议桥接」,是为 Django 系自托管玩家和 Diaspora*/AP 双栖用户准备的选择。

💡 说明:Socialhome 主仓库在 Codeberg,GitHub 星数(379)属于镜像且 issues 已关闭,不宜直接与他家横比热度;其活跃度以「主仓库 2026-11-01 有更新、v0.24.0 发布于 2026-08-01、实例目录 the-federation.info/socialhome 可查」三个可复核维度替代。

八、参考链接

  • 官方站点:https://socialhome.network(本身即一个 Socialhome 实例主页)
  • 官方文档站:https://socialhome.readthedocs.io/en/latest/(Description、Installation/Docker、Running an instance 为本文架构与功能依据)
  • 官方代码仓库(主阵地):https://codeberg.org/socialhome/socialhome(tags 页为版本节奏依据;config/circus_docker.ini 为进程模型依据)
  • 前端仓库:https://codeberg.org/socialhome/socialhome-ui(0.12.2 generic 制品与 INSTALLATION.md 为前端衔接依据)
  • 后端制品库:https://codeberg.org/socialhome/-/packages/container/socialhome
  • GitHub 镜像:https://github.com/jaywink/socialhome(issues 已关闭)
  • 实例目录:https://the-federation.info/socialhome、https://podupti.me
  • 社区渠道:Matrix #socialhome:federator.dev;翻译平台 https://translate.codeberg.org/projects/socialhome/backendoldui/
  • 协议标准:ActivityPub https://www.w3.org/TR/activitypub/;Diaspora 协议 https://diaspora.github.io/diaspora_federation/
  • 同生态对照实测:《Mastodon 4.7.3 介绍与选型指南》、《Akkoma 3.20.1 介绍与选型指南》、《GoToSocial 0.22.3 介绍与选型指南》、《diaspora* 介绍与选型指南》、《Friendica 2026.05 介绍与选型指南》
Socialhome 0.24.0 介绍与选型指南 - Quzuo