mastodon /mastodon

Your self-hosted, globally interconnected microblogging community

★ 50,502⑂ 7,542👁 713⑃ 25,702● 13,339▤ 382◈ 1,949
RubyAGPL-3.0Created 2016-02-22joinmastodon.org
50,502
stars
+1
7,542
forks
713
watchers
25,702
prs
13,339
issues
382
releases
1,949
discussions

README

[!NOTE]
 Want to learn more about Mastodon?
 Click below to find out more in a video.


  
    
  



  
    
  
    
  
    
  


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, and 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!)

 Navigation

- Project homepage 🐘
- Donate to support development 🎁
  - View sponsors
- Blog 📰
- Documentation 📚
- Official container image 🚢

 Features



Part of the Fediverse. Based on open standards, with no vendor lock-in. - the network goes beyond just Mastodon; anything that implements ActivityPub is part of a broader social network known as the Fediverse. You can follow and interact with users on other servers (including those running different software), and they can follow you back.

Real-time, chronological timeline updates - updates of people you're following appear in real-time in the UI.

Media attachments - upload and view images and videos attached to the updates. Videos with no audio track are treated like animated GIFs; normal videos loop continuously.

Safety and moderation tools - Mastodon includes private posts, locked accounts, phrase filtering, muting, blocking, and many other features, along with a reporting and moderation system.

OAuth2 and a straightforward REST API - Mastodon acts as an OAuth2 provider, and third party apps can use the REST and Streaming APIs. This results in a rich app ecosystem with a variety of choices!

 Deployment

 Tech stack

- Ruby on Rails powers the REST API and other web pages.
- PostgreSQL is the main database.
- Redis and Sidekiq are used for caching and queueing.
- Node.js powers the streaming API.
- React.js and Redux are used for the dynamic parts of the interface.
- BrowserStack supports testing on real devices and browsers. (This project is tested with BrowserStack)
- Chromatic provides visual regression testing. (This project is tested with Chromatic)

 Requirements

- Ruby 4.0
- PostgreSQL 14+
- Redis 7.2+
- Node.js 24+
- FFmpeg 5.1+

This repository includes deployment configurations for Docker and docker-compose, as well as for other environments like Heroku and Scalingo. For Helm charts, reference the mastodon/chart repository. A standalone installation guide is available in the main documentation.

 Contributing

Mastodon is free, open-source software licensed under AGPLv3. We welcome contributions and help from anyone who wants to improve the project.

You should read the overall CONTRIBUTING guide, which covers our development processes.

You should also read and understand the CODE OF CONDUCT that enables us to maintain a welcoming and inclusive community. Collaboration begins with mutual respect and understanding.

You can learn about set

Top issues

Discussions

Latest release

v4.7.5 v4.7.5 2026-11-03
Changelog

 Security

- Fix password authentication bypass for inactive accounts (GHSA-3xjw-gv43-3w62)
- Fix DoS through JSON-LD compaction (41482 by @ClearlyClaire, GHSA-cf49-73r7-rxj6)
- Fix Forwarded header taking precedence over X-Forwarded-For (41481 by @ClearlyClaire, GHSA-qp4r-p842-mw5c)
  - If your reverse-proxy setup uses Forwarded instead of X-Forwarded-For, please make sure it ignores user-provided X-Forwarded-For headers.
  - If you are using our provided nginx.conf, please consider updating it.
- Updated dependencies, in particular to address security advisories in addres

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON