💾 Archived View for gem.snowgoons.ro › posts › 2020-08-29-mastodon-on-kubernetes.gmi captured on 2024-05-26 at 14:43:50. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-12-28)
-=-=-=-=-=-=-
┌───────────────────────────────┬───────────┐ │ What │ Where │ ╞═══════════════════════════════╪═══════════╡ │ Helm Chart for Mastodon 3.3.0 │ GitHub[1] │ └───────────────────────────────┴───────────┘
When I was young, I guess the first 'social networks' I used were FidoNet (address 2:253/513[2] to be precise) and AmigaNet, and then IRC and Usenet[^1]. In all cases, they were decentralised networks, with many servers not under the control of one organisation. Naturally, I set up my own BBS system on FidoNet, and as soon as I could set up my own NNTP relay for Usenet, even if it was incredibly impractical. There's just something nice about controlling your own infrastructure - and in the modern world of GDPR and the like, controlling your own data.
So, I was never terribly comfortable with modern social media platforms - one reason I never had a Facebook account (a decision that looks increasingly wise, with hindsight.) I'm not entirely free of the evil empires, sadly, with Twitter, LinkedIn and Instagram accounts under varying degrees of duress, but the idea of a decentralised social network, more in the model of those original services, is one I've always thought was quite attractive.
Such a network does exist though, Mastodon. You can read more about it here[3], so naturally I eventually decided to give it a try. Also, I'm always worried my creaking Kubernetes cluster[4] might have a spare CPU cycle one day, so more stuff to load on it is always good.
So, to cut a long story short, I went looking for a Helm chart to install Mastodon on my cluster - and thanks to Ladicle[5] found a chart from a few years ago.
Being a few years old, this chart needed a few little tweaks to work with current versions of Kubernetes and indeed Mastodon. Hopefully Ladicle will merge the changes back into his chart, but in any event you can use my fork here[6] to install your own instance of Mastodon.
Installation is simple:
Once it's deployed, you'll hopefully have a working instance wherever you put it. Register yourself an account, and once you've done so and clicked the validation link you'll want to make yourself an admin. You can do this by opening up a command line on the Web pod and using the *tootctl* command to make your account admin:
timwa% kubectl get pods -l app=mastodon,component=web NAME READY STATUS RESTARTS AGE mastodon-mastodon-web-556fc4b5d7-zv7bm 1/1 Running 0 24h timwa% kubectl exec -it mastodon-mastodon-web-556fc4b5d7-zv7bm -- sh $ tootctl accounts modify your-account-name --role admin
You can find much more information on the official Mastodon install pages[7]
Once it's working, nothing much will be happening - you need to start exploring the 'Fediverse' for people to follow. Start looking at some of the other Mastodon instances like bsd.network[8] for interesting people.
As you start following other people, your server will start making connections with other servers, and you will see more and more posts in the 'Federated' timeline available from your server. This can take a while though, so one shortcut is to find a "relay server" that you can associate your instance with, that will relay posts from your server to a host of others (and, vice versa, all their posts to yours). You do this from the server administration pages within Mastodon itself:
Some relays which I've found work are:
┌────────────────────────┬─────────────────────────────────────────────────────┐ │ Relay │ Inbox URL │ ╞════════════════════════╪═════════════════════════════════════════════════════╡ │ Mastodon.Host │ https://relay.mastodon.host/inbox[9] │ ├────────────────────────┼─────────────────────────────────────────────────────┤ │ ResplendentWebServices │ https://en.litepubrelay.resplendentwebservices.com/ │ │ │ inbox[10] │ ├────────────────────────┼─────────────────────────────────────────────────────┤ │ 101010.pl │ https://relay.101010.pl/inbox[11] │ └────────────────────────┴─────────────────────────────────────────────────────┘
Have fun!
[^1]: Actually, I still frequent a few Usenet groups - amazingly, it's still alive, as long as you keep your killfile up to date for all the spam postings that Google allow to be posted freely with Google Groups...
1: https://github.com/timwalls/mastodon-chart/
2: https://nodehist.fidonet.org.ua/?address=2%3A253%2F513
3: https://laurakalbag.com/what-is-mastodon-and-why-should-i-use-it/
4: /posts/2020-05-11-snowgoonsplatform.gmi
6: https://github.com/timwalls/mastodon-chart/tree/update-k8s-1.17
7: https://docs.joinmastodon.org/admin/setup/
9: https://relay.mastodon.host/inbox
10: https://en.litepubrelay.resplendentwebservices.com/inbox
11: https://relay.101010.pl/inbox
--------------------