How Does Mastodon Work?

I'm Kev and I'm a Cyber Security professional from the UK. I started this blog so that I could share my thoughts on the things that interest me. That's usually technology, Linux, open source, and motorbikes.

Leave a Reply

Comment as a guest.

  1. Thanks for the basic tutorial! Some of us have never used any social media, so all of this is new.

  2. How can I find out how to trasport a written article from Quanta Magazine, or a news article onto my Mastodon page?

  3. This is one of the best introductions to Mastodon that I’ve read so far. Well done!

    I’m making no promises here, but… would it be OK for you if I “forked” this post and translated it into Spanish, for my contacts to read? Attribution would be kept, of course.

    1. Thank you for the kind comment. Of course, feel free to translate the article and re-post. You can find more information about how I license my content on this page. All posts on this site are licensed under Creative Commons Attribution. So as long as you provide attribution, it’s all good.


  4. Nice article, but I’m not really sure about this bit:

    “It’s open source so what, right? Well, no actually. Open source means that anyone can see the code that makes up Mastodon. You can’t do this on many other social networks, so you have no idea what the site is doing in the background.

    Of course, many of Mastodon’s users aren’t software developers so they won’t know what Mastodon’s source code does (myself included), but there are hundreds, or even thousands of developers out there that have seen the code for Mastodon. If it was doing anything nefarious, trust me, we would know.” <<

    Yeah it’s open source and everything, but how can I tell that an instance is running an unaltered version of mastodon that isn’t doing something fishy in the background anyway? Is there some sort of mechanism to ensure the integrity of an instance?

    1. You can never know for sure, but at least there the source code is out there for people to see, which is better than not having any idea what’s going on under the hood. A la Facebook, Twitter etc.

  5. I’m curious, re: federation.

    If I spin up a new instance of Mastodon, it’s going to run all on its lonesome until I connect to a user in another instance, correct?

    Can I, as an admin, force a connection to another instance without connecting to any users there?

    And! If suddenly my little community gets wildly huge, and my users are connecting to random people all over the place, my federation is going to get massive and potentially out-of-control. Is it possible to remove an instance from the federation, in order to keep your federated stream still somewhat curated?

    In other words, if you’re wanting to just keep everything some what FOSS-related, can you trim out federated instances that aren’t on-topic? That way, your federated stream is (for the most part) focused on FOSS, and your local stream is fine-tuned to the specific topics and community you have created?

    I hope this makes sense. Great write-up!

    1. You can create follow bots on your instance that will go out and systematically follow everyone it comes across (unless users opt out of engaging with bots), this will allow for federation without you having to follow on your personal account.

      You can stop federations with an instance by silencing or blocking them at an admin level, but that effective for all users on your instance.

      The federated timeline is almost impossible to curate, don’t even try. I don’t remember the last time I even looked st it. You have the local and home timelines which are far more controlled and full of people who’ve you find interesting.

      If you try and censor the fed timeline, it’s likely to be done globally and it will piss your users off.

      1. As far as I’m aware the Federated Timeline are follower toots from the people you follow. Users can also block instances if they go to another user’s profile page.
        If I were to admin an instance I’d find very little need to block whole instances. Users have a lot of control.

        1. That’s actually incorrect. The federated timeline is all public Toots from all users on the remote instances your local instance is federated with.

  6. Hi! When I register I have to choose the instance I will be in? Or an instance is like a usar meaning that I can just follow it? Can I belong to more than 1 instance?

    1. You pick and instance, then sign up. You can be on more than one instance, but you will require a separate account for each.

      1. I would add this part to your guide. It was unclear to me how important choosing an instance is. It sounds like you can have more than one account, one on each instance you’re interested in if you like.

        I guess this also brings up the question: if I have accounts on several instances, can they be managed together? Is there an etiquette about that? Or can I merge my accounts later if I decide I want to choose an instance as my home base?

        1. There’s no etiquette that I’m aware of for managing multiple accounts – many people have multiple accounts on the Fediverse. You can’t merge accounts as such, but you can redirect your secondary accounts to your primary. However, that’s not a redirect as in a 301 (or similar), it’s just a banner that says something along the lines of “this isn’t my primary account, use this one instead”. You can configure that by going to /settings/migration.

  7. It has been really great to focus on Mastodon and let my other social media fall away. To log in and read posts that I actually find interesting made by like minded people is awesome. It also feels really nice to leave a social media “session” feeling more inspired and excited about trying new things instead of feeling simultaneously jaded and overstimulated. So far, keeping social media more minimal or at least more focused has helped me view it in much healthier light. Plus… FOSS!

      1. Mastodon says it will add people who are the same on Twitter and Mastodon so you don’t have to add them manually but it doesn’t work.

  8. Nice summary!

    Regarding your last point, about picking an instance: I’d suggest going through Mastodon users you know or are a fan of. In my case, an artist I’d been following for a while – someone who seemed like a stand-up person and reasonably tech-savvy – turned out to be running an instance with a good code of conduct. Absent that, I’d probably have asked someone I was friends enough with to ask, “Hey, what’s a good Mastodon instance to join?”, and checked out their suggestions.

  9. Hi. Good article however I’m not very fond of e-mail analogy… i know that you want to get point across but… this is not how email works 😉 and what’s worse – I though that mastodon would also relay on SRV records of sorts instead of auto-discovery by users.

    1. The email thing was a deliberately simplified analogy to help get an idea clear in a new user’s head, as email is familiar to most. The details of how email fundamentally works (MX records, DNS, SMTP etc.) are not relevant to the article.

      The concept of multiple providers communicating over a standardised platform was the point.

      1. after pondering it more – using this as analogy is kinda bad – but it’s only because IMHO mastodon federation is also kinda bad – you may end up on a node that is kinda blind to some node feed just because no one before had any interaction with it

  10. What confuses me about Mastodon is search. Are the results from your instance only? If not, where does the index live? Does every instance have to build it’s own index of all the Toots across the Fediverse? That seems highly inefficient. My searches return very few results, so I am guessing that Instances have their own indexes that only contain toots from instances they are aware of. I know Google can index Toots, but how would you search Google for a toot specifically when all instances have their own domains, and Google doesn’t understand Federation presumably.

    1. Hey Jesse, basically, yeah, each instance does create its own index of media and accounts that it federates with.

      When searching, account results are from all instances that your instance federates with, whilst hashtags etc. are local only, I believe. If your instance isn’t federated with many other instances, that may explain why you’re not seeing many results.

      you can easily do a site specific search on Google (or DuckDuckGo), you simply have to use the correct syntax, which is:

      site: “search string”

      So, if I want to search my instance ( for the string “kev quirk” my search query would be: “kev quirk”

      Hope this helps.

  11. Thanks for writing this. My big question is why when I visit someone’s profile, I don’t actually see all of their toots. Sometimes there are only one or two even when I know the person has tooted many times. I experience this both on the web and on Tootdon. Do you know the reason for this?

    1. Hey Steve, thanks for the comment. I’m actually not certain of why this happens, but I always assumed it was when an instance was newly aware of an account and hadn’t built up a cache of that account’s Toots.

      Thats just my best guest though, as I haven’t looked in to it. It is frustrating when that happens though.

    2. Posts don’t reach your server unless someone on it follows that account. Old posts aren’t fetched, only new ones. If you want to load an old post, you can copy its URL into the search bar!

        1. You’ll see the posts from that web page, because that’s public. But when you log into an instance where no one has ever followed you, then they need to look you up by searching for your profile/address. Once any one person follows you, your posts will reach that new instance, but your old posts will have to be manually fetched by copying the URL and pasting it into the search bar.

        2. From that link we do, but when logged in and not federated, we don’t.

          For example, my instance isn’t federated with your instance yet, as no one on my instance follows anyone on your instance.

          If I go to the URL above, I can see all your public toots, as I’m visiting your instance. However, if I log in to my instance and look up your profile, I won’t see them.

          If I then follow you, our instances will federated and after a short while,everyone on my instance will see all your toots.

          That’s why there are things like follow bots, that stop this kind of thing from occurring.

    1. I think that becomes self-explanatory once a person starts using the UI. I deliberately didn’t go in to the minute details of every aspect of Mastodon – the article was long enough already. This is a good starting point, I felt.

        1. Well, what the columns are and where they come from would actually be a good one. Stephen is right that they’re not as self-explanatory as one might think. More sophisticated folks probably won’t have trouble, but it is still a barrier to adoption.

Read Next

Sliding Sidebar