Selfhosting lemmy with no pictrs

Dandroid@sh.itjust.works to Selfhosted@lemmy.world – 112 points –

Hi all. Due to the news of the illegal images being hosted on lemmy, I shut down my instance. I read some comments from people stating that they were able to selfhost lemmy without pictrs, they just can't upload or cache photos. I think this is what I am interested in doing at this time.

I tried commenting out the pictrs section of my docker-compose.yml and removed the "depends on pictrs" sections. However, I get the error message in the attached screenshot when I go to my page.

Does anyone have any info on how to selfhost lemmy with image hosting completely disabled?

31

Awesome! Thank you for this link!

Just a note that my PR there doesn't disable pictrs for your own instance's users. It just disables the caching of remote content.

That's fine with me, as I'm the only user in my instance.

Though I do still think this is a huge miss on pictrs to not allow the admin to browse the photos stored on their own server. I mean, someone could upload an illegal photo, not post it, then send the URL that only they could possibly know to whichever relevant government agency anonymously and potentially ruin the life of the admin.

Thank you so much for contributing and making this much needed fix.

Pictrs should have been an optional microservice by default. Commenting here to keep track of this thread since this is useful.

I agree! Or let us disable caching images from other instances. I'm not interested at all in rehosting images that other users on other instances upload. That's too much of a legal liability to me.

Same thinking here. Caching media pretty directly undermines any Safe Harbor protections you have running a site, not to mention the resource overhead required.

I don’t understand why lemmy caches photos in the first place? Like surely it’s quicker, easier, and lower bandwidth to just store a url to the original source.

Lower bandwidth for who? When images are cached on other instances, it allows two things:

  • Load sharing. The original instance doesn't have to serve the whole fediverse, but only its own users + 1 request per other lemmy instance.
  • Data availability through redundancy. If the original instance goes down, the cached image is still viewable on other instances.

Bandwidth was the wrong choice of words. Storage space is more what I meant.

My primary consideration is all the expensive storage filled up by vapid image macros. 80 GB goes a long way for just text.

For now, you can just route /pictrs/ path to 404 so nginx won't serve any image from pictrs:

location ^~ /pictrs/ {
    return 404;
}

Wants to remove pictures from his own Lemmy, asks for help with that via picture on Lemmy

I actually thought of that. And it's even hosted on sh.itjust.works via pictrs.

Yeah it's been obvious and foreseeable that normal admins won't have the bandwidth to handle takedown requests and cp spam attacks. Sadly the only stable state I see for the fediverse is relying on centralized content hosts that can handle those problems. Well, maybe until AI can do it

It sucks there's no way to make use of the current csam blocklists except possibly if you're a big enough instance since you can't get access without approval. Instances going through cloudflare that use the cloudflare caching can use it through them but it only works on images it's serving so wouldn't block them being uploaded, just served to other instances.

Wouldn't you only really need one(or a few) instance that could do the work and flag things for everyone?

Yeah I've envisioned sharable block lists that you can subscribe to similar to pihole. That'd be great

Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I've seen in this thread:

Fewer Letters More Letters
DNS Domain Name Service/System
HTTP Hypertext Transfer Protocol, the Web
PiHole Network-wide ad-blocker (DNS sinkhole)
SSD Solid State Drive mass storage
nginx Popular HTTP server

3 acronyms in this thread; the most compressed thread commented on today has 5 acronyms.

[Thread #91 for this sub, first seen 29th Aug 2023, 23:55] [FAQ] [Full list] [Contact] [Source code]

You could just set the upload limit to 1kb?

I wonder if you instead of disabling Pictrs you could just block image uploads to your Lemmy site, or maybe use a PiHole or Adguard on your network to block them.

But then I wouldn't be able to see photos on my instance. I want to see them, I just don't want the federated cache being saved on my SSD.

Hmmm... I do not have Pictrs because I am using the Yunohost Lemmy package, so there are no images on my instance, but I can still see images while logged into my instance.