"On Running a Mastodon Instance"

Updated `01042023-014325'

Together with a friend, I’m running the Mastodon/Fediverse instance chaos.social. We’ve been at it for nearly five years now, and I feel like it’s time to reflect on the good, the bad, the ugly. Please note that you'll be reading an edited version of this post with most of the cursing removed, so please be understanding of the bits that I kept – they are load-bearing.

Le me

Some context, for those who don't know me: I didn't start running chaos.social unprepared. I run both other web applications, and more importantly, I moderate other community spaces, including several conferences, the chat of a large Twitch account, some Discord servers and a mailing list. I also used to be involved in running a hackerspace. I’ll inevitably compare my experience as a Fediverse admin and moderator to these, so I might as well be upfront.

The Fact Sheet

Leah and I started chaos.social when Mastodon started to take off, in April 2017, as an instance for a community intentionally left vague. The tagline (“… because anarchy is more fun with friends”) points in the right direction: “we” are roughly the German Chaos community and people who are or want to be associated with it. It’s a left-ish, queer (and not) group of German (and not) nerds (and not-nerds). Sorry to be so helpful.

We started with open signups, and eventually closed down when the instance grew too fast. (That’s much easier said than done – see more below.) New users join through existing users, who can extend invites. We also occasionally give out open invites during CCC events. This policy has been working out well: chaos.social is active without being unmanageable. We’re at about 7k users at the moment, 2k of which have been active in the last month, with a total of just under 2.5 million posts.

The Work

In pure hours spent on it, the instance has not been terribly demanding after things settled down from the initial growth. I’d guess that I put *two hours per week- on average into the project. During normal weeks, I'll get away with just thirty minutes, mostly moderation stuff (see below) and responding to emails (people wanting an invite and needing to reset 2FA). But then, of course, there are stupid hell weeks (see allll the way below) that eat hours like Slack eats memory.

Leah, who is the professional sysadmin of the two of us, handles most of the technical side, including monitoring and maintenance work, and also owns the servers and infrastructure – I occasionally nudge the server, I add and perform maintenance jobs, and I was involved in the setup and some database hacks, but it’s a negligible part of my workload.

That said, once you get Mastodon up and running, the technical side isn’t really the one you have to worry about. I run several other web applications other than chaos.social, and Mastodon is pretty middle-of-the-road in terms of effort required, with the added bonus that the #mastoadmin community is happy to help out and share when anybody runs into problems (and is often much more helpful than the official issue tracker).

Now that you know what I generally do, let me share which parts are good, which are bad, and which turn ugly. I'm not sure if each of these categories tend towards extremes, or if I just remember the outliers best, but it seems to me that the highs have been very high, and have been matched by appropriately low lows.

The Good

Running a community space is always rewarding to some degree, and online spaces are no exception. I don’t want to be trite and say “the people are what makes this worth it”, so let me be more precise and explain some of the good things that I have encountered in the past years running chaos.social.


First off, it’s fulfilling (yeah, stupid word, but it fits) to see people flourish in a space that you have made. They are enjoying good days, finding help on bad days, share their life and their opinions, they have fun and get angry, play games, create art for us, and sometimes even improve life for others – all through something Leah and I are responsible for. That’s just a really nice feeling, and I like feeling it.


Then there’s the explicit appreciation: Occasionally, people remember the work we’re doing, and will thank us without special occasion. They ask if the instance is healthy, if we need help, and generally behave with concern and decency. When we post about our finances, they chip in, and we haven’t had to worry about carrying the financial burden for the instance since that post. Feeling like you're a part of a responsible, mature community is a pretty basic need (I think, with the power of the armchair psychologist), and while online spaces can't replace real-life communities, it still feels reassuring to see people step up like this. (Thanks, folks <3)


It’s also great to have power in a setting like this. Yes, I know what that sounds like. Let me explain! It feels good to enforce rules that make people safe, especially when most people respond well to moderation – we have banned only a tiny number of people over the years. Moderation typically involves talking to people about the things we find disagreeable, and in most cases they can either see things from our perspective, or decide that they would like to move to an instance with rules better suited to them, with no hard feelings. Both these outcomes feel good, especially knowing that things could get Bad or Ugly. The good parts of moderation also include the community being receptive to rule updates – we have worked pretty hard to come up with a good combination of rules and guidelines, and any feedback has been constructive and respectful. Furthermore, the nature of moderation means that most of our work is invisible, since we talk directly to people breaking our rules, without making details public. Nevertheless, people have time and again chosen to explicitly trust our judgement, without needing to see proof (that we are usually not at liberty to share). I can’t stress enough how reassuring this is.


Power also has more positive, creative uses: Being able to add cool emotes that fit our interests and styles (pride flags and bread emotes, it’s up to you to guess who added which), or changing the instance look for pride month, or just playing with a lot of tiny modifications like that.

The Bad

Some parts of running a community space are always less good, ranging from “meh” into all out “bad bad BAD” territory. I’m going to skip the annoying stuff (support emails for lost logins and the like), as those don’t really matter even in the short run. The rest I’ve listed here in increasing level of badness:


The outermost ring of badness are spammers and the like. They’re easily reported and blocked, but it’s constant work that needs to be done. Bonus points for spammy instances, as they’re even easier to block – though we document every blocked instance, so that’s additional work (plus we have to make sure that the instance is actually spammy as a whole, not just a handful of bot users they are racing to ban).


The next level are terrible people being terrible. You can’t avoid this stuff when you moderate a community, so you better be prepared for it. It's obviously bad when people are outright homophobic, or Nazis, or spread conspiracy theories, and all of this will happen, a lot, in worse ways than you expect. But there are also worse ways (for moderators, that is) to be an asshole . For one, I don’t know all the idiocy that circulates out there, so occasionally I have to read up on niche idiocy to judge if somebody needs to get blocked, or what they are even talking about. Add to that that not everybody uses the report feature that allows you to include one or multiple posts in the report, and this can involve some very icky scrolling. Plus, your mood kinda just takes a dive when you read worst-of-Internet content like personalised calls for queer people to kill themselves, extreme fatshaming, sudden gore pictures under unrelated hashtags, holocaust photos and so on.

asshole instances

Again, bonus points for entire instances of this, because we have to look at at least one other account (of an admin or moderator) to see if we want to defederate. Nothing I’ve seen in the course of this has topped what I’ve seen in other parts of the Internet, but it still leaves a bad taste in your mouth, and it can happen on any given day. This comes with some semi-mandatory constant work keeping up with new known bad instances: People let each other know when a new Nazi/crypto-scam/loli/… instance spawns, and it’s somewhat expected that instance administrators block these instances proactively. We’re doing so-so on this one, as it’s a LOT of work – we usually wait for the first bad interaction to be reported, to keep the workload manageable, at the expense of at least one user’s experience.

at home

The last level of badness is when people do any of the above on our instance. Having to interact with Internet-level badness is never fun, but it’s much much worse when you feel responsible for it. This has been exceedingly rare, because having an invite-only instance has kept a general sense of community and behaviour norms alive, thankfully. We've had some close calls, but at least since closing registrations, I don’t think that we’ve seen somebody being openly malicious.


There’s one last aspect to the bad stuff, more of an addendum than an extra layer: We’re never entirely off-duty, and it can be draining. Most people understand and use the report button, but people are going to be people, and so there’s always somebody who @s Leah or me instead, which makes it hard to carve out time that is really just for enjoyment. I know it doesn’t sound all that bad, at least comparatively, but this combined with the resulting sense of constant responsibility was what led me to use Twitter again, just to have a place where I can **not*- feel responsible for people being idiots misguided.

The Ugly

Now, if you wonder what could be worse than the spoilered stuff above, let me reassure you: the ugly parts are not more bad, they are different bad. In particular, the ugly parts are the ones with complexity and ambiguity (screw ambiguity in particular). I’m again going from less to more ugly.


The first ugly part is the stress. I’ve alluded to it above, talking about being always on duty, but this is more specific: In a given situation, when Leah and I have to make a decision, we’re under a lot of pressure to make the (or a) right decision, to prove we deserve the trust people generously placed in us. More than that: We have to make a decision that we’re still willing to live with then it’s thrown back at us by a malicious troll twisting the facts, while we can’t respond properly without disclosing messages we’re committed to protect. You start second-guessing every word and try to see what everything would look like when it’s taken out of context. It’s a defensive and indefensible position. This sucks, and it never stops sucking.


When you put people under pressure for a long time, they stop being happy and cuddly, and as running chaos.social is only something we do in our spare time, it’s inevitable that there are times when neither Leah nor I are in the mood to deal with whatever the world has thrown at us. But we’ve still got to. Short tempers and tense situations can go wrong in the blink of an eye, and while 99% of the time one of us is happy to take over moderation while the other deals with life stuff, there are situations that are just miserable for everybody. (We have a lot of practice at this point, and we’re still very good friends, but that doesn’t mean that it has been easy getting here).


The next ugly part are the instance policy decisions. There are many good ways to run an instance (and many more bad ways), and it's hard to figure out what's good, what's necessary, and what's fun. We took some tries to figure out our policy on things like crossposting and bots (result: not on the local timeline), the exact line between hard rules and softer guidelines, how we handle reports, if registrations should be open or closed, and if closed, how to deal with invites (result: everybody can invite friends, but we prevent unlimited invites), and so on. As mentioned above, the people using our instance have been patient and understanding throughout rule changes (in part because we always explain our reasoning, and keep the changes to a minimum), but it's still complex and unpleasant and not very nice.


Then there’s the software bullshit discussions. People have strong opinions on software (nothing new here), and at times, Pleroma vs Mastodon sounded a lot like vim vs emacs, only with a fair share of “all of them are Nazis” thrown in. Trying to figure out why a feature is not working on your server could easily lead to having to figure out who all those people arguing in not-quite-connected GitHub issues were (random internet people plus maintainers plus frequent contributors plus PR authors who never got their stuff merged and who were bitter plus central community members whose opinions were everywhere and whose allegiances kept shifting – a delightful mix). I think this kind of drama has died down a little, but maybe I’m just better at blocking it out. Regardless, having to stay somewhat up to date on this was draining and idiotic and I regret every bit of time I’ve spent reading essays about the society-wide implications of quote-retweets.


The next level of ugly shit in the Fediverse are instance wars disputes. Instance blocks are in themselves a complicated topic, with opinions ranging from “bad, destroying the Fediverse” to “necessary, I don’t need to read your Nazi shit”. Sometimes we see other instances blocking each other and calling for mass instance blocks. This leaves us to dig through long discussion chains, and to figure out if, for example, one instance really is transphobic, or if they have a transphobic ex-moderator, or if somebody just had a stupid opinion, or if none of that happened and they were just misrepresented by concern trolls.


We do employ instance blocks ourselves, and they are usually not controversial. In the past years, we have only been involved in this kind of drama once, and it was an exhausting, stupid process that took weeks to untangle, often involving long conversations with people who sounded reasonable on the surface, and yet felt deeply off. Doing this work under public scrutiny was only possible because our last line of defence consists of the end of our rules: “We are maintaining this instance on our spare time, hardware and nerves. Don't push either of those.”, so we reserve the right to use the ban hammer Just Because. But we don’t want to (again, we want people to trust us for a reason), and everything about all of this is stressful and annoying and makes for a couple of really bad days or weeks. And since none of these cases are easy to decide (otherwise they’d be Bad, not Ugly), we spend half the time second-guessing and double-checking our decisions. Rigor may be good for the soul, but nobody said anything about fun. (‘cause it’s not, rigor can walk into the sea together with ambiguity.)


The worst of the ugly cases are capable individual trolls. If we make a wrong call about an instance, that sucks, but an instance has its own community, and it can go through other (annoying, painful, but available) channels to talk to us. All this is harder for an individual, so it’s much more important that we make the right call. At the same time, individuals are much more likely to be bad actors (because having an instance is work, and being a troll is free). Again, with people on different instances, this is ultimately not terrible to get wrong – at worst, they can’t pick fights with people on our instance anymore. But with people on our own instance? There are days when I’d rather get punched in the face than figure out if one of our users just needs a stern talking-to, or if we should have banned them a year ago, or if the report was taking things out of context.


A lot of it is figuring out nuance, and nuance is annoying and exhausting: Has this user been a problem before? How much? When? Have we warned them? (Early Mastodon moderation tools sucked, so this is extra hard to keep track of.) Do they act in bad faith? Are they oblivious? Does it matter? Do we want them to go? Do we want to close their account? With or without a grace period to migrate their data? Do we want to delete their post, or them to delete their post? Does anybody deserve an apology? How do we want to respond if they don’t take our message well – do we negotiate because our interpretation of their behaviour is not set in stone? Do we ask them to leave the instance? Do we have to make a public statement to make it clear that we, as moderators, are taking action, or would that put an unnecessary spotlight on a bad situation? (99% of the time we say nothing, of course, but we also need to make sure people don’t start to see our instance as a place filled with assholes just because they can’t see the moderation actions behind the scenes.)


It doesn’t stop. It never stops. It’s in the nature of people to never stop and to have nuance and motivations and a low amount of malice and an often terrifying amount of clumsiness. We work with all this in the face of people poised to assume the worst (of us, of our users, of other people). We found our way of navigating this ambiguity by trying very hard to do the right thing, while also falling back on the rule of thumb of “This is our living room, please behave like it.”, and it took a lot of time and effort to arrive at this point. I’m glad we did. But man, I’d have **also*- been glad to arrive here with less bullshit along the way.

The End

On balance, running a Fediverse instance is worth it, I think, or rather: I’m glad I started doing it five years ago. Said balance is complex and, on bad days, doesn’t look like it’s all that good. Thankfully, the bad days are a tiny (if vocal) minority. If you're thinking about running an online space and are feeling intimidated: good, you're taking this seriously. Now go back up and re-read the Good part. Then go back down and re-read the Ugly part. Good luck deciding. *Thank you- everybody who was part of this journey that was equal parts stupid, hilarious and educational. I could have done it without you, but I would have turned into a bitter, jaded asshole along the way, and this blog post would have been very different. And thank you, Leah, for being a bit less stupid and a bit more hilarious than me.