Lemmy and my Switch to PieFed
jeena.net
TLDR: The main reason was Lemmy hogging server resources.
Last year, during the Reddit 2023 API controversy I finally deleted my account and moved on to Lemmy. Here’s a look at my experiences and why I eventually decided to switch to PieFed.
Can you expand on the reasoning for avoiding PHP? I get avoiding Java; JRE it's s disaster, and a resource hog.
The only software through my servers have ever been owned by scriptkiddies were poorly written PHP software, specifically WordPress in my case.
It's just a personal preference because I've been burned too many times.
I'll grant that PHP is set up to allow some super shitty code, but on fairness to the language; WordPress is a dumpster fire (compounded by endless awful plugins). That's compounded by it's ubiquity, so it's a massive target.
I just set up mbin as a single-user instance, and other than a bug I found (that they fixed live with me, in chat, including PRs), it's been awesome.
I hope your instance continues to work well for you 👍
Interesting! Any insights or comments on what's increased the resources of lemmy over the recent updates?
Sadly I couldn't figure it out. It seems it's something with the database for sure but what exactly I don't know.
Yea I did a quick search through the GitHub issues, and it seems like there are some growing pains with updates they're making to the way things work and the load it puts onto the database. Sad to hear for smaller instances as my impression was that lemmy had pretty good performance for smaller instances. Architecturally, it makes sense that there are different tradeoffs for bigger and smaller instances. It'd be good to see things mature to the point that you can tune things for your instance size. In the end though, picking the appropriate platform but with the assurance that migration can occur when you need to change platform may be a good way to go.
Anecdotal evidence: I run two instances, a private and a public one. Neither uses a lot of resources.
But I get the database thing. Its spiking every couple minutes and a lot every hour. It’s not a big deal if you have 2 threads at least but I can see how it doesnt work for everyone in every scenario.
I‘m glad alternatives exist and I‘m much more positive on AP alternatives than protocol exiles.
Yea database management seems to where the growing pains are right now (with the core devs welcoming help from anyone with DB/PostreSQL expertise) ... and indeed it seems to be a perennial issue across the fediverse platforms.
If I may ask (sorry, probably annoying) ... what sort of resources would you recommend for a small personal lemmy instance? (let's say 1-5 users, ~200 community subs and a few local communities?)
Not annoying at all.
I‘m running a public instance on two threads and I think 2 gb of ram. A private instance shared with other services on 6 threads and 8 gb of ram. Make of that what you want. :)
I would probably rent a vps which you could extend if needed but start small. With 2 threads and 4 gb of ram at least.
Cheers! 2 threads and 2gb RAM I’d what I would have hoped for anyway. Thanks!
Interesting and PieFed looks promising
I think there's a pretty fair argument that more common and easier languages and tech stacks are preferable platforms for smaller more personal instances ... just the comfort of being able to modify and debug is probably worth whatever other tradeoffs may be encountered. Python, naturally, is basically a prime candidate. So yea, PieFed seems very cool, especially for personal servers and they've got a good performance profile.
On that topic, are you guys still doing the Rust book club?
Ha, yea! If you know rust, then you don’t need to reach for Python (right?!). Plus the main motivation was to contribute to lemmy itself while also learning rust. That another platform is good for personal instances doesn’t change that, though piefed does seem cool and I can see myself wanting to get involved with it at some point.
What are the main differences from a user perspective rather than hosting? Is it worth checking out?
I think it is.
-You can arrange communities it topics
- you can show community posts as å wall of thumbnails, nice for memes
- shows user reputation
- you can hide posts from searches
- moderation tools (there are more)
- you can post videos and polls
- better integration with PeerTube
- keyword filters
But it doesn't have an API for 3rd parties
'subscribe to anything' is handy, too. I'm subscribed to this post, for instance, so get notifications of new top-level comments.
The api is being worked on for the 1.0 release and there’s also some work being done for lemmy api compatibility to use lemmy apps https://codeberg.org/rimu/pyfedi/issues/13#issuecomment-1814982