Dima
@dima@dol.social
A person the world could do without. Still here. Cyborg (carbon, titanium, dacron). Coding since 2007. Neurodivergent mind. 31. Addicted to #Debian, #DevOps, and new #tech toys. Fond of moody #art, #medicine, and #death studies. #php #symfony #development #sysadmin #linux #docker #kubernetes
dol.social
It has been a while since I wrote a proper long guide about something I actually love doing.
In September 2025 I wrote up how to run Mastodon on Kubernetes. That blog is gone, the guide survives only in the Web Archive. A text about backups that exists as somebody else's copy. At least it stayed on topic.
So I rewrote all of it against Mastodon 4.6.
The part I got wrong the first time was the most important one: Postgres as a Deployment with a PVC next to it.
Kubernetes sends SIGTERM, Postgres reads that as a smart shutdown and waits for every client to disconnect. Sidekiq never does. Thirty seconds later, SIGKILL and a crash recovery.
CloudNativePG and continuous WAL archiving now, RPO down from 24 hours to minutes. Still no Helm, everything by hand, because I want to understand what runs.
My own instance came off Kubernetes in March, purely on cost. This is the config as it last ran.
https://www.dol.ch/en/blog/mastodon-4-6-kubernetes?=s1
#Kubernetes #PostgreSQL #CloudNativePG #SelfHosting #DevOps #Mastodon #Blog #Fediverse