Discover / Marketing

Mastodon Social Network

by mastodonRuby

Open-source decentralized social network server implementing ActivityPub.

Toolstable

Maturity: stable because 10y old, v4.6.4 released 7d ago. Derived from release and commit history, not a rating.

Stars
50k
Forks
7.5k
Downloads / mo
Last commit
2026-08-03
License
AGPL-3.0
Open issues
4.5k

Market and trust evidence

Edition not yet matched

No exact skills.sh identity match is available for this repository. Repository adoption and freshness remain visible above; install momentum is not inferred.

Trust analysis is a screening signal, not a security warranty. Read the ranking and trust methodology.

In practice

Written by AI from this repository’s README · high confidence

Running a social server you control while staying connected to users on other servers.

Use it when

When hosting a community microblogging server that must interoperate with the wider fediverse.

Not the right pick when

It needs Ruby, PostgreSQL, Redis, Node.js and FFmpeg, so it is a full stack to operate rather than a drop in service.

Capabilities

  • ActivityPub federation with other fediverse software
  • Real time chronological timeline updates
  • Image and video media attachments
  • Moderation tools including private posts, filters, muting and reports
  • OAuth2 provider with REST and Streaming APIs
  • Deployment configurations for Docker and docker-compose

Requirements

  • Ruby 3.3+
  • PostgreSQL 14+
  • Redis 7.0+
  • Node.js 22+
  • FFmpeg 5.1+

Cost: Free and open source

Video walkthroughs

Third-party YouTube uploads matched to this tool by title, channel and repository name on 2026-08-03. Not made, reviewed or endorsed by SkillPilot. View counts and publish months are as of the match date and the month is approximate. Nothing loads from YouTube until you press play.

What the repository ships

Has testsHas docsDocker imageSecurity policyCI configured

Detected from the actual files in the repository root.

Latest release v4.6.4

Published 2026-07-27

<h1><picture>

<source media="(prefers-color-scheme: dark)" srcset="./lib/assets/wordmark.dark.png?raw=true">

<source media="(prefers-color-scheme: light)" srcset="./lib/assets/wordmark.light.png?raw=true">

<img alt="Mastodon" src="./lib/assets/wordmark.light.png?raw=true" height="34">

</picture></h1>

Upgrade overview

This release contains upgrade notes that deviate from the norm:

ℹ️ Requires assets recompilation

For more information, view the complete release notes and scroll down to the upgrade instructions section.

Changelog

Security

Changed

  • Change autosuggestions to include second word in web UI (#39622 and #39696 by @Gargron and @zunda)

Fixed

  • Fix being unable to vote in polls without an expiration date (#39949 by @ClearlyClaire)
  • Fix performance of user-focused queries in admin dashboard (#39929 by @ClearlyClaire)
  • Fix Web Push subscription deletion endpoint incorrectly expecting anti-CSRF tokens (#39918 by @ClearlyClaire)
  • Fix ActivityPub::Activity::Create trying to re-create known statuses when author changes (#39916 by @ClearlyClaire)
  • Fix typo in quotes list error handling (#39904 by @shleeable)
  • Fix lax relevancy check in inbound activity processing (#39892 by @ClearlyClaire)
  • Fix Account::Merging concern not supporting Quotes or Collections, refactor it (#39884 by @ClearlyClaire)
  • Fix various emoji search issues (#39815 by @ChaosExAnima)
  • Fix swapped order of "accept/reject" actions in follow requests (#39862 by @diondiondion)
  • Fix suspended accounts not being removed from follow request count in /api/v1/accounts/verify_credentials (#39858 by @ClearlyClaire)
  • Fix "Learn more" link target in column post privacy hint (#39829 by @diondiondion)
  • Fix page refresh when trying to save custom profile fields (#39828 by @diondiondion)
  • Fix followed tags not being properly cleaned up when an account is deleted (#39824 by @shleeable)
  • Fix CW being copied to body when editing quote posts with empty text (#39823 and #39837 by @shleeable and @ClearlyClaire)
  • Fix handling of QuoteRequest rejections when those can't be found by id (#39820 by @shleeable)
  • Fix autofollow option being ignored in invite moderation interface (#39819 by @shleeable)
  • Fix pagination overlapping announcement reactions bar (#39814 by @diondiondion)
  • Fix very wide images overflowing posts horizontally (#39812 by @diondiondion)
  • Fix collections not being removed when an account is deleted (#39809 by @oneiros)
  • Fix account followed languages selector (#39801 by @ChaosExAnima)
  • Fix error handling in ActivityPub::ProcessFeaturedItemService (#39787 by @ClearlyClaire)
  • Fix display of past relative times (#39742 by @ClearlyClaire)
  • Fix pinned post button width (#39724 by @ChaosExAnima)

Upgrade notes

To get the code for v4.6.4, use git fetch && git checkout v4.6.4.

[!NOTE]

As always, make sure you have backups of the database before performing any upgrades. If you are using docker-compose, this is how a backup command might look: docker exec mastodon_db_1 pg_dump -Fc -U postgres postgres > name_of_the_backup.dump

Dependencies

External dependencies have not changed since v4.6.0.

  • Ruby: 3.3 or newer
  • PostgreSQL: 14 or newer
  • Elasticsearch (recommended, for full-text search): 7.x (OpenSearch should also work)
  • LibreTranslate (optional, for translations): 1.3.3 or newer
  • Redis: 7.0 or newer
  • Node: 22 or newer
  • libvips: 8.13 or newer
  • FFMpeg: 5.1 or newer

Update steps

The f

Tags

README

[!NOTE]

Want to learn more about Mastodon?

Click below to find out more in a video.

<p align="center">

<a style="text-decoration:none" href="https://www.youtube.com/watch?v=IPSbNdBmWKE">

<img alt="Mastodon hero image" src="./docs/hero-nodes.gif" />

</a>

</p>

<p align="center">

<a style="text-decoration:none" href="https://github.com/mastodon/mastodon/releases">

<img src="https://img.shields.io/github/release/mastodon/mastodon.svg" alt="Release" /></a>

<a style="text-decoration:none" href="https://github.com/mastodon/mastodon/actions/workflows/test-ruby.yml">

<img src="https://github.com/mastodon/mastodon/actions/workflows/test-ruby.yml/badge.svg" alt="Ruby Testing" /></a>

<a style="text-decoration:none" href="https://crowdin.com/project/mastodon">

<img src="https://d322cqt584bo4o.cloudfront.net/mastodon/localized.svg" alt="Crowdin" /></a>

</p>

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

Features

<img src="./app/javascript/images/elephant_ui_working.svg?raw=true" align="right" width="30%" />

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 3.3+
  • PostgreSQL 14+
  • Redis 7.0+
  • Node.js 22+
  • 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 setting up a development environment in the DEVELOPMENT documentation.

If you would like to help with translations 🌐 you can do so on Crowdin.

LICENSE

Copyright (c) 2016-2026 Eugen Rochko (+ mastodon authors)

Licensed under GNU Affero General Public License as stated in the LICENSE:


Copyright (c) 2016-2026 Eugen Rochko & other Mastodon contributors

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/

Related tools