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