So, stemming from my departure from Twitter, i decided to go for the third phase of being on Mastodon, and set up my own server. Mastodon is interesting because it’s pretty much like email. This may become a problem in the future, but i also tend to post a lot and have a fair bit of media in my posts, so paying for a server instead of just dropping a few coins in someone else’s bucket seemed like a fairer option.
(Even though i said i would never set up a server because “who wants to deal with that nightmare”?)
## The failed attempt
The first try was… not successful. i still don’t quite know why. i got an instance, and tried doing a docker-compose style install. Everything mostly went correctly, except that i could never properly federate. Requests would go out, and remote hosts would sometimes get them, but no approval responses would return. There were many rabbit holes to be fallen into, and i’ve seem to have found most of them.
Realizing that my life should be more than debugging this one, particular instance, i decided to try again on a different service.
## The successful attempt.
i won’t go into to the same detail as many of the step-by-step guides, but here are some bits of guidance for the things not covered in the tutorials. (These are also here for my benefit, if i need to do this again.)
- i probably over provisioned. My “free”-ish failed attempt was going to cost me about $20 a month to run. Using that as a guideline, i picked a config that has 2vCPUs, 2GB of memory and 60GB of drive space, which should run me about $18 a month. (i’ll update this later to show actual cost.) Rather nicely, DigitalOcean appears to automatically update packages on initial install, but looks like i’ll need to rig up an automatic package updater, or just add it to my list of machines to manually update.
- Since my image has 60GB of storage, i didn’t get any additional block storage. (Block storage is added as a disk to the image, so you’d need to do some work to wire it into your mastodon configuration.)
- i also made sure to load up my dev public SSH key so that no root password login was possible.
- i followed the getting started steps for the app. i was a bit surprised about you SSH in as “root”, but i’m sure they have their reasons.
- Once i verified that things are working, i copied the ~mastodon/.env.production file to my local machine for archiving purposes.
- After that, i set about updating the droplet’s Mastodon 3 version to Mastodon 4 using this very well written guide.
- That done and proofed, i set about looking at pre-banning the nazis. This page lists a number of bad actors as well as some moderation automation tooling. i’m currently looking at integrating the Hackyderm Admin Blocklist tool, but i just sorta cheated and added the initial batch by hand.
Hopefully things work. FWIW, i don’t really have any plans on letting folk join my instance, mostly because of the HUGE increase in work being an admin entails. Right now, it’s a toy for me to amuse myself with, and i might go back to using a proper server in the future (that’s why i generally maintain older accounts).