Skip to content

Review of Mastodon - Open, Federated microblogging platform

Mastodon is a twitter-inspired, federated, microblogging community ("social network"), which anybody can partricipate in by joining a public instance, or running their own instance.

Mastodon Screenshot

Review details
Reviewed version v3.5.3

Mastodon is a twitter-inspired, federated, microblogging community ("social network"), which anybody can partricipate in by joining a public instance, or running their own instance.

Background

I've been interested in running a Mastodon instance since I read about it back in 2017. I gave it a try back then, but IIRC Docker support was iffy, and the way federation worked was a bit hit-and-miss (at least, in my attempts) I did learn a bit about "WebFinger" 🀞 though, which still sounds a bit dirty! 😈

My 2017 Federation-debugging

After abandoning my dreams of hosting an instance, I kept a few accounts on mastodon.social, experimenting with cross-posting from Micro.blog, and using the native RSS feature to provide a manually-created changelog of new recipes.

In 2022, finding myself wanting to up my "social game" without tying myself into Twitter, I started assembling a typically geeky, over-engineered workflow to cross-post between Mastodon and Twitter, and easily produce RSS feeds.

I decided to take a fresh attempt (5 years on) at running my own instance, and in the process, I re-introduced myself to elements of the Mastdon experience, which I'll explain below...

What's notable about Mastodon?

Here are my thoughts:

Technology

  1. There's a steady cadance of ongoing new releases, and a dedicated Patreon and Sponsor supporter base.

  2. There are now (as of April 2022) official mobile apps for iOS and Android (there are also dozens of 3rd-party apps which have appear over the years, but some of these are no longer updated).

Culture

Community is hard, federation can be abused to harass target users and administrators, and community moderation is generally a thankless job.

Social "platforms" are no longer just fun cat pictures, they're a now powerful social tool for effecting change or producing life-destroying harm, and a mature, open-source code-base is an attractive starting point1 for those wanting to establish2 their own platforms.

Public servers tend to serve communities of a particular interest, be it art, music, gaming, etc.

Details

Docker Install

Mastodon includes a docker-compose file for deploying under Docker, but it's not a "fire-and-forget" deal, since there are some manual steps required to migrate (or instantiate) the database, setup users, secrets, etc.

More importantly, since docker-compose will only run containers on a single host, this provides no resilience to failure, and no container orchestration like we're used to with Docker Swarm / Kubernetes.

I've adapted the docker-compose for swarm mode, and written a recipe to install Mastodon in Docker Swarm.

Kubernetes Install

Mastodon's repo also includes a helm chart, which makes the process of deploying to Kubernetes much simpler than either Docker or Docker Swarm. The chart isn't published on ArtifactHUB yet (I hope to fix this with a PR), which means it's hard to discover.

There are other elements I'd like to improve about the official chart, such as the use of env variables for secrets (these should ideally be Kubernetes secrets), but the availability of contructs such as Jobs makes the whole deployment and setup process work.

Here's my an opinionated guite to installing Mastodon in Kubernetes, which is how I've deployed my FNKY instance.

Admin UI

You could probably browse any public instance to get a feel for the user-facing UI and options, but it's harder to get a feel for the admin backend without performing your own installation. Here's a quick video of the admin options to scratch that itch...

Alternatives

Twitter

OK, obviously one is a bot-filled πŸ€– cesspool so scary that Elon Musk doesn't want to buy it, and the other is open-source, self-hosted, federated, and can't be censored, monetized, mined, advertised to, etc.

Here are some other differences...

Feature Twitter Mastodon Notes
A post is.. a "tweet" a "toot4/post" yes, really!
Sharing a post.. retweeting boosting no, not "retooting"!
Links count as 9 chars 23 chars Regardless of length of URL
Character limit 280 500
Media βœ… βœ… video/audio/images work as you'd expect
Polls βœ… βœ… yes, polls too
Privacy βœ… βœ… you can hide your toots!
Threads βœ… βœ… like this
Custom emoji ❌ βœ… like Discord, you can define custom emoji for your community
RSS feed ❌ βœ… like this
πŸ‘™ Content warnings ❌ βœ… hide NSFW content, spoilers, etc
Moderation TWTR per-instance
Mastodon vs Twitter

Conclusion: Although the primary differentiator is centralized "Big Tech" vs federated open-source, there are some feature advantages (and some quirks!) to Mastodon vs Twitter πŸ‘

Summary

TL;DR

If you..

  • Just like the tech..
  • Want to "stick it to the man"..
  • Find the concept of an isolated, themed social community attractive...

.. Then join one of the thousands of available instances.

If you additionally:

  • Prefer to self-host your own tools..
  • Want an instance to share with your community...

.. Then install your own instance in Docker or Kubernetes!

I want to "own" my content3, and I want to invest in the Geek Cookbook community, so I chose my own instance.

Whichever path you take into the "fediverse", toot me up when you get here!

Chef's notes πŸ““


  1. https://blog.joinmastodon.org/2019/07/statement-on-gabs-fork-of-mastodon/ ↩

  2. https://blog.joinmastodon.org/2021/10/trumps-new-social-media-platform-found-using-mastodon-code/ ↩

  3. I'll continue to cross-post from Mastodon to Twitter though, for visibility and engagement ↩

  4. In a highly controversial PR, "toots" were renamed to "posts", although my instance apparently still uses "Toot!" by default... ↩

Tip your waiter (sponsor) πŸ‘

Did you receive excellent service? Want to compliment the chef? (..and support development of current and future recipes!) Sponsor me on Github / Ko-Fi / Patreon, or see the contribute page for more (free or paid) ways to say thank you! πŸ‘

Employ your chef (engage) 🀝

Is this too much of a geeky PITA? Do you just want results, stat? I do this for a living - I'm a full-time Kubernetes contractor, providing consulting and engineering expertise to businesses needing short-term, short-notice support in the cloud-native space, including AWS/Azure/GKE, Kubernetes, CI/CD and automation.

Learn more about working with me here.

Flirt with waiter (subscribe) πŸ’Œ

Want to be alerted to new posts / recipes? Subscribe to the RSS feed, or leave your email address below, and we'll keep you updated.

Your comments? πŸ’¬