I've had a Lemmy instance running on a VPS with 100 GB of storage for a few months and it has filled up. I've been searching for ways to reduce the amount of storage used but so far I am coming up empty. Can anyone point me in the right direction?
Firstly move pict-rs to object storage. My instance's pict-rs uses 150GB alone. I pay less than $2/mo to put it on Cloudflare R2. Backblaze B2 might be even cheaper. Instructions: https://crates.io/crates/pict-rs#filesystem-to-object-storage-migration
If that doesn't help enough and you're comfortable with SQL, you can purge the unnecessary entries in
received-activities
.Command:
delete from received_activity where published & NOW() - INTERVAL '3 days';
(Lemmy has problems with ampersands so you'll have to edit it)Then do a
vacuum full received_activity;
to reclaim the space.This deleted 98 million entries for me and reduced my database size from 49GB to 20GB a week ago when I started running out of space. No other effect as far as I can tell. Thanks @illecors@lemmy.cafe
Thank you, that SQL command looks like exactly what I'm after! I'm going to give that a shot. I appreciate the help!
what is stored in
received_activity
? anything important? I mean obviously it's something the instance has received from other instances but is this then stored somewhere else (like comments then stored elsewhere for eg)in v0.19.0 Lemmy will automatically delete entries over 7 days old
https://github.com/LemmyNet/lemmy/issues/4113
https://github.com/LemmyNet/lemmy/commit/cb01427dcff14b3d88e30220695fc97978786a9a
currently it waits 3 months before deleting
Time to update then!
it's in alpha currently, but you could still run it
I think you might have to use the
:dev
tag to get this update, a bit risky to stay on that tag though, maybe wait for the next docker image of an alpha releaseTa, good to know
Well now you can use
:0.19.0-rc.5
:)epic :)
As far as I've been told it's basically just a log of all received activities. Nothing references it.
Nothing seems to have gone wrong in the past week on thelemmy.club since I removed it. I do have backups though.
Nice, thank you.
Instead of using the hard drive for pictrs, I suggest using it's S3 capabilities and migrating to bucket based storage. You'll save way more money and keep the expensive VPS hard drive just doing text and DB things. I think I spend maybe a dollar a month in S3 storage.
Is there a guide for switching over?
For anyone doing this, set up your spending and budget alerts and actions. It's possible to accidentally fuck something up and end up with an aws bill that'll suck, but this will give you some measure of protection from that in case you accidentally misconfigure something.
Thanks for the suggestion! As Nix asked, do you happen to know of a guide or any documentation I could reference for this?
I used the same one @bdonvr@thelemmy.club used - https://crates.io/crates/pict-rs#filesystem-to-object-storage-migration
pict-rs has the option to compress images. Ours is set to WEBP with 1280 pixels either side max.
That sounds like a good idea. Do you know of any documentation for this? I'd like to give it a try.
I ran into the same problem and ended up switching to an S3 with Vultr. It's been a while since I did it but here are the links that I used to figure it out. I'm deployed using Lemmy-Easy-Deploy.
I used a combination of:
https://lemmy.world/post/538280
https://github.com/ubergeek77/Lemmy-Easy-Deploy/blob/main/ADVANCED_CONFIGURATION.md
https://git.asonix.dog/asonix/pict-rs/#user-content-filesystem-to-object-storage-migration
Good luck!
Wow, thank you for these great resources! I will check it out. I really appreciate it!
So I wanted to try it and found that Synology offers 15 GB for free so I tried it and it was extreamly easy to do. Set up a bucket and then fill in the ENV variables in docker-compose restart and it works, impressive. I might really need to think getting a good deal and doing that for my other fediverse stuff like Mastodon, Peertube and Matrix too, I think it's equaly easy there.
Ah, but all my old pictures are not available anymore …
You've got to go through the migration process: https://crates.io/crates/pict-rs#filesystem-to-object-storage-migration
in v0.19.0 you could try disabling pictrs caching https://github.com/LemmyNet/lemmy/commit/1d23df37d86cc5cb6d7d9efaaf4360ecc9a9796f
cache_external_link_previews: false
I don't think that will clear the existing cache though
Isn't this only on the as yet unreleased version 0.19?
Asking as someone with a 165GB picts cache…
yes you're right, also that config flag was renamed to
cache_external_link_previews
I love how OP doesn’t say it, but everyone immediately goes “it’s the pictures”
Honestly, what else would it be? Text takes ridiculously little storage compared to a single picture of a decent resolution.
Are you on the latest version?
Is the space used by pictrs, or your db?
Sadly, no. My server has been a bit neglected but it's been plugging along and working fine for the most part. I need to upgrade though. And I assume pictrs but to be honest I haven't checked. I just noticed today it was running poorly and checked and the drive is full.
The last release (or maybe the one before) did a bunch of DB cleanup that reduces the db size by about 20gb.