I WANT THE MELTING POT TO GRIND MY ANCESTRAL LINE INTO FRIVOLOUS POWDER 🇲🇩🇲🇩🇲🇩🇲🇩🇲🇩🇲🇦🇲🇦🇲🇦🇲🇦🇲🇦🇲🇦🇲🇦

  • 3 Posts
  • 22 Comments
Joined 1 year ago
cake
Cake day: July 10th, 2023

help-circle





  • Nah I thought the same but then I manually checked it. In most of the image posts I see, the image URL starts with lemmy.org.il, which made me wonder whether they’re actually downloaded or it’s some kind of whacky proxy. So I downloaded some of these pics and looked for files of identical size and hash digest, and indeed they were on my disk!

    It’s not a bad decision to cache pics, because it does make the experience really smooth, and I’m not complaining about it. Mastodon does this as well


  • Yeah, pretty big storage requirement due to the way pictrs works. Pictrs is the piece of software Lemmy relies upon to manage image storage, uploads, and most importantly: caches pictures from other instances. This takes up a HUGE amount of storage space, and there’s no official way to clear this up, see these posts I recently made: first one, second one. The solution I resorted to is renting a 1TB storage box from Hetzner for 3 euros per month, pretty sweet deal but I was kinda annoying by it. So the cheapest deal I could find costs me 6 euros per month: 3 for an Alma Linux ARM VPS from Hetzner, and 3 for that storage box. If you’re in for the fun in tinkering (I sure as hell am in), then get ready for a good time. Other than that, if your main line of reasoning is to take burden off of lemmy.world, then I think just go ahead and join another instance. Better yet: join croud funding of another instnace:)



  • Okay, you may not gonna like it but I rented a 1TB storage box from Hetzner for 3 euros a month, just to get that foot off my neck. It’s omega cheap and mountable via CIFS so life is good for now. I’m still interested in what I described in the OP, and I even started scribbling some Python, but I’m too scared of fucking anything up as of now.

    The annoying part in writing that script was discovering that the filenames on disk don’t match the filenames in the URLs. E.g., given this URL:
    https://lemmy.org.il/pictrs/image/e6a0682b-d530-4ce8-9f9e-afa8e1b5f201.png. You’d expect that somewhere inside volumes/pictrs you’d find e6a0682b-d530-4ce8-9f9e-afa8e1b5f201.png, right…? So that’s not how it works, the filenames are of the exact same format but they don’t match.

    So my plan was to find non-local posts from the post table, check whether the thumbnail_url column starts with lemmy.org.il (assuming that means my instance cached it), then finding the file by downloading it via the URL and scanning the pictrs directory for files that match the exact size in bytes of the downloaded files. Once found, compare their checksums to be sure it’s the same one, then delete it and delete its post entry in the database.

    When get close to 1TB I’ll get back here for this idea… :P










  • Love me some systemd timers. Much more fun than cron.

    • Sane handling of environment variables with EnvironmentFile=
    • Out of the box logging. Especially useful is the ability to journalctl -f to watch long-running processes, which I’m not sure whether possible with cron
    • The ability to trigger the service manually rather than setting the timer to * * * * *, then forgetting it’s supposed to run in a minute, get distracted, come back in 15 minutes

    My only complaint is it’s a bit verbose. I’d rather have it as an option inside the .service file. The .timer requires some boilerplate like [Unit].description (it… uh… triggers a service. that’s the description), and WantedBy=timers.target. But these are small prices to pay