I’ve done a bit of mastodon maintenance lately.
I rebuilt the VM it runs on, upgraded postgres from 14 to 17, and have now also migrated our media to Jortage.
tilde.zone started out relatively small, but we have scaled it up a bit to handle our users. First step was allocating more disk space. Step 2 was offloading media which I solved with minio on a separate container. I still have a draft post for my blog laying around somewhere about when I did that initial media migration but never got around to finishing it. Sometimes procrastination pays off?
Anyways, once I got the new VM set up, I wanted to find a better long-term solution for media. This led me to a couple different spots including Cloudflare R2, Backblaze B2, Hetzner’s new S3-compatible offering (currently in beta!), and even an alternate minio setup with the mass storage in my homelab behind a Cloudflare tunnel.
They’re all decent options but I was frustrated with the opaque pricing models. I don’t know off-hand how many API calls mastodon is making to the S3 backing storage and never had to consider that while running my own minio.
Enter Jortage.
The Jortage Storage Pool is an S3-compatible frontend to Backblaze + Fastly that performs file-level deduplication, designed for fediverse instances. File-level deduplication is invaluable in the fediverse, as media posted by any user gets eagerly copied to any Mastodon instance that receives it, and has saved our 89 members
55.02% on storage.
On top of having a stellar name, the deduplication + caching layer sold me. Additionally, Una was super helpful getting us set up. I made sure to set up a recurring donation, leaving us with a predictable cost.
If you’re an instance admin also looking for scaling storage, be sure to check out the jorts!
Leave a Reply