this post was submitted on 29 Aug 2023
112 points (97.5% liked)

Selfhosted

39919 readers
231 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

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?

top 32 comments
sorted by: hot top controversial new old
[–] Die4Ever@programming.dev 44 points 1 year ago* (last edited 1 year ago) (2 children)
[–] dandroid@sh.itjust.works 14 points 1 year ago (1 children)

Awesome! Thank you for this link!

[–] nick@campfyre.nickwebster.dev 12 points 1 year ago (1 children)

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.

[–] dandroid@sh.itjust.works 16 points 1 year ago (1 children)

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.

[–] iamroot@discuss.tchncs.de 7 points 1 year ago (1 children)
[–] dandroid@dandroid.app 5 points 1 year ago

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

[–] d_ohlin@lemmy.world 3 points 1 year ago

Great! This is awesome thank you so much!!

[–] eleitl@lemmy.ml 41 points 1 year ago (1 children)

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

[–] dandroid@sh.itjust.works 22 points 1 year ago (3 children)

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.

[–] yukichigai@kbin.social 10 points 1 year ago

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

[–] knoland@kbin.social 7 points 1 year ago (1 children)

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.

[–] 0xc0ba17@sh.itjust.works 11 points 1 year ago (1 children)

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.
[–] knoland@kbin.social 2 points 1 year ago

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

[–] eleitl@lemmy.ml 3 points 1 year ago* (last edited 1 year ago)

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

[–] redcalcium@lemmy.institute 26 points 1 year ago (1 children)

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

location ^~ /pictrs/ {
    return 404;
}
[–] dandroid@sh.itjust.works 3 points 1 year ago

Yes! This worked! Thank you!

[–] Norgur@kbin.social 16 points 1 year ago (1 children)

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

[–] dandroid@sh.itjust.works 7 points 1 year ago

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

[–] lung@lemmy.world 14 points 1 year ago (2 children)

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

[–] Kbin_space_program@kbin.social 3 points 1 year ago (1 children)

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

[–] yoast@notdigg.com 1 points 1 year ago

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

[–] SmashingSquid@notyour.rodeo 3 points 1 year ago

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.

[–] Decronym@lemmy.decronym.xyz 8 points 1 year ago* (last edited 1 year ago) (1 children)

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]

[–] can@sh.itjust.works 3 points 1 year ago
[–] meldrik@lemmy.wtf 2 points 1 year ago (1 children)

You could just set the upload limit to 1kb?

[–] Dave@lemmy.nz 8 points 1 year ago (1 children)

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

[–] nick@campfyre.nickwebster.dev 6 points 1 year ago (1 children)

I wrote a patch for Lemmy a week or so ago if you want to skip the caching: https://github.com/LemmyNet/lemmy/pull/3897

[–] hitagi@ani.social 4 points 1 year ago

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

[–] CrimeDad@lemmy.crimedad.work 2 points 1 year ago (1 children)

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.

[–] dandroid@sh.itjust.works 1 points 1 year ago (1 children)

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.

[–] CrimeDad@lemmy.crimedad.work 4 points 1 year ago

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.

[–] ksynwa@lemmygrad.ml 0 points 1 year ago* (last edited 1 year ago)

Have you tried checking the logs of the lemmy container?