Description
Mastodon is a free, open-source social network server. A decentralized alternative to commercial platforms, it avoids the risks of a single company monopolizing your communication. Anyone can run Mastodon and participate in the social network seamlessly.
An alternative implementation of the GNU social project. Based on ActivityStreams, Webfinger, PubsubHubbub and Salmon.
Click on the screenshot to watch a demo of the UI:
Focus of the project on a clean REST API and a good user interface. Ruby on Rails is used for the back-end, while React.js and Redux are used for the dynamic front-end. A static front-end for public resources (profiles and statuses) is also provided.
Mastodon alternatives and similar software solutions
Based on the "Social Networks and Forums" category.
Alternatively, view Mastodon alternatives based on common mentions on social networks and blogs.
-
Reddit
DISCONTINUED. Social networking and news website where registered community members can submit content. -
HumHub
HumHub is an Open Source Enterprise Social Network. Easy to install, intuitive to use and extendable with countless freely available modules. -
Patchwork
DISCONTINUED. A decentralized messaging and sharing app built on top of Secure Scuttlebutt (SSB). -
Vanilla Forums
Vanilla is a powerfully simple discussion forum you can easily customize to make as unique as your community. -
phpBB
phpBB Development: phpBB is a popular open-source bulletin board written in PHP. This repository also contains the history of version 2. -
OSSN
Open Source Social Network (OSSN) is a social networking software written in PHP. It allows you to make a social networking website and helps your members build social relationships, with people who share similar professional or personal interests. It is available in 17 international languages. -
Talkyard
A community discussion platform: Brings together the main features from StackOverflow, Slack, Discourse, Reddit, and Disqus blog comments. -
Hubzilla
DISCONTINUED. Independent general-purpose websites that not only connect with their associated members and viewers, but also connect together. -
Simple Machines Forum
Simple Machines Forum β SMF in short β is free and open-source community forum software, delivering professional grade features in a package that allows you to set up your own online community within minutes! -
Anahita
Anahita is a platform and framework for developing open science and knowledge sharing applications on a social networking foundation. -
Jappix
:speech_balloon: Jappix, a full-featured XMPP web-client (Jappix Desktop, Jappix Mobile & Jappix Mini). -
twtxt.net
DISCONTINUED. π twtxt is a Self-Hosted, Twitterβ’-like Decentralised microBlogging platform. No ads, no tracking, your content, your data! -
'Friend OS v1.3.0, "Helium"
FriendOS is a free web based platform that runs in your browser. It allows you to work and play, collaboratively, across devices. -
BuddyPress
BuddyPress DEVELOPMENT repo. This repository is just a mirror of the development SVN at https://buddypress.svn.wordpress.org/. Please include a link to a pre-existing ticket on https://buddypress.trac.wordpress.org/ with every pull request. -
GNU social
DISCONTINUED. GNU social is social communication software for both public and private communications. -
Gosora
Gosora is an ultra-fast and secure forum software written in Go that balances usability with functionality.
WorkOS - The modern identity platform for B2B SaaS
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Mastodon or a related project?
README
Mastodon is a free, open-source social network server based on ActivityPub where users can follow friends and discover new ones. On Mastodon, users can publish anything they want: links, pictures, text, video. All Mastodon servers are interoperable as a federated network (users on one server can seamlessly communicate with users from another one, including non-Mastodon software that implements ActivityPub)!
Click below to learn more in a video:
Navigation
- Project homepage π
- Support the development via Patreon
- View sponsors
- Blog
- Documentation
- Browse Mastodon servers
- Browse Mastodon apps
Features
No vendor lock-in: Fully interoperable with any conforming platform
It doesn't have to be Mastodon; whatever implements ActivityPub is part of the social network! Learn more
Real-time, chronological timeline updates
Updates of people you're following appear in real-time in the UI via WebSockets. There's a firehose view as well!
Media attachments like images and short videos
Upload and view images and WebM/MP4 videos attached to the updates. Videos with no audio track are treated like GIFs; normal videos loop continuously!
Safety and moderation tools
Mastodon includes private posts, locked accounts, phrase filtering, muting, blocking and all sorts of other features, along with a reporting and moderation system. Learn more
OAuth2 and a straightforward REST API
Mastodon acts as an OAuth2 provider, so 3rd party apps can use the REST and Streaming APIs. This results in a rich app ecosystem with a lot of choices!
Deployment
Tech stack:
- Ruby on Rails powers the REST API and other web pages
- React.js and Redux are used for the dynamic parts of the interface
- Node.js powers the streaming API
Requirements:
- PostgreSQL 9.5+
- Redis 4+
- Ruby 2.6+
- Node.js 14+
The repository includes deployment configurations for Docker and docker-compose as well as specific platforms like Heroku, Scalingo, and Nanobox. The standalone installation guide is available in the documentation.
A Vagrant configuration is included for development purposes. To use it, complete following steps:
- Install Vagrant and Virtualbox
- Install the
vagrant-hostsupdater
plugin:vagrant plugin install vagrant-hostsupdater
- Run
vagrant up
- Run
vagrant ssh -c "cd /vagrant && foreman start"
- Open
http://mastodon.local
in your browser
Contributing
Mastodon is free, open-source software licensed under AGPLv3.
You can open issues for bugs you've found or features you think are missing. You can also submit pull requests to this repository or submit translations using Crowdin. To get started, take a look at [CONTRIBUTING.md](CONTRIBUTING.md). If your contributions are accepted into Mastodon, you can request to be paid through our OpenCollective.
IRC channel: #mastodon on irc.libera.chat
License
Copyright (C) 2016-2022 Eugen Rochko & other Mastodon contributors (see [AUTHORS.md](AUTHORS.md))
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.
*Note that all licence references and agreements mentioned in the Mastodon README section above
are relevant to that project's source code only.