How does Lemmy/Mastodon/Fediverse store videos and images?

Blurker@programming.dev to Asklemmy@lemmy.ml – 101 points –

As I was browsing lemmy and the fediverse at large, this question kept popping into my head.

Since multimedia files have a much bigger footprint than raw text, it made me feel worried since as time goes, massive resources will be needed to keep up with the big data coming in.

I do wonder if the instances have taken the route of the cloud and just decided to put all of it in something like AWS S3? Or maybe they use self hosted storage with something like minio for object storage?

55

You are viewing a single comment

Is it caching the entire image from the post or just the thumbnail?

Everything. It does some re-encoding when it retrieves content from other instances and you can set limits for pictrs (the software Lemmy uses to host media) regarding file sizes etc.

Edit: I was partially wrong about what is cached, see my original comment

I need to look more into pictrs and what it can do. Is this done on purpose for image redundancy? I get the reason if the original instance goes offline then I'd still have a copy but maybe I don't really want a copy? Also would be nice if I could get it to convert everything to webp

I think by default it already converts everything into webp. The repo will have more information on how it all works.

When I was looking into hosting my own instance I thought I saw an option to disable media file replication entirely so that they would always have to be fetched from their home instance.

That would be great to know, any chance you remember where you read that?

No, but I bet I could find it again if I hadn't just imagined it and made it up for this comment. Give me a few.

It's possible that I've misunderstood. And it's also important to note that I was looking into this for the purposes of creating my own, single user instance. I wasn't planning on posting to my own instance, just using it as a single logon where I could control what other instances I federated with.

Here it mentions not installing pict-rs and removing its configuration if you don't need image hosting. My interpretation at the time was that it would mean that no images would be hosted locally on my instance. But that was very early on before I understood more about federation, and now I realize that it may in fact also mean that any content coming from federated instances could have images broken, not that it would load the images from the remote instance. So now, I no longer think that this is a solution for not syncing images, but I'm not at all sure of that.