Akkoma 3.20.1 介绍与选型指南
面向自托管联邦社交网络的认知溯源篇:讲清 Akkoma 3.20.1 的 Pleroma 分支背景、BEAM 架构与功能边界,并与 Mastodon、Pleroma、Misskey、GoToSocial 做量化选型对比,全部信息官方溯源并标注查询日期 2026-11-02。
Akkoma 3.20.1 介绍与选型指南
目标:面向「准备自托管联邦社交网络、在 Mastodon 与轻量 BEAM 系服务端之间做选择」的读者,讲清 Akkoma 是什么、从哪来、架构如何、有哪些功能边界,并与 Pleroma、Mastodon、Misskey、GoToSocial 做量化选型对比。本文为认知溯源篇,全部信息来自官方站点、官方文档站、官方 Gitea 仓库与官方发布订阅的联网取证,查询日期统一为 2026-11-02,未做本地实测;部署实测与命令回显见本专栏部署篇。
一、环境信息
本章说明本文的信息检索口径,供读者复核每一条结论的来源。
- 组件与版本:Akkoma v3.20.1(查询当日官方 Gitea Releases 最新稳定版,来源:
https://akkoma.dev/AkkomaGang/akkoma/releases.atom,查询日期 2026-11-02;该 release 标题为「2026.09 security release」,发布于 2026-09-27,正文仅一句 "Just a rebuild with a new dep",即随依赖安全更新的重构建补丁)。 - 官方代码仓库:
https://akkoma.dev/AkkomaGang/akkoma(项目自托管 Gitea;原 GitHub 组织akkoma-platform/akkoma已不可访问,查询返回 404,查询日期 2026-11-02)。 - 官方文档站:
https://docs.akkoma.dev/stable/(含 Administration / Configuration / Installation / API / Development 五大板块)。 - 官方站点:
https://akkoma.social(产品定位与 FAQ 来源)。 - 代码许可:AGPL-3.0(来源:官方文档站首页「It is free software licensed under the AGPLv3」及 Docker Hub 镜像 labels
org.opencontainers.image.licenses=AGPL-3.0,查询日期 2026-11-02)。 - 本文性质:A1 认知篇,仅联网溯源,所有数据标注来源与查询日期;环境实测(部署、命令回显、资源占用)见本专栏部署与配置各篇。
⚠️ 说明:Akkoma 主仓库不在 GitHub,因此业界惯用的 GitHub 星数指标对其不适用;本文以「实例目录、发布节奏、社区渠道」三个可查维度替代热度锚点(见第七章)。
二、软件概述
本章回答「Akkoma 是什么、从哪来、由谁维护」三个基本问题。
Akkoma 是一个自由开源的联邦式(decentralized)社交网络服务器,基于 W3C ActivityPub 标准实现跨服务器互相关注、互发消息的「联邦宇宙」(Fediverse)。官方站点将其概括为「Magically Expressive Social Media」,并自我描述为「twitter 与 email 的孩子」——用户注册在任意实例上,即可与任意 ActivityPub 实例(Mastodon、Pleroma、Misskey 等)的用户互通(来源:akkoma.social 首页,查询日期 2026-11-02)。
与 Pleroma 的分支关系是理解 Akkoma 的关键:官方 FAQ 明确写道「对 Pleroma 开发者能否恢复活力缺乏信心」是 fork 的动因(长文解释见 https://coffee-and-dreams.uk/development/2022/06/24/akkoma.html),并且 Akkoma「开发节奏更快,产品取向向 Misskey 对齐得比 Pleroma 主线更近」,差异化卖点是自定义表达——自定义 emoji 回应(reactions)与 Misskey 风味 Markdown(MFM)(来源:akkoma.social 首页,查询日期 2026-11-02)。
核心事实速览(均标注来源,查询日期 2026-11-02):
| 维度 | 事实 | 来源 |
|---|---|---|
| 定位 | 联邦式社交网络服务器(ActivityPub),Pleroma 的功能激进分支 | akkoma.social 首页与 FAQ |
| 最新稳定版 | v3.20.1(2026-09-27 发布) | 官方 Gitea releases.atom |
| 技术栈 | Elixir/Phoenix(BEAM 虚拟机),后端与前端两组件 | 官方文档站首页「two components: a backend, named simply Akkoma, and a user-facing frontend, named akkoma-fe」 |
| 数据库 | PostgreSQL 12+(官方 Docker 路线默认库主机名 db、口令 akkoma) | 官方文档站 Installing in Docker / Debian 安装指南依赖清单 |
| 缓存/队列 | 无 Redis 依赖:v3.20.1 源码(mix.exs/mix.lock/config/lib)全文检索零处 redis,PostgreSQL 为唯一必需外部服务 | 官方仓库源码检索 + 官方 Debian 安装指南「Required dependencies」清单(无 redis 项),查询日期 2026-11-02 |
| 前端制品 | akkoma-fe(默认)+ Glitch-soc 版 Mastodon 前端(/web 路径)+ admin-fe 管理前端 | 官方文档站首页与 Frontend Management 章节 |
| 许可 | AGPL-3.0 | 官方文档站首页 |
| 社区渠道 | IRC irc.akkoma.dev:6697(#akkoma / #akkoma-dev)、论坛 meta.akkoma.dev、实例目录 the-federation.info/akkoma | 官方文档站 Community Channels |
| 版本节奏 | 2022-08 首个 stable(v3.1.0)至 2026-09 共 25 个 release;2026 年内 5 个(v3.18.0/3.18.1/3.19.0/3.20.0/3.20.1),其中 3 个安全发布 | 官方 Gitea releases.atom 全量清点 |
💡 说明:Akkoma 由 floatingghost(Hannah Schuster,
hannah@coffee-and-dreams.uk)主导发起,releases.atom 中全部 25 个 release 的署名人均为该账号(查询日期 2026-11-02);项目治理围绕 meta.akkoma.dev 论坛与 IRC 展开,无商业公司背书,这一定位直接体现在「小而快的功能迭代 + 安全补丁随发」的节奏上。
三、核心架构
本章拆解 Akkoma 单实例的内部组成与联邦协议层,这是理解其资源占用与运维复杂度的基础。
3.1 双组件模型:后端 + 前端
官方文档站首页明确:Akkoma 由**后端(即 Akkoma 本体,Elixir/Phoenix 应用)与用户前端(akkoma-fe)**两个组件构成,并且「如果你偏好 Mastodon 界面,它也内置了 Mastodon 前端」——该 Mastodon 界面取自 Glitch-soc 分支,访问实例 URL 加 /web 即可使用,「你看到的只是 Mastodon 的前端部分,后端仍然是 Akkoma」(来源:docs.akkoma.dev 首页 Mastodon interface 一节,查询日期 2026-11-02)。
| 组件 | 形态 | 说明 |
|---|---|---|
| Akkoma 后端 | Elixir/Phoenix 单体应用(BEAM 虚拟机) | 承载 Web、REST API、联邦投递、后台任务——全部在同一个 BEAM 进程组内,无独立 worker 进程 |
| akkoma-fe | 静态前端(独立制品,随版本解绑) | 默认用户界面;官方文档注明「前端不再随发行包捆绑,需要额外命令安装」(mix pleroma.frontend install pleroma-fe --ref stable) |
| Mastodon 前端(Glitch-soc) | 静态前端 | 多列时间线布局爱好者选项,/web 路径挂载 |
| admin-fe | 管理前端 | 实例管理界面,同样以前端制品方式安装 |
💡 技术拓展:联邦社交服务端的前端绑定方式不止本文所用的「后端 + 可插拔静态前端」一种。常见形态对比——
形态 代表实现 特点 后端+可插拔静态前端 Akkoma/Pleroma(akkoma-fe、glitch-fe、admin-fe 任选) 前端独立升级、可换皮,官方路线即本文所述 前后端同仓同部署 Mastodon Rails 视图+打包 JS,界面不可换 自有 SPA+API Misskey 强绑定自家 API 仅 API、界面全靠第三方 GoToSocial 官方无 Web 界面,客户端生态承担 UI Akkoma 采用第一种,因此同一后端可以面向不同用户群提供 akkoma-fe 或 Mastodon 式界面,这是它「向 Mastodon 用户抢人」的产品抓手。
3.2 进程模型:单 BEAM 进程承载全部
与 Mastodon 的「Puma + Node streaming + Sidekiq」三进程模型不同,Akkoma 继承并激进化了 Pleroma 的架构:一个 BEAM 虚拟机进程同时承载 HTTP 端点、流式推送、联邦投递与后台任务,PostgreSQL 是唯一必需的外部服务——Pleroma 时代的 Redis 依赖在 Akkoma 中已被彻底移除(v3.20.1 源码 mix.exs/mix.lock/config/lib 全文检索零处 redis 命中;官方 Debian 安装指南 Required dependencies 仅列 PostgreSQL 12+、Elixir 1.15+、Erlang OTP 26+、git、file/libmagic、gcc、make、CMake,查询日期 2026-11-02)。这一模型使 Akkoma 属联邦服务端中资源占用最低的一档,官方站点对 BEAM 路线的性能自述是「Akkoma 在处理常见操作时持续比 Pleroma 快 30-50%」(来源:akkoma.social 首页 Features 一节,查询日期 2026-11-02,属官方自述口径)。
3.3 联邦协议与 API 层
- ActivityPub:实例间帖子(Create/Announce/Like/Follow 等 Activity)投递与收件箱拉取的主协议;
- WebFinger:
@用户名@域名到 actor URL 的发现解析; - API 面(官方文档站 API 板块清单,查询日期 2026-11-02):Mastodon API 兼容层(含专页「Differences in Mastodon API responses from vanilla Mastodon」逐条列出与原版 Mastodon 响应差异)、Pleroma API(继承自 Pleroma 的扩展端点)、Akkoma API(本分支新增扩展)、Admin API、Nodeinfo、Prometheus Metrics(原生指标端点)。
💡 技术拓展:联邦社交的服务端协议不止 ActivityPub 一种。主要选项对比——
协议 代表实现 特点 现状 ActivityPub Akkoma、Mastodon、Pleroma、Misskey、GoToSocial W3C 标准,收件箱/发件箱模型,生态最广 事实标准 OStatus 早期 Mastodon、GNU social 基于 Atom+Salmon 的上一代协议 主流实现均已移除 Zot/Zot6 Hubzilla 支持跨实例身份克隆(nomadic identity) 小众 Nostr 各类 relay 实现 密钥即身份、无服务器账户概念 另立生态,与 AP 不互通 Akkoma 仅支持 ActivityPub(含 WebFinger 发现),本文所述部署形态即基于该协议。
3.4 存储与扩展组件
- PostgreSQL:账户、帖子、时间线、关系、配置(支持将配置迁入数据库管理,见文档站「Transferring the config to/from the database」)等全部结构化数据,也是唯一必需外部服务(无 Redis,流式推送与缓存均由 BEAM 进程内解决);
- 本地媒体目录或 S3:上传文件默认落盘
uploads/,可切 S3 兼容对象存储; - 可选媒体工具链:ImageMagick(上传滤镜 mogrify、静态图预览代理)、ffmpeg(视频预览代理)、ExifTool(元数据剥离/读取滤镜)——官方可选依赖页明确「当前默认设置下均非必需」(来源:docs.akkoma.dev Optional software packages 页,查询日期 2026-11-02);
- 内置全文检索:基于 PostgreSQL 全文检索(官方文档提供中日韩分词启用指南「How to enable text search for Chinese, Japanese and Korean」),无需 Elasticsearch;
- 可选集成:XMPP(ejabberd/MongooseIM 认证集成)、Varnish 缓存、Tor/I2P 联邦接入(文档站 Integrations/Optimisation 板块,查询日期 2026-11-02)。
四、功能特性
本章列举与自托管决策直接相关的功能面(依据官方站点 Features/FAQ 与文档站功能章节,查询日期 2026-11-02)。
- 发布与互动:不限数量的附件(官方原文 "unlimited attachments per post")、自定义 emoji 回应(reactions,联邦内跨实例传播)、**Misskey 风味 Markdown(MFM)**动画富文本、无限次编辑已发布帖子、引用转发(quote)、投票(polls);
- 时间线:首页聚合、本地/联邦时间线、列表(lists)自定义订阅;
- 界面:akkoma-fe 默认界面 + Glitch-soc Mastodon 式多列界面(
/web)双前端可切换; - 治理:admin-fe 管理界面、Admin API、CLI 任务体系(用户管理、emoji 包管理、前端管理、中继管理、安全任务等,见文档站 Administration/CLI tasks 目录);
- 可观测:原生 Prometheus Metrics 端点、Monitoring Akkoma 官方监控指引;
- 迁移能力:Pleroma → Akkoma 全量迁移官方支持(FAQ:「Is it possible to migrate to Akkoma from Pleroma? Yes, entirely!」);反向迁移官方明确「可行但更麻烦,需回滚迁移且可能丢失 Akkoma 特有功能的数据」;
- 明确的减法:聊天(chats)功能已被移除且无恢复计划——官方 FAQ 原文称 Pleroma 的 chats 实现糟糕、复杂度不值得,「实时聊天不属于 ActivityPub 实现的分内之事,应由独立服务承担」(查询日期 2026-11-02)。
💡 说明:与 Mastodon 相比,Akkoma 的功能增量集中在「表达层」(MFM、reactions、quote、无限编辑、无限附件),治理与审核工具面弱于 Mastodon;与 Misskey 相比,它用 ActivityPub 原生兼容换来 Mastodon 客户端生态,但 MFM 方言与 Misskey 不完全互通。
五、快速开始(最小可用示例)
本章给出官方生产部署路径的最小骨架,便于快速建立认知;完整命令与真实回显见本专栏部署篇。
官方文档站提供三条主流安装路线(Installation 板块,查询日期 2026-11-02):OTP releases(预编译 Erlang/Elixir 发布包,./bin/pleroma_ctl 命令族)、分发行源码安装(Alpine/Arch/Debian/Fedora/Gentoo/FreeBSD/NetBSD/OpenBSD 各有专页)、Docker 安装。其中 Docker 路线的官方形态是「依赖薄封装」:克隆 akkoma 仓库 stable 分支后,用 ./docker-resources/build.sh 构建一个只含依赖运行时的本地镜像(官方原文:"The container provided is a thin wrapper around akkoma's dependencies, it does not contain the code itself"),代码经 bind mount 进入容器,随后依次执行 ./docker-resources/manage.sh mix deps.get / mix compile / mix pleroma.instance gen 生成实例配置、初始化 PostgreSQL(库主机名 db、口令 akkoma)、mix ecto.migrate 建表、docker compose up 起服务(默认 4000 端口),最后 mix pleroma.user new <用户名> <邮箱> --admin 创建管理员、mix pleroma.frontend install pleroma-fe --ref stable 安装前端。
⚠️ 注意(制品事实):Docker Hub 上的
akkoma/akkoma镜像仓库经实查只有buildx/latest/next/test四个 tag、没有stabletag,且latest镜像的构建时间戳停留在 2023-07-27(来源:registry tag 列表与镜像 config 实测查询,2026-11-02)——预构建镜像路线已停滞,官方文档的 Docker 路线本身就是上述「仓库内构建薄封装」的方式,本专栏部署篇即按该官方路线实测。
完整可复现的部署、配置与命令实测见本专栏《Akkoma 3.20.1 Docker Compose 部署指南》(写作中);同类 Rails 路线的对照实测见 《Mastodon 4.7.3 Docker Compose 部署指南》。
六、适用场景与限制
本章给出「什么团队该选/不该选 Akkoma」的边界判断。
适用场景:
- 小机器上的联邦节点:单 BEAM 进程 + 仅 PostgreSQL 必需依赖,1~2GB 内存虚拟机即可起步,是「想要 Mastodon 式体验但付不起五服务栈」的经典答案;
- 表达重度用户/小社群:MFM 动画、emoji 回应、引用转发、无限编辑与无限附件,产品气质接近 Misskey 但客户端兼容 Mastodon API;
- Pleroma 存量实例:官方支持全量迁移,且功能演进快于 Pleroma 主线,是 Pleroma 社区事实上的「活跃分支归宿」;
- 个人数据主权玩家:AGPL-3.0、自托管 Gitea 开发、IRC/论坛社区,无商业公司主导路线图的干扰。
限制(自托管视角,来源官方文档与 FAQ,查询日期 2026-11-02):
- 治理工具面薄于 Mastodon:审核、举报处理、角色权限细分等运营功能不如 Mastodon 完整,大型公共实例运营需评估(Mastodon 侧能力见 《Mastodon 4.7.3 介绍与选型指南》 第四章);
- 文档存在 Pleroma 残留:官方文档站首页明确标注「Akkoma documentation is still being updated, so you may still see references to Pleroma in many places」,命令族仍叫
mix pleroma.*、配置文件仍叫prod.secret.exs,新手易混淆; - 预构建制品停滞:Docker Hub 镜像 2023 年后未更新(见第五章注意事项),OTP releases 与源码构建才是活路线;
- 无实时聊天:chats 已永久移除,需要 IM 能力得另配服务;
- 总线因子(bus factor)低:发布与核心开发高度集中于发起人一人(releases.atom 署名全量清点,见第二章说明),选型的维护风险锚点;
- 域名即身份:与所有 AP 服务端一样,实例主机名一经开放联邦不可安全更改,规划必须一次定型。
七、同类选型对比
本章把 Akkoma 与联邦宇宙另外四个主流自托管服务端做量化对比。对比维度取「技术栈/进程模型、依赖组件、资源特征、联邦与 API 兼容、制品与版本节奏、许可与托管位置」;Akkoma 列数据查询日期 2026-11-02(官方 releases.atom/文档站/Docker Hub registry 实查),竞品列数据沿用本平台 《Mastodon 4.7.3 介绍与选型指南》 第七章的官方站点检索口径(查询日期 2026-10-26),横向对比时注意两个日期相差一周、量级结论不受影响。
| 维度 | Akkoma 3.20.1 | Pleroma | Mastodon 4.7.3 | Misskey | GoToSocial |
|---|---|---|---|---|---|
| 语言/框架 | Elixir/Phoenix(BEAM) | Elixir/Phoenix(BEAM) | Ruby on Rails + Node.js | Node.js(TypeScript) | Go(单二进制) |
| 常驻应用进程 | 1 类(BEAM 单进程承载 Web+联邦+后台任务) | 1 类(同左) | 3 类:Web(Puma)、Streaming(Node)、Sidekiq | Web + 后台 worker | 1 类(单二进制内含全部) |
| 必需外部依赖 | PostgreSQL(唯一,Redis 已从代码库移除) | PostgreSQL(Redis 可选) | PostgreSQL + Redis | PostgreSQL + Redis | PostgreSQL |
| 全文搜索 | 内置(PG 全文检索,CJK 有专页) | 内置(PG) | 需 Elasticsearch(可选) | 内置(PG/MeiliSearch 可选) | 内置(简版) |
| 资源定位 | 最低一档;官方自述比 Pleroma 快 30-50% | 官方定位轻量 | 最重一档:官方另有独立 scaling 文档 | Node 全家桶,2GB+ 内存较稳 | 官方定位 lightweight,尚处 Beta |
| 表达特性 | MFM、emoji 回应、引用、无限编辑/附件 | 基础集 | 基础集+投票/CW | MFM 发源地、功能最花哨 | 基础集 |
| 客户端 API | Mastodon API 兼容 + Pleroma/Akkoma/Admin 扩展 + Prometheus | Mastodon API 兼容 + Pleroma API | Mastodon API(事实标准,生态最广) | 自有 API + 兼容子集 | Mastodon API 兼容(部分未实现) |
| 预构建制品 | OTP releases 活跃;Docker Hub 镜像停滞于 2023-07 | 无官方容器制品 | ghcr.io 双镜像随版本发布 | GitHub Container Registry | ghcr.io 单镜像 |
| 版本节奏(实查) | 2022-08→2026-09 共 25 release;2026 年内 5 个、3 个安全发布 | 稳定线滚动发布 | 4.4/4.5/4.6/4.7 四线并行补丁 | 高频(14.x 系) | 0.x Beta |
| 许可 | AGPL-3.0 | AGPL-3.0 | AGPL-3.0 | AGPL-3.0 | AGPL-3.0 |
| 代码托管 | akkoma.dev(自托管 Gitea) | git.pleroma.social | GitHub(50k+ 星) | GitHub(11k 星) | Codeberg |
关键差异与选型建议:
- 要「小机器 + 强表达 + Mastodon 客户端兼容」→ Akkoma:它是 BEAM 系里功能演进最活跃的一支,MFM/reactions/quote 直接对齐 Misskey 体验,同时吃 Mastodon API 生态;代价是治理工具薄、文档带 Pleroma 残留、维护高度依赖核心一人;
- 要「稳、生态全、可运营大社区」→ Mastodon:唯一有官方 App、治理功能最完整、扩容文档最体系化的实现;代价是五服务栈与最高内存水位(实测数据见 《Mastodon 4.7.3 Docker Compose 部署指南》 第一章);
- Pleroma vs Akkoma:同一技术底座,Akkoma 是「功能更激进、发布更勤」的分支;新实例无理由选 Pleroma 主线,存量 Pleroma 可全量迁 Akkoma(官方 FAQ 承诺);
- 要「极致省心的单二进制」→ GoToSocial:无 Redis、无 BEAM、无前端(靠第三方客户端),但尚处 Beta 且无 Web 管理界面;
- 要「功能最花哨的独立宇宙」→ Misskey:MFM 原产地,但 API 自成体系,与 Mastodon 客户端生态兼容是子集。
💡 说明:上表四个竞品的主仓库分别托管在 GitHub/Codeberg/git.pleroma.social,热度指标不可直接横比,故仅保留 GitHub 系(Mastodon/Misskey)星数锚点;Akkoma 的活跃度以「发布节奏(2026 年内 5 个 release、其中 3 个安全发布)」与「实例目录
https://the-federation.info/akkoma」两个可复核维度替代星数。
八、参考链接
- 官方站点(定位与 FAQ):
https://akkoma.social/ - 官方文档站:
https://docs.akkoma.dev/stable/(Installation/Administration/Configuration/API 板块为本文架构与功能依据) - 官方代码仓库(Gitea):
https://akkoma.dev/AkkomaGang/akkoma(stable 分支;docker-resources/为第五章 Docker 路线依据) - 官方 Releases 订阅:
https://akkoma.dev/AkkomaGang/akkoma/releases.atom(版本节奏数据来源) - fork 动因长文:
https://coffee-and-dreams.uk/development/2022/06/24/akkoma.html - 实例目录:
https://the-federation.info/akkoma、https://akkoma.fediverse.observer/list - 社区论坛:
https://meta.akkoma.dev/;IRC:irc.akkoma.dev:6697(#akkoma / #akkoma-dev) - ActivityPub 标准:
https://www.w3.org/TR/activitypub/ - 同生态对照实测:《Mastodon 4.7.3 介绍与选型指南》、《Mastodon 4.7.3 Docker Compose 部署指南》