Mastodon

My Attempt to Explain Federation (and why most people should use a large Mastodon server)

Posted by Matt Birchler
β€” 2 min read

Masto.host: RE: Mastodon Media Storage

When you or another user in your server follows a remote user, from that moment on, all new posts from that remote user start to federate with your server. By federate, you can think of a copy of those posts are stored in the database.

I'm using Masto.host for my personal Mastodon server, and it's been great so far.

What's been even better was their explanation of what "federation" actually means when it comes to what's stored on each server. The very short version of it is:

All text, attachments, and replies to the posts created by users on a server are stored locally on that server (duh). However, your local server also stores copies of the replies your users get from other people (including media attachments). Also, anyone your users are following also get their posts, attachments, and replies stored on your server.

If we break this down very simply, let's say my server has 1 user (me) and that user follows 100 accounts from across the fediverse.

  • All of my posts are stored on my local server
  • All replies to my posts are stored
  • All posts from the 100 accounts I follow are stored
  • All replies to posts from those 100 accounts I follow are also stored

Another thing worth noting is that servers only have access to the data they're storing themselves. For example, if someone boosts a post from someone I don't follow, when I click into that post's details, I won't see all replies, boosts, or favorites on that post. In fact, I'll only see those from the people that I follow.

This is getting a bit confusing, but basically this is the biggest downside of using a small Mastodon server. When you're on something like mastodon.social, there are so many users that the web of connections basically means that that server is storing post information from effectively everyone in the fediverse, so you see effectively everything on every post. But when you're on a small server and the web of connections is much less complete, you don't get to see everything.

Again, you will see everything for the posts from people you follow, but if you don't follow someone, don't expect to see all their mentions and stats on their posts when viewing from your own account.

That's the Quick Version?!

I will freely admit that this is complicated to explain, but that's just par for the course when it comes to Mastodon stuff. I think that all of this means a couple things:

  1. Most people should not roll their own server due to potential storage and bandwidth costs.
  2. Most people should join a relatively big Mastodon server so that they get the most complete view of things possible.
  3. If you understand the limitations, a smaller server can be great, you just need to understand what you're getting into.

Oh, and the whole point of that blog post linked at the top was that Masto.host has a script that automatically culls old media files so that your storage doesn't just constantly grow over time, which is nice.

If you were curious about moving from one Mastodon server to another, I just made a video tutorial taking you through the process here.