The Pleroma experience

I've been on fedi for a little while now. Over a year, in fact. In that time, I've gone through a couple of instance migrations, eventually ending up on Akkoma. It is through using Akkoma that I've truly discovered how much better Pleroma et al is at, well, everything, in comparison to Mastodon. However, they've started to trend in a direction that I'm not the biggest fan of, and have been removing features such as exposing if a user blocks you, despite objections being raised. As such, I've decided that it's time to move again. But what to? There are many options for fedi instances, such as the *key family, Mastodon/Glitch (but I'll pass on that one), and Pleroma and its forks. The *key family was on my radar, but the UI is just not something that I'd enjoy using. So, it was off to Rebased and the Soapbox frontend.

To run a server, one needs the infrastructure to do so. Though I would have loved to use Nulled LLC's services, I unfortunately can't justify that cost at the moment. I hope to switch to them in the future, however. Because of my somewhat limited budget, I decided to go with Hetzner Cloud services. It does unfortunately require me to run proprietary JavaScript to manage things, but that's a problem with the economic realities that we live in. I'm currently using an ARM64 VPS for Pleroma hosting, and it's been going quite smoothly.

After obtaining a way to run Pleroma, it was time to set it up. Being me (absolutely paranoid about any software that I have to deploy), I did a lot of practice with this. Because of that, once I got Debian up and running, the setup process was quick and easy. I simply ran the installation script, and then it was on to the configuration stage.

The configuration was overall quite easy. There was however, one exception. Defederation. Now, you may ask, why would I defederate instances? I've expressed my distaste for the server admins who use defederation as a tool to push their views in fedi politics; I view it as a threat to the integrity of the fediverse. I generally defederate for three reasons: illegal/malicious content, pedophilia, and hate. It is my belief that most other cases can be dealt with by using the block button.

That being said, I did need to defederate some instances. That took me many hours. I eventually had to ask about it on fedi, and it turned out that I had missed a large spot of the docs on MRF, or "Message Rewrite Facility", an incredibly flexible way to edit incoming and outgoing messages. This is what is used to defederate instances on Pleroma, as it has a "reject" option that, well, rejects incoming messages from certain instances. Once that was done, all that was left to do on the configuration side was to set emojis up.

Emoji packs are very common on fedi; they're simply a collection of what are usually PNG and GIF files, and they're rendered in the same way as a normal Unicode emoji. In addition to that, Rebased (and, at the time of writing, the Pleroma dev branch) allows you to react to posts with them. I, however, didn't actually know where to get them, so I wrote some mildly cursed AWK oneliners to extract them from other Pleroma and Akkoma instances, and then I set them up.

One thing about ActivityPub that's really useful is that it has a way to "move" accounts from one instance to another, by transferring followers. One can also import CSV files of blocks, mutes, and accounts that were followed on the old account, available on the old instance in the settings. So, I did that. What I failed to consider is that federation isn't perfect. I have around 100 followers that are stuck on "pending"; I've been told that that's because the user's instance wasn't aware of mine before I migrated. I'll keep that in mind if I ever move instances again, and I'd recommend that you do so as well. Other than that, however, everything went smoothly, and things have been working without much hassle.

After setting up DNS records, IPv4 worked, and has been working, without issue. IPv6, however, I was uncertain about. You see, I live in Canada. Canada's telecom experience is terrible, and second only in being terrible to Australia's telecom in the realm of so-called "developed countries". Our telecom systems are controlled almost exclusively by two providers: Bell, and Rogers. They're both utterly terrible, and the only difference seems to be that Bell doesn't go down country-wide every year, unlike Rogers. Because these ISPs are both terrible, neither of them offer IPv6 connectivity. This means that I have no way of properly checking the IPv6 connectivity (or lack thereof) of the instance. This also means that I never learned how IPv6 works at all, and it turns out that I couldn't even set the DNS records up properly. I got contacted about it on fedi, and I, with much help from the person who alerted me to the issue, was able to get at least the web interface working over IPv6. I don't know if federation works over IPv6 or not, but that's something for me to figure out later.

I normally wouldn't make this a section, but I found it too amusing to pass up the chance to include this. You see, I started writing this blog post a few days after I set the instance up and started using it, and in that time, I've been defederated by an instance. What instance, I hear you ask? If you've spent time on fedi, you may have heard of an instance by the name of Along with some others, they're one of the instances that seem to exist solely to get as many people defederated as possible for as little reason as possible. Well, they found me. Despite being a "small, friendly server" that's run by "LGBT+ individuals", they sure seem to like defederating small, friendly servers that are run by queer people such as myself! I can't even comment on the block reason, as they couldn't be bothered to add one. This type of behaviour is something that I believe to be damaging to the fediverse as a whole. When a fedi instance is that toxic, it contributes only to the siloing of fedi instances, turning them more and more into the centralised social media that they claim to hate so much.

TL;DR: is being toxic, as usual.

To conclude, I think that Pleroma is great! The setup process was fairly simple (and a lot easier than Mastodon, from what I've heard), and despite me somehow missing an entire page of docs, everything went well. Would I recommend getting an instance set up? Even if just for the learning experience, yes, I would. I've learned a lot during the setup of my instance, and it's always good to know more about the dark and scary world of sysadmin.

July 2023 (c) 2023 Eris A