# Pleroma (software)

Pleroma is a free and open-source microblogging social networking service. Unlike popular microblogging services such as Twitter or Weibo, Pleroma can be self-hosted and operated by anyone with a server and a web domain, a combination commonly referred to as an instance. Instance administrators can manage their own code of conduct, terms of service, and content moderation policies, allowing users to have more control over the content they view as well as their experience. It was named after the religious concept of pleroma, or the totality of divine powers.
The software also implements the ActivityPub protocol, which allows users to communicate and interact with content from other Pleroma instances or any server that is running software that supports ActivityPub (such as Mastodon, Misskey, Pixelfed, etc.), a decentralized network commonly referred to as the Fediverse.
As of July 2024, over 138k user accounts (1.3% of the total amount of fediverse users) have been found on over a thousand Pleroma instances.

## History

In 2016, the Pleroma project was created by a German developer under the pseudonym "lain". It was originally designed as an alternative user interface for GNU social with many similarities to Qvitter, a popular frontend at the time which resembled an early Twitter user interface. The frontend was written with the Vue.js JavaScript framework.
As development of the frontend continued, it was perceived that there were many disadvantages to GNU social's design of using plugins to implement features, as well as issues with its codebase and usage of PHP, which led to the development of a backend to replace GNU social. The first commit to the repository hosting the Pleroma backend was made on March 17, 2017.

### Releases

On February 22, 2019, the first stable release of the Pleroma backend, 0.9.9, was released. The backend includes the Pleroma frontend as the main user interface, federation of user content using OStatus and ActivityPub and support for the GNU social and Mastodon client APIs. The backend was built using the Elixir programming language and the Phoenix web framework, and uses PostgreSQL for its database.
On June 28, 2019, Pleroma 1.0 was released. This release adds the ability to create polls, report content and schedule posts to be posted at a later date. A new website containing documentation for users and administrators was also launched.
On March 8, 2020, Pleroma 2.0 was released. This release drops support for the OStatus protocol due to a lack of usage and active maintenance, introduces a new user interface for administration and adds post reactions using Unicode emoji.
On August 28, 2020, Pleroma 2.1 was released. This release includes a federated instant messaging system based on ActivityPub, an alternative to the direct messages system used by other software such as Mastodon.
On October 29, 2023, Pleroma 2.6 was released. This release implements quoting posts as well as the ability to use custom emoji for post reactions.
Pleroma was originally developed with its frontend and backend releasing new versions in sync, but starting with Pleroma 2.6.1 the policy was discontinued.
On August 1, 2024, Pleroma 2.7 was released, adding support for uploading files via IPFS, bookmark categorization, improved theming and various quality-of-life improvements.

## Forks
### Akkoma

Akkoma is a fork of Pleroma that started development in 2022. The fork was made to support a faster pace of development, as well as to support more user customization.

## Features

Pleroma has been described as being more lightweight than alternatives like Mastodon, due to being less intensive on system resources and requiring fewer software dependencies.
Pleroma's default post length limit is 5000 characters, and can be configured by instance administrators. It is capable of uploading and sharing multimedia, as well as polls. Posts are created by default using plaintext, but can also be translated from a variety of markup languages such as HTML, BBCode and Markdown.
While Pleroma comes with its own frontend by default, instance administrators can install additional user interfaces, such as a port of Mastodon's advanced mode (similar to TweetDeck) as well as a interface for the Gopher protocol.
Pleroma includes a system known as the Message Rewrite Facility (or MRF), which allows administrators of a Pleroma instance to modify the content that it sends and receives. By default, Pleroma provides a selection of policies, including a basic moderation policy that can create restrictions on federation with other instances. Custom MRF policies can be written using any language based on the BEAM virtual machine. This system has been used as a method to study how content moderation works in the Fediverse and the challenges that it faces, since the list of active policies is publicly shown by default through both the API and the frontend.

## Adoption

The Debian community hosts their own microblogging service using Pleroma, as part of a project to establish a suite of social networking services for maintainers.
Pleroma has received funding through the NLNet Foundation to aid development.