This is how I've currently got my Mastodon instance deployed. I'm running it on Kubernetes with Postgres and Redis inside the cluster, with Postgres backups being stored in DigitalOcean spaces.
Mastodon itself is deployed via a Kubernetes operator that I wrote in Crystal (which made a cameo in my talk at RailsConf 2022). #kubernetes #crystal
4.0 pre-releases, I can stop using the mutable `edge` tag with `imagePullPolicy: Always` to use a cached container image.