mecha.garden
A Small Fediverse Instance
siteWhat it is
mecha.garden
is a
fediverse instance that
I started in the winter of 2022. It started out as an experiment with some alternative
fediverse software (meaning something other than
Mastodon). The server software I
chose is Firefish, or "Calckey" as it
was known at the time (as of January 2024 I've migrated to
Sharkey due to Firefish becoming apparently
unmaintained). I chose it for its user-centric features like being able to react to posts with
emojis, or setting your profile to "cat mode" to get cat ears added to your avatar and have your
posts "nya-ified". The server has been running for a little over a year at the time of writing,
with no major issues. There's even a few users other than myself that post regularly.
The server runs on three different VPS boxes, one for the main nodejs server and redis, one dedicated to a meilisearch server, isolated so that it stops eating the main server's disk space, and one managed postgres database. All are relatively low-power, but aside from the occasional CPU usage spike or disk-space issue, everything runs pretty well for arond $60 a month. If any amount of people start joining and using the site that number would have to go up pretty fast, but for me and the four or five regulars I have right now, it's enough.
What it taught me
Before launching mecha.garden
my experience of running a web service consisted of
my matrix homeserver and a handful of small services running on an old desktop out of my house.
I was familiar enough with docker to be able to stand the site up pretty quicky, but as time has gone
by I've had to solve a few issues. It's been a good learning experience for common system administration
tasks that I had not encountered before. I've had to deal with expired certs (that I could have sworn should
have been auto-renewed), lengthy database migrations, even a poorly timed DHCP issue at my hosting provider while trying to
perform maintenance (you can read my panicked reaction here).
Somehow I've avoided anything catastrophic (🙏) and now that I've opted to use a managed database there should be little chance of that.
But, having to put out these little fires has been a good experience and for the most part surprisingly enjoyable.