Pleroma 2.11.0 介绍与选型指南

面向自托管联邦社交网络的认知溯源篇:讲清 Pleroma 2.11.0 的 BEAM 单进程架构、前后端分离与功能边界,实查官方版本节奏与容器制品,并与 Akkoma、Mastodon、Misskey、GoToSocial 做量化选型对比,全部信息官方溯源并标注查询日期 2026-11-02。

PleromaPleromaFediverseElixirActivityPub社交网络2026/11/02

Pleroma 2.11.0 介绍与选型指南

目标:面向「准备自托管联邦社交网络、在 Mastodon 与轻量 BEAM 系服务端之间做选择,或关心 Pleroma 与它的分支 Akkoma 该如何取舍」的读者,讲清 Pleroma 是什么、架构如何、功能边界在哪,并与 Akkoma、Mastodon、Misskey、GoToSocial 做量化选型对比。本文为认知溯源篇,全部信息来自官方仓库、官方文档站、官方镜像仓库 registry 与发布 API 的联网取证,查询日期统一为 2026-11-02,未做本地实测;部署实测与命令回显见本专栏部署篇。

一、环境信息

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

  • 组件与版本:Pleroma v2.11.0(本专栏实测基线版本)。查询当日官方仓库最新稳定 tag 为 v2.11.1(2026-10-26 合入 stable 分支),v2.11.0 发布于 2026-10-24(来源:https://git.pleroma.social/api/v1/repos/pleroma/pleroma/tags API 全量清点,查询日期 2026-11-02)。
  • 官方代码仓库:https://git.pleroma.social/pleroma/pleroma(项目自托管 Forgejo,页面页脚标注 Powered by Forgejo Version: 16.0.7-pleroma.5,查询日期 2026-11-02)。GitHub 镜像已下线:https://github.com/pleroma/pleroma 实查返回 404(查询日期 2026-11-02),业界惯用的 GitHub 星数指标对 Pleroma 不再适用(见第七章替代锚点说明)。
  • 官方文档站:https://docs.pleroma.social(最新发布版文档)与 https://docs-develop.pleroma.social(Git 最新修订文档),含 Installation manuals / Configuration / Administration / API 四大板块(来源:官方仓库 README.md「Documentation」一节与 mix.exs docs 配置分组)。
  • 官方容器镜像仓库:git.pleroma.social/pleroma/pleroma(registry 直发,非 Docker Hub;标签清单见第六章)。
  • 代码许可:AGPL-3.0(来源:官方 Dockerfile 镜像 label org.opencontainers.image.licenses=AGPL-3.0,查询日期 2026-11-02)。
  • 本文性质:A1 认知篇,仅联网溯源,所有数据标注来源与查询日期;环境实测(部署、命令回显、资源占用)见本专栏部署与配置各篇。

二、软件概述

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

Pleroma 是一个自由开源的联邦式(decentralized)微博客服务器,基于 W3C ActivityPub 标准实现跨服务器互相关注、互发消息的「联邦宇宙」(Fediverse)。官方仓库 README 的原话是:

"Pleroma is a microblogging server software that can federate (= exchange messages with) other servers that support ActivityPub. What that means is that you can host a server for yourself or your friends and stay in control of your online identity, but still exchange messages with people on larger servers. Pleroma will federate with all servers that implement ActivityPub, like Friendica, GNU Social, Hubzilla, Mastodon, Misskey, Peertube, and Pixelfed."

"Pleroma is written in Elixir and uses PostgresSQL for data storage. It's efficient enough to be ran on low-power devices like Raspberry Pi (though we wouldn't recommend storing the database on the internal SD card ;) but can scale well when ran on more powerful hardware (albeit only single-node for now)."

—— 来源:git.pleroma.social/pleroma/pleroma 仓库首页 README,查询日期 2026-11-02

「效率」是 Pleroma 的立身之本:官方用 Elixir/BEAM 重写了早期 Ruby 项目(Pleroma 前身是 GNU Social 的 Ruby 实现,后以 Elixir 重写),目标是让一台树莓派级别的机器就能跑起完整的联邦节点。

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

维度事实来源
定位高效、灵活的联邦微博客服务器(ActivityPub),Elixir 重写官方仓库 README 首页
最新稳定版v2.11.1(2026-10-26);本专栏基线 v2.11.0(2026-10-24)官方 tags API
技术栈Elixir ~> 1.17 + Phoenix(BEAM 虚拟机),前后端分离stable 分支 mix.exs + 官方 Dockerfile(Elixir 1.17.3 / Erlang OTP 27.3.4.17 / Alpine 3.23.5)
数据库PostgreSQL(唯一必需外部服务)官方 README「uses PostgresSQL for data storage」+ Dockerfile 运行期仅装 postgresql-client
缓存/队列无 Redis 依赖:stable 分支 mix.exs 全文检索 redis 零命中,进程内缓存由 cachex ~> 3.6 承担stable 分支 mix.exs 源码检索,查询日期 2026-11-02
前端制品后端不含界面,Web 界面由独立前端项目 pleroma-fe(默认)或 Mastodon 系 MastoFE/glitch-soc 提供,经 mix pleroma.frontend 任务族安装切换官方文档站 Frontend 章节与 CLI 任务文档(mix pleroma.frontend install/switch/uninstall/list)
客户端 APIMastodon API 兼容 + Pleroma 扩展端点(官方原文 "For clients it supports the Mastodon client API with Pleroma extensions")官方仓库 README
许可AGPL-3.0官方 Dockerfile OCI labels
社区渠道IRC #pleroma / #pleroma-dev(libera.chat,webchat:irc.pleroma.social)、Matrix #pleroma:libera.chat官方仓库 README「Community Channels」
版本节奏v2.4.4(2022-10)→ v2.11.1(2026-10)共 20+ 个正式 tag;2026 年内已发 4 个(v2.10.1、v2.10.2、v2.11.0、v2.11.1)官方 tags API 全量清点

💡 说明:Pleroma 由 Lakamo(Holo,mail@holo.net)长期主导,项目治理围绕 git.pleroma.social 与 IRC/Matrix 展开,无商业公司背书。2022 年社区因「对 Pleroma 开发者能否恢复活力缺乏信心」分裂出激进功能分支 Akkoma(来源:Akkoma 官方 FAQ 与本专栏 《Akkoma 3.20.1 介绍与选型指南》 第二章);而 Pleroma 主线此后仍保持每年 2~4 个版本的稳定输出(见第六章),2025-12 的 v2.10.0 更是明确的安全发布(release 正文:"Pleroma 2.10 is a feature, bugfix and security release... Updating is recommended.",来源:GitHub Releases API 存档,查询日期 2026-11-02)。

三、核心架构

3.1 前后端分离:后端 + 可插拔静态前端

Pleroma 后端(pleroma)只是一个 API/联邦服务器,不自带 Web 界面;浏览器界面由独立仓库的前端项目提供:

  • pleroma-fe:官方默认前端,Vue 编写,支持 Pleroma 扩展特性(chat、reactions 等);
  • MastoFE(glitch-soc 版 Mastodon 前端):官方文档提供 mix pleroma.frontend install masto-fe --ref glitch-soc 类任务直接安装,适合 Mastodon 用户迁移习惯。

前端以静态资源形式安装到实例 static_dir,后端按配置渲染 / 与 /admin 路由。这一「后端 + 可插拔静态前端」模型与 Akkoma 完全一致(Akkoma 即继承自 Pleroma),区别于 Mastodon 的前后端同仓绑定。

3.2 进程模型:单 BEAM 进程承载全部

与 Mastodon 的「Puma + Node streaming + Sidekiq」三进程模型不同,Pleroma 用一个 BEAM 虚拟机进程同时承载 HTTP 端点、流式推送(mastodon_api_streaming)、联邦投递与后台任务,PostgreSQL 是唯一必需的外部服务:

  • stable 分支 mix.exs 检索 redis 零命中,进程内缓存用 cachex(官方 Dockerfile 运行期依赖仅 exiftool ffmpeg vips libmagic ncurses postgresql-client 六个包,来源:官方 Dockerfile,查询日期 2026-11-02);
  • 全文检索基于 PostgreSQL(默认 pg_trgm/RUM,官方 Docker 出厂配置甚至显式关闭 RUM:config :pleroma, :database, rum_enabled: false,来源:官方 config/docker.exs),无需 Elasticsearch;
  • 官方自述资源定位「efficient enough to be ran on low-power devices like Raspberry Pi」,属联邦服务端中资源占用最低的一档。

⚠️ 注意(扩展性边界):README 原话明确 "albeit only single-node for now"——Pleroma 不支持应用层多节点横向扩展,BEAM 单节点纵向扩展(更大内存/更多调度器)是其官方承认的部署上限。规划容量时这是硬约束。

3.3 联邦协议与 API 层

  • ActivityPub:实例间帖子(Create/Announce/Like/Follow 等 Activity)投递与收件箱拉取的主协议;
  • WebFinger:@用户名@域名 到 actor URL 的发现解析;
  • API 面(来源:官方文档站 API 板块与 README):Mastodon API 兼容层(客户端生态可直接复用)、Pleroma API(扩展端点,含 chat、reactions、bookmark 等)、Admin API、Nodeinfo;官方文档专页列出与原版 Mastodon 响应的差异。

💡 技术拓展:Pleroma 还支持 Relay(mix pleroma.relay 任务族管理大中继订阅)与 MRF(Message Routing Filters,联邦消息过滤框架),后者是 Pleroma 治理体系的核心抓手,详见配置篇。

3.4 存储与扩展组件

  • PostgreSQL:账户、帖子、时间线、关系、配置(可整体迁入数据库管理,mix pleroma.config migrate_to_db)等全部结构化数据;
  • 本地媒体目录或 S3:上传默认落盘 uploads/,可切 S3 兼容对象存储(配置项 Pleroma.Upload 系列);
  • 可选媒体工具链:exiftool(元数据)、ffmpeg(视频预览)、libvips(图片处理)——官方镜像已内置这三个包(来源:Dockerfile apk add 行);
  • 可选集成:SMTP 邮件通知、LDAP 认证(mix.exs 中 eldap 为 transient 应用)、Prometheus 指标端点。

四、功能特性

本章列举与自托管决策直接相关的功能面(依据官方 README、v2.10.0 release 正文与文档站功能章节,查询日期 2026-11-02)。

  • 发布与互动:内容警告(CW)、投票(polls)、书签(bookmark)、emoji 回应(reactions)、引用转发(quote,v2.10 起提升与 Mastodon quote posts 的兼容性)、可分享 emoji 包(shareable_emoji_packs)、MFM 输入格式(默认 allowed_post_formats 含 text/x.misskeymarkdown,来源:官方文档站配置速查页,查询日期 2026-11-02);
  • 内置聊天(chats):Pleroma 主线保留 1:1/群组聊天功能——这正是 Akkoma 分支明确移除的能力,是两者最核心的功能分界线之一;
  • 时间线:首页聚合、本地/联邦时间线、列表(lists);
  • 治理:Admin API + mix pleroma.* CLI 任务族、MRF 消息过滤、中继管理、robots.txt 管理、实例限流与注册开关;
  • 翻译:v2.10 新增多翻译供应商支持;
  • API 兼容:mastodon_api / mastodon_api_streaming / pleroma_api / v2_suggestions 等能力经 nodeinfo 对外声明(官方特性清单见 release 文档);
  • 明确的减法:不支持多节点横向扩展;GitHub 公开镜像已下线,代码入口只有 git.pleroma.social。

💡 说明:与 Akkoma 相比,Pleroma 主线功能面更保守(MFM 仅作为输入格式接受——2.11 默认 allowed_post_formats 含 text/x.misskeymarkdown,来源:官方仓库源码 config/description.exs 与文档站配置速查页,查询日期 2026-11-02;无限编辑/引用交互等「表达体验」层仍是 Akkoma 更激进),但保留了 chats;与 Mastodon 相比,Pleroma 的增量在「表达与协议兼容层」,治理与审核工具面弱于 Mastodon;与 Misskey 相比,它用 Mastodon API 兼容换来现成客户端生态,但界面可换皮(pleroma-fe/MastoFE 任选)。

五、快速开始(最小可用示例)

本章给出官方生产部署路径的最小骨架,便于快速建立认知;完整命令与真实回显见本专栏部署篇。

官方 README 列出四条安装路线(查询日期 2026-11-02):

  1. OTP releases(官方推荐):自包含 Erlang/Elixir 预编译发布包,./bin/pleroma_ctl 命令族管理,Linux glibc/musl x86/arm 均可用;
  2. 分发行源码安装:Alpine/Debian/FreeBSD/Gentoo/NetBSD/OpenBSD 各有专页;
  3. OS/Distro 打包:YunoHost、NixOS、Gentoo GURU、Arch AUR(Repology 可查全量:https://repology.org/project/pleroma/versions);
  4. 容器:README 原文称 "While we don't provide docker files"(指社区 angristan/docker-pleroma 等),但此说法已滞后于事实——官方仓库现有 Dockerfile + Woodpecker CI(.woodpecker/docker.yml),每次 stable 分支推送/打 tag 都会经 kaniko 构建并推送 git.pleroma.social/pleroma/pleroma 镜像仓库的 stable/latest/develop/v<版本>-<arch> 标签(来源:官方仓库 CI 配置实查,查询日期 2026-11-02)。官方镜像出厂即带 config/docker.exs,用 DOMAIN/INSTANCE_NAME/ADMIN_EMAIL/DB_HOST/DB_USER/DB_PASS 等环境变量驱动,配合 PostgreSQL 即可起实例。

最小 compose 骨架(官方镜像路线,端口与库凭据为本专栏实测口径,详见部署篇):

services:
  db:
    image: postgres:15
  pleroma:
    image: git.pleroma.social/pleroma/pleroma:stable
    environment:
      DOMAIN: social.example.com
      ADMIN_EMAIL: admin@example.com
      DB_HOST: db
      DB_PASS: "***"
    ports: ["4000:4000"]

六、版本与发布节奏

官方 tags API(查询日期 2026-11-02)清点的关键节点:

版本时间性质
v2.11.12026-10-26最新稳定(2.11.0 发布 2 天后的补丁)
v2.11.02026-10-24本专栏实测基线
v2.10.2 / v2.10.12026-05-032.10 线补丁
v2.10.02025-12-31feature + bugfix + security 发布
v2.9.1 / v2.9.02025-03特性线
v2.8.02024-12-20特性线
v2.7.x / v2.6.x2024每年 2~4 发的稳定节奏

容器制品与版本的对应关系(registry tag 列表实查,查询日期 2026-11-02):

  • v2.11.0 提供 amd64/arm64/armv7 三架构标签;
  • v2.11.1 当时仅有 arm64/armv7 标签,amd64 尚未发布——这也是本专栏以 v2.11.0 为 amd64 实测基线的原因之一;
  • stable/latest 滚动标签持续构建(本专栏所用 stable 镜像构建于 2026-10-24,内部版本号为 2.11.0-develop)。

七、同类选型对比

本章把 Pleroma 与联邦宇宙另外四个主流自托管服务端做量化对比。Pleroma 列数据查询日期 2026-11-02(官方仓库/CI/registry 实查);竞品列数据沿用本平台 《Akkoma 3.20.1 介绍与选型指南》 第七章与 《Mastodon 4.7.3 介绍与选型指南》 的官方站点检索口径(查询日期 2026-10-26~11-02),横向对比时注意量级结论不受一周内差异影响。

维度Pleroma 2.11.0Akkoma 3.20.1Mastodon 4.7.3MisskeyGoToSocial
语言/框架Elixir/Phoenix(BEAM)Elixir/Phoenix(BEAM)Ruby on Rails + Node.jsNode.js(TypeScript)Go(单二进制)
常驻应用进程1 类(BEAM 单进程承载 Web+联邦+后台任务)1 类(同左)3 类:Web(Puma)、Streaming(Node)、SidekiqWeb + 后台 worker1 类(单二进制内含全部)
必需外部依赖PostgreSQL(唯一;源码无 Redis)PostgreSQL(唯一)PostgreSQL + RedisPostgreSQL + RedisPostgreSQL
全文搜索内置(PG,pg_trgm/RUM)内置(PG,CJK 有专页)需 Elasticsearch(可选)内置(PG/MeiliSearch 可选)内置(简版)
资源定位最低一档,官方自述树莓派可跑最低一档;官方自述比 Pleroma 快 30-50%最重一档2GB+ 内存较稳官方定位 lightweight,尚处 Beta
横向扩展官方明示仅单节点单节点官方有独立 scaling 文档支持拆分单节点
表达特性reactions、quote、内置 chats、emoji 包、MFM 输入格式MFM、reactions、quote、无限编辑/附件(无 chats)基础集+投票/CWMFM 发源地、功能最花哨基础集
客户端 APIMastodon API 兼容 + Pleroma 扩展Mastodon API 兼容 + Pleroma/Akkoma 扩展Mastodon API(事实标准,生态最广)自有 API + 兼容子集Mastodon API 兼容(部分未实现)
预构建制品官方 registry 三架构活跃发布(git.pleroma.social)OTP releases 活跃;Docker Hub 镜像停滞于 2023-07ghcr.io 双镜像随版本发布GHCRCodeberg + ghcr.io
版本节奏(实查)每年 2~4 发;2026 年内 4 个2022-08→2026-09 共 25 release4.4/4.5/4.6/4.7 四线并行补丁高频(14.x 系)0.x Beta
许可AGPL-3.0AGPL-3.0AGPL-3.0AGPL-3.0AGPL-3.0
代码托管git.pleroma.social(GitHub 镜像已 404)akkoma.dev(自托管 Gitea)GitHub(50k+ 星)GitHub(11k 星)Codeberg

⚠️ 热度锚点说明:Pleroma 与 Akkoma 的主仓库都不在 GitHub(Pleroma 的 GitHub 镜像 2026-11-02 实查已 404),星数指标不适用;两者热度以「发布节奏、registry 制品活跃度、实例目录」为替代锚点。

八、适用场景与选型结论

  • 选 Pleroma:你要「官方持续维护的 BEAM 轻量主线」+ 内置聊天 + Mastodon 客户端兼容 + 三架构官方容器制品;典型画像是个人/小圈子节点、树莓派或 1~2GB 内存小 VPS、从 Mastodon 迁出降资源成本的场景。
  • 选 Akkoma(Pleroma 分支):你要更深的 MFM 表达体验(动画富文本)、无限编辑/附件等激进表达特性,且不需要 chats(来源:《Akkoma 3.20.1 介绍与选型指南》)。
  • 选 Mastodon:你要最大客户端生态与最完善的审核治理工具,接受 3 进程 + Redis + 更重的资源(来源:《Mastodon 4.7.3 介绍与选型指南》)。
  • 不选 Pleroma 的信号:需要多节点横向扩展(官方明示不支持)、需要 GitHub 生态入口(镜像已下线)、需要 Akkoma 级激进的编辑/附件体验。

九、部署规划清单

动手前逐项确认(各条在部署篇/配置篇均有实测展开):

  1. 域名即身份:实例主机名一经开放联邦不可安全更改,DOMAIN 必须一次定型;
  2. 资源基线:官方定位低资源设备可跑;生产建议 ≥1GB 内存 + PostgreSQL 同机或独立实例,数据库避免放 SD 卡(README 原话提醒);
  3. 依赖链:仅 PostgreSQL 12+ 一个必需外部服务;无需 Redis、无需 Elasticsearch(fediverse 注记:与 Mastodon 的 PG+Redis 双依赖链不同,Pleroma 的 BEAM 进程内缓存替代了 Redis 角色);
  4. 前端选型:默认 pleroma-fe,可换 MastoFE;安装与切换用 mix pleroma.frontend 任务族;
  5. 反向代理与 TLS:官方镜像监听 4000,出厂 docker.exs 的 url 配置按 scheme: "https", port: 443 生成,需前置代理终结 TLS;
  6. 注册策略:出厂默认 registrations_open: false(关闭注册),公共实例需显式打开并考虑邀请制/验证码;
  7. 升级路径:OTP/镜像路线升级即换版本制品 + 跑迁移(pleroma_ctl migrate),配置随制品走、数据随卷走,注意 registry 各版本标签的架构完备度(如 v2.11.1 当时缺 amd64)。

十、参考资料

  • 官方仓库与 README:https://git.pleroma.social/pleroma/pleroma(查询日期 2026-11-02)
  • 官方文档站:https://docs.pleroma.social / https://docs-develop.pleroma.social
  • 官方仓库 tags API(版本与时间线):https://git.pleroma.social/api/v1/repos/pleroma/pleroma/tags
  • 官方镜像 registry 标签:git.pleroma.social/pleroma/pleroma(stable/latest/develop/v2.11.0-{amd64,arm64,armv7})
  • 官方 CI 容器流水线:仓库 .woodpecker/docker.yml
  • Repology 打包全景:https://repology.org/project/pleroma/versions
  • 站内相关阅读:《Akkoma 3.20.1 介绍与选型指南》、《Mastodon 4.7.3 介绍与选型指南》

取证说明:本文全部事实性陈述均来自 2026-11-02 的官方渠道联网检索;本专栏其余三篇(部署、配置、CLI)基于 amd64 环境 v2.11.0(stable 镜像,内部版本 2.11.0-develop)实测,命令回显逐条照抄。

Pleroma 2.11.0 介绍与选型指南 - Quzuo