Spyke
selfhosted·SelfhostedbyDandroid

Selfhosting lemmy with no pictrs

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?

View original on sh.itjust.works
nickreply

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.

12
Dandroidreply
sh.itjust.works

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.

16

This is a good start, but I think there also needs to be a way to browse all the images stored and shred them.

5
lemmy.ml

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

42
Dandroidreply
sh.itjust.works

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.

22

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

10
knolandreply
kbin.social

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.

7
0xc0ba17reply
sh.itjust.works

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.
11

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

2

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

3

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

location ^~ /pictrs/ {
    return 404;
}
26
kbin.social

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

16
lemmy.world

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

14
kbin.social

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

3

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

1

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.

3

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

Fewer LettersMore Letters
DNSDomain Name Service/System
HTTPHypertext Transfer Protocol, the Web
PiHoleNetwork-wide ad-blocker (DNS sinkhole)
SSDSolid State Drive mass storage
nginxPopular 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]

9
Davereply
lemmy.nz

The caching is probably the problem, not the uploads on a personal lemmy instance.

8

I hope this gets merged soon. Saves us on storage space and makes monitoring media uploads easier.

4

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.

2
Dandroidreply
sh.itjust.works

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.

1

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.

4

You reached the end

Selfhosting lemmy with no pictrs | Spyke