Reading Time: 6 minutes
I have been using Mastodon for over three years now and have no regrets. I’m aware of confirmation bias in this matter but it still feels right. I was ready to take the next step, which was to try to run my own Mastodon instance. It’s still early days but I am pretty sure this is is still a work in progress.
I had been on X for fifteen years almost to the day. For obvious reasons, that was no longer tenable. I had two accounts there. In order to preserve control of my X most public handle, I deleted that one first, then immediately flipped to my second account and changed the second handle to my primary one. This had the benefit of removing all of the followers that had accumulated over my brother’s detention case and who otherwise had no connection to my life.
I’ve also created a Bluesky account but it’s primarily to amplify posts from this blog. It’s not a community that I feel like contributing to in a social way. As far as I can tell from my periodic interactions with it, it has largely retained the unhealthy aspects that Twitter had before it went full fascist. I’m not looking for influencers, news or political or otherwise, and the drive-by replies and anger. The Mastodon universe is not for everyone, perhaps, but it is a very, very healthy place for me.
A New Home
I have already posted a bit about my start using Mastodon. It isn’t a place, like Bluesky or X. You don’t go to a server called Mastodon. It’s more like your visit to this blog. You are not visiting WordPress. That’s just the software that contains the words and thoughts. This appears to be a hurdle for some folks to come to grips with Mastodon but it wasn’t an issue for me. I looked around for a couple of larger instances—mostly because I assumed they would have the resources, like server support, to run smoothly—and signed up. I ended up at Mastodon.world.
It’s a great server to belong to. It has everything you would want in a Mastodon instance. There are systems admins who keep the software updated and the platform running. There are moderators who monitor not just interactions with .world account users but also handle federating and de-federating whole servers. If Mastodon is anything, it’s a galaxy of stars, and each star has a great deal of autonomy in managing how its resources are used.
There is no right Mastodon server to be on. You will find some of them cluster communities with shared interests but it’s not necessary. I was on generic server and found people from all backgrounds and profiles from all over the Fediverse. Larger servers may make this easier and (as I’ll point out below) small servers may feel isolated, but you can migrate around until you find the community and server that suits you.
Unlike commercial social media like X and Bluesky and Meta Threads, where users trade their personal information and communications for access, each of those Mastodon stars requires resources. Like a number of other .world account holders, I made a monthly contribution for the server support. The people are volunteers but there are servers and website hosting to pay for. I do not subscribe to streaming media but it’s the same idea.
This is a bit of a risk for Mastodon users. You are somewhat reliant on the server admins and mods to be able to use the software. If admins disappear, the Mastodon software on the server may age out. Or if it’s poorly configured, a flood of bad actors, live or as bots, might register and flood the community. The relationship of Mastodon instances means that a server that is poorly managed or maintained may quickly find itself cut off from other instances or, if it lacks funds, shutting down. Some Mastodon servers are side hustles and hobbyist and labors of love, even if well meant.
It is, fortunately, easy to move from one instance to another. When you move, you can migrate all of the people you follow and those who follow you, as well as other data. I think that, as Mastodon software matures and Mastodon instances become seasoned and some fall away lacking that seasoning, those instances that remain will be more stable if they are supporting a community of people.
As anyone who follows this blog knows, I like to try to run my own stuff. With three years under my belt, it was time to start thinking about whether I could run my own Mastodon server. The fact that I was already making a financial investment meant that I could consider having someone host it for me without spending new money.
A Home of My Own
I use a website host. The service level I license is the lowest possible: database, website server software, and some storage and server resources. This is enough to run a lot of applications. I have WordPress, an RSS feeder, a photo album manager, a read-it-later app, and some other odds and ends. They share the same requirements: a database, some server resources, and they use the PHP language. There are no other dependencies.
This is not what you need for Mastodon. It has a much more complicated technical stack. I have recently started to play around with containers, Docker and the Docker Desktop on Windows specifically. There are apps like ArchiveBox and Docassemble that I’d like to give a spin. The reason is that I’m starting to run into apps, like Mastodon, that require a lot of specific dependent pieces of software and configurations. A container can act as a virtual computer and run that specific app, and you can run multiple containers at the same time. The only limit is your knowhow and physical resources like storage and processors.
This is a frequent decision point for me. How much am I willing to invest in running my own resources. I have in the past run my own servers, in my home, but I’m leery of having internet-facing resources on my home internet. It raises reliability and security issues. At the same time, website hosting can become expensive as you add complexity. A Docker configuration on my current website host would triple the cost. It would be less expensive to buy my own server and running it from my own home in the long term.
The other issue I was concerned about was how many resources I would need. For awhile, I connected this blog to the Fediverse using the ActivityPub plugin. Every time I posted and it transmitted to a Mastodon account, my server crashed because a huge number of the stars in the Mastodon galaxy suddenly made a request for the same file. As you can see from this far more competent look at Mastodon server resources, under-resourcing servers can ruin the experience of using the software.
Fortunately, as there are with other open source server apps, there are Mastodon hosting companies. I looked at Masto.host because it was one of the most common platforms I saw on Mastodon posts. It is very vague about which plan provides enough resources but I decided to start with their most basic plan as I was only needing to make a server for a one-person site.
I signed up for a new plan and began the switch over. I did not need to migrate from my original account but I justified the Masto.host plan by moving my current monthly investment over. I had to make a simple change to my domain name system (DNS) configuration—adding a new third-level domain, social—and I was off to the races. It means that the Mastodon server appears to be connected to my domain name, even though the hardware is somewhere else, managed by someone else.
Once I had an account (@david) created on my own server, I could return to .world and start my migration. The only thing that I would have liked to have moved and couldn’t was my keyword filters. But my follow lists, as well as muted accounts and blocked servers, were all available to download as .csv files. The migration of users is automatic; the .csv files need to be uploaded to the new server.
It really couldn’t have gone smoother. It is still early days but it seems to be working well, technically. My initial configuration meant that I ran out of storage space for media (photos and videos) in a matter of days. These are photos and videos that appear in your feed from others and can be cleaned out. It will probably take me a few days to figure out how long to keep things and also how federated my server is. The more federated it is, the more media flows to it and the more storage it consumes. The alternative is to turn off any federated relay and increase the number of people and hashtags I follow. So long as I can get this sorted out, I should be in good shape.
What I am hoping is that I can spend the next year or so getting more used to administering the server. It’s not that complicated; most of the difficult work is done by Masto.host people. This is just like any cloud-hosted app; the cloud service handles the underlying functioning. All going well, I think I will probably consider running my own, even on my own server. One thing I didn’t know was how much RAM and storage memory I’d need, how much processor power, and so on for a one-user system. If the basic Masto.host plan works for me, then I can replicate that amount of hardware on my own.

Starting idly, I spent some time playing with the cascading style sheet to make it more personal. It’s little things like that, the ability to retheme or customize the interface, that I enjoy tinkering with. For now I’ve got an orange-and-teal-ish blue theme but I’m sure I’ll play around some more. A one-person instance can be very isolating so I will be making some changes to my approaches. I can’t rely on a stream of generic federated posts and this means I will need to follow both people and hashtags more often. Otherwise, my feed will remain limited to just the people I currently follow as there is no feed being generated on my instance, as there is on larger instances.
Early days, though. Mastodon offers a really good balance of being able to control your own technology while still being able to participate in a community. I’m looking forward to making a deeper investment in the technology.