Bonfire is an open source framework for building modular federated digital spaces. It’s built entirely with Elixir, including LiveView (and Surface) for the frontend, and we’re excited to experiment with LiveViewNative to develop native apps.
Think of Bonfire as WordPress for federated social networking. You can set up a digital home for yourself or your community, which can start as a basic blog or microblogging platform (similar to Mastodon—another platform Bonfire federates with, along with dozens of other ActivityPub-enabled apps). From there, you can customise the experience through extensive settings and by toggling extensions to add, replace, or even remove any functionality (since all “core” features are also packaged as small modular extensions). Developers can also create custom extensions for specific use cases and contribute new possibilities to the community.
These extensions aim to enrich and diversify federated networks, going beyond the default microblogging experience. They can enable a range of activities, from organizing events and making decisions to assigning tasks and collaborating on projects.
Bonfire’s mission is to empower communities to avoid platform enshittification and centralisation, giving them the agency to self-host and self-organise in a federated environment and to not be confined to a walled garden.
Relevant links
Official website: https://bonfirenetworks.org
Documentation: https://docs.bonfirenetworks.org
Source code: Bonfire · GitHub
Published libraries: bonfire | Hex
Open Bounties: GitHub - bonfire-networks/bounties
Issues: Milestones - Good first issues
License: AGPL-3.0
Technical stack: ActivityPub, Phoenix with LiveView and Surface, Tailwind CSS, DaisyUI, Alpine.js, Graphql, PostgreSQL, etc.
Chat: This forum, Matrix, or #bonfire on Elixir Slack
Support the project: Bonfire on Open Collective
FAQS
(Read all the FAQs here)
Can I create my own social network with Bonfire? Who controls and moderates the users and content?
Yes, you can create your own social network using Bonfire, much like setting up a forum with Discourse (the software powering the Elixir Forum). As with Discourse, it’s up to the administrators to define the privacy policy, code of conduct, features, themes, and moderation practices. Bonfire includes roles and boundaries (ACLs) to empower moderators and allow users to control who can view, interact with, or collaborate on content.
What makes Bonfire unique is its modular platform, which you can customize and extend to fit your needs, combined with the network effects of federation.
What does “federated” mean?
Unlike centralized platforms, Bonfire allows you to interact with users across different servers, as long as they support the ActivityPub protocol. This means that once you join or set up a Bonfire instance, you can communicate with users on other instances without needing multiple accounts.
Federation refers to the decentralized nature of Bonfire and similar platforms. Instead of being controlled by a single entity, multiple independent servers (instances) can communicate with each other using a common protocol, like ActivityPub.
This is similar to how email works: users on different email providers can still send and receive messages across platforms. In the fediverse, you can join one Bonfire instance and interact with users across the entire network, including those using other apps such as Mastodon, Pixelfed, or Peertube.
What is a modular ecosystem?
Bonfire stands out from other microblogging platforms such as Mastodon by being a modular framework. Each component of Bonfire is open-source and is packaged as an individual building block that can be enabled, disabled, customised, or forked to create specialised apps. This allows you to mix and match features to build tools tailored to your needs while leveraging federation and open data formats.
Bonfire can be compared to WordPress in this way, enabling admins and developers to integrate or create custom features and functionalities, such as:
- Custom user-controlled algorithms to sort timelines.
- AI integrations within the social network.
- Features like event management, calendars, or issue tracking.
- Custom themes or third-party service integrations.
Bonfire’s modular nature makes it a versatile platform, particularly appealing to developers familiar with Elixir, offering a robust framework to experiment with and build unique digital spaces. Whether you need a basic social app, a collaborative federated blog, a decentralised forum, or a mutual aid platform, the community can continually develop new features to address diverse needs.
Any community already adopting Bonfire?
Bonfire has gained traction on the fediverse, especially among communities looking for more than just microblogging. Notably, scientists are working with Bonfire to develop features for the Open Science network initiative. This effort aims to create a Bonfire-powered digital space for the scientific community, with tools for universities, labs, and collectives to produce, discuss, and share papers in a decentralized environment.