Pleroma
Pleroma — это децентрализованная платформа для микроблогов, работающая на протоколе ActivityPub и входящая в состав федеративной сети (Fediverse). Платформа представляет собой свободное программное обеспечение с открытым исходным кодом, которое позволяет пользователям создавать собственные серверы (инстансы) для обмена сообщениями, изображениями, видео и другими медиафайлами. Ключевой особенностью Pleroma является её лёгкость и низкая требовательность к ресурсам сервера по сравнению с аналогами, такими как Mastodon, что делает её популярной среди энтузиастов, предпочитающих самостоятельный хостинг. Пользователи Pleroma могут взаимодействовать с любыми другими платформами, поддерживающими ActivityPub, включая Mastodon, PeerTube и Friendica, что обеспечивает интероперабельность в рамках всей федеративной сети.
История
Pleroma была создана в 2016—2017 годах как альтернатива Mastodon, ориентированная на минимализм и производительность. Разработка велась сообществом разработчиков, недовольных растущей сложностью и ресурсоёмкостью Mastodon. Первый стабильный релиз состоялся в 2018 году. С тех пор проект развивается силами добровольцев, при этом основная кодовая база написана на языке программирования Elixir с использованием веб-фреймворка Phoenix. В отличие от Mastodon, который использует базу данных PostgreSQL и Redis, Pleroma также опирается на эти технологии, но оптимизирует их использование для снижения нагрузки на сервер.
В 2020—2021 годах Pleroma приобрела популярность среди пользователей, ценящих приватность и контроль над данными, а также среди тех, кто хотел запустить собственный сервер на слабом оборудовании (например, на одноплатных компьютерах Raspberry Pi). В 2022 году, на фоне массового исхода пользователей из Twitter (после его приобретения Илоном Маском), интерес к Pleroma и другим платформам Fediverse значительно вырос, что привело к увеличению числа инстансов и активных пользователей.
Архитектура и технические особенности
Протокол ActivityPub
Pleroma полностью реализует протокол ActivityPub, что позволяет ей быть полноценным участником Fediverse. Сообщения, опубликованные на одном инстансе Pleroma, автоматически доставляются на другие серверы (включая Mastodon, Misskey, Lemmy и другие), если пользователи подписаны друг на друга. Это обеспечивает единое пространство для общения, несмотря на децентрализованную структуру.
Серверная часть (Backend)
Серверная часть Pleroma написана на Elixir, что обеспечивает высокую параллельную обработку запросов и устойчивость к нагрузкам. Ключевые компоненты:
- Pleroma Web — веб-интерфейс, написанный на JavaScript (фреймворк Vue.js), который предоставляет пользовательский интерфейс для чтения и написания сообщений.
- Pleroma API — RESTful API, совместимый с Mastodon API, что позволяет использовать сторонние клиенты (например, Tusky для Android или Fedilab для iOS) для работы с Pleroma.
- База данных — PostgreSQL для хранения пользователей, постов, медиафайлов и метаданных. Redis используется для кэширования и очередей задач.
Клиентская часть (Frontend)
Pleroma предлагает два основных веб-интерфейса:
- Pleroma FE — стандартный интерфейс, напоминающий классический Twitter (лента, уведомления, профили). Он лёгкий и быстро загружается даже на медленных соединениях.
- MastoFE — эмуляция интерфейса Mastodon, которая может быть включена администратором для привычного опыта пользователям Mastodon.
Модерация и администрирование
Администраторы инстансов Pleroma имеют широкие возможности для модерации: они могут блокировать пользователей, домены, целые инстансы, а также настраивать фильтры контента (например, скрывать медиа с пометкой «чувствительное содержимое»). Платформа поддерживает систему «репортов» (жалоб) и автоматические правила модерации через MRF (Message Rewrite Facility), которые позволяют изменять или блокировать сообщения на основе заданных критериев (например, по ключевым словам или доменам-источникам).
Сравнение с Mastodon
| Характеристика | Pleroma | Mastodon |
|---|---|---|
| Язык программирования | Elixir (Phoenix) | Ruby on Rails |
| Требования к серверу | Низкие (512 MB RAM, 1 ядро CPU) | Средние (1-2 GB RAM, 2 ядра CPU) |
| Скорость работы | Высокая, особенно при большом количестве пользователей | Средняя, может замедляться при высокой нагрузке |
| Интерфейс | Два варианта (Pleroma FE и MastoFE) | Один стандартный интерфейс |
| Совместимость с Mastodon API | Полная | Полная (родная) |
| Поддержка MRF | Встроенная | Отсутствует (требует сторонних модов) |
| Популярность | Меньше, чем Mastodon | Очень высокая (крупнейшая платформа Fediverse) |
Применение
Pleroma используется в различных сценариях:
- Личные серверы — энтузиасты запускают инстансы для себя и друзей, чтобы полностью контролировать свои данные и избежать цензуры крупных платформ.
- Сообщества по интересам — тематические инстансы (например, для художников, программистов, любителей научной фантастики), где модерация настроена под конкретные правила.
- Альтернатива Twitter — пользователи, покинувшие Twitter, выбирают Pleroma из-за её лёгкости и возможности кастомизации.
- Образовательные и исследовательские проекты — Pleroma используется для изучения децентрализованных сетей и протокола ActivityPub.
Критика и ограничения
Несмотря на преимущества, Pleroma подвергается критике по нескольким причинам:
- Меньшее количество функций — по сравнению с Mastodon, Pleroma имеет меньше встроенных возможностей (например, отсутствие встроенной поддержки опросов, расширенных фильтров или групп).
- Сложность настройки — хотя Pleroma проще в развёртывании, чем Mastodon, для неопытных администраторов процесс может быть запутанным из-за необходимости ручной конфигурации через файлы конфигурации (config.exs).
- Нестабильность некоторых инстансов — из-за низких требований к ресурсам, некоторые администраторы запускают Pleroma на очень слабом оборудовании, что приводит к частым сбоям и потере данных.
- Отсутствие официальной поддержки — проект поддерживается исключительно сообществом, что может приводить к задержкам в обновлениях и исправлении ошибок.
Интересные факты
- Название «Pleroma» происходит от греческого слова πλήρωμα, означающего «полнота» или «наполнение», что отсылает к гностической философии, где Плерома — это совокупность божественных эонов.
- В 2023 году сообщество Pleroma выпустило версию 2.5.0, которая добавила поддержку WebSocket для уведомлений в реальном времени и улучшила производительность при работе с большими лентами.
- Некоторые инстансы Pleroma используются для тестирования новых функций ActivityPub, которые затем могут быть приняты в других проектах Fediverse.
Источники
- Официальная документация Pleroma (docs.pleroma.social)
- Репозиторий проекта на GitLab (git.pleroma.social/pleroma/pleroma)
- Статья «Pleroma: A Lightweight Alternative to Mastodon» на сайте Linux Journal (2021)
- Обсуждения на форумах Fediverse (reddit.com/r/fediverse, 2022–2023)
- Сравнительный анализ Mastodon и Pleroma на сайте Compare Fediverse (2023)
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →