Hosting a Mastodon Server

Hosting a Mastodon Server

Never heard of Mastodon? See this video to know.

It’s been more than a month since masto.sahilister.in, the Mastodon instance I host is up and running. It has been surprisingly easy to maintain and hasn’t given any real troubles yet. Part of it can be attributed to using docker-compose for setting it up due to non-successful attempts to get it up native method and partially due to my apprehension to not handle the DB (Postgres in this case).

It came to be when Abbyck mentioned Racknerd’s 11.11 deal offering a 3 vCPU, 4 GB RAM rig with 75 GB storage for 50 USD/year, which I bought. Had some discussions with Ravi that as the rig is already paid for a year, hosting a Mastodon instance on it won’t be of much trouble. I did setup-ed Pleroma a while back (on social.sahilister.in namespace); it’s lighter and more customizable. But Mastodon has its pull, it feels more mature, and I love the UI, so Mastodon was the natural choice. Asked the fediverse on requirements which got diverse set of answers. Experimented, things got stable and migrated my account using Mastodon’s account migration tool, which migrated everything except for toots.

The instance is now home to me and Ravi. Federation works fine and interactions with fediverse are a breeze. Earlier, I wasn’t keen on getting a personal instance as the local timeline on fosstodon.org was always full of technology, software based conversations. After migrating, my local timeline only houses, as of now (other than mine) Ravi’s posts who I already follow. Due to the nature of the federated timeline, it wasn’t much populated. I had read about relays. Relays federate post from bigger Mastodon/Pleroma/Fedi instances to one’s personal/smaller instance to populate the federated timeline with their, diverse content. I got around subscribing to mas.to’s relay. Now things are more happening on the timeline.

As for the maintenance part, I usually ssh into the machine and log into the docker container, to purge media every few days (which needs to be automated). Presently, Mastodon is using around 5 GBs of storage, 1.47 GBs of memory and less than 10% tops for CPU. Though due to latency, Tusky, my android client, while trying to play a video timeout saying “Can’t play this video”. Web/browser seems to play videos just fine. Probably due to smaller buffer/load time limits.

Essentially, hosting the instance gave insights on how federation works while giving the cool boosting factor of running it on own domain ;)

PS: If you know me and want a home on the fediverse/on mastodon and okay-ish with occasional (albeit rare) downtimes, feel free to ping.