The other week a friend and I decided to spin up a mastodon instance to play around with it. I’d been using mastodon for several years, and with the news that mastodon.technology was shutting down, I moved back to my old mastodon.social account, only to find it completely slammed with new users. I figured that it was time to start up our own instance, both for the fun, and ensuring that we wouldn’t have a super laggy experience.

Why yttrx?

I’ve had this domain for some time, because I wanted a domain name that was short, and easy (for me) to remember. “yit-er-ix” seemed like as good of a choice as any.

I spun up a quick VPS instance, and installed mastodon 3.5.3 using an ansible playbook, which ran nicely. That is, until I tried upgrading to 4.0.2.

For some reason, I just wasn’t able to get the site to compile properly, so I decided to call it quits and re-build it on a new server & using docker. All of the images and uploads were still being locally hosted, so it was just a case of re-importing the postgres database, and rsyncing the files over… and it worked! The site was then up and running with version 4.0.2, and running (imo) a cleaner service experience with the docker setup.

Moving images to s3

I didn’t want to worry about losing content, nor worry about backing up the content to my home NAS etc., so I decided to migrate the images to use an s3 compatible backend. This went quite smoothly. There were a few hiccups that I made with typos etc., but I got things running with a new nginx server handling the static images, caching them locally but serving them from the s3 backend. After creating a 302 redirect from mastodon’s /system uri, I felt safe deleting all of those files. One less thing for me to worry about backing up :)

Sorting out email is a PITA, but I’ll write about that later.

Check out the Join Mastodon site for more info on what mastodon is all about. Check me out on my server and say hi if you’re federated.