Which to host for a single user instance: lemmy or kbin (or others)?

Cyclohexane@lemmy.ml to Selfhosted@lemmy.world – 43 points –

what is better for single user instance, or maybe something small like under 10 users (no communities)? which is lighter on resources? how much storage should I allocate?

any alternatives to lemmy and kbin that are still somewhat similar?

48

While I quite enjoy the Interface of KBin over Lemmy. It seems Lemmy uses a lot less resources based on the "Admin Guides" for each service. Lemmy: https://join-lemmy.org/docs/en/administration/administration.html

KBin: https://codeberg.org/Kbin/kbin-core/wiki#user-content-admin-guide

My Lemmy instance is currently occupying about 350MB of RAM, but you can round that up to 400MB. A lot less than the 4GB for KBin.Technically it's a dual user instance now, since a friend wanted to join it and I said sure.

Damn, this is so much worse than good ol' RSS for just following up stuff (which I imagine is the main argument to be made for a single-usee instance)

The arguments for are varied. I don't have to worry about any admins making decisions on federation, I can federate (or not) however I please. I have my own space that I can do what I want with in a familiar format, and I can make my username Jamie without it being taken.

Yep, making federation decisions myself is why I want to spin up my own instance at some point, and I have spare computing resources as is already lol

fair points! But that's a high price to pay in terms of computing resources.

I wish federation in the "fediverse" sense was as inexpensive as in the XMPP world (or at least seem to be)

One more anecdote for y'all to pluralize into data: my instance is currently using 915Mi of storage for pictrs and 976Mi for postgres, roughly 650Mi of RAM (including postgres), and negligible CPU

It's not that bad, I'm hosting my instance in a small corner of a friend's server and not making any impact on it.

High price? It's really not very intensive at all, at low user count. Super light on storage too. I think BeeHaw (one of the biggest instances) said their whole instance was only like 25GB (a week ago)

I meant, comparatively: you can host thousands of active jabber accounts on a RPi at the same time, and that will cost you pennies in electricity a week. I know this isn't close to an apple-to-apple comparison (different protocols, different capabilities and features, …), but what interests me when people bring-up federated protocols is how much will it actually be used that way in practice (wrt. server dimensioning vs number of users, effort to set-up and administrate, etc), and how effectively we are breaking away from the centralized internet that's so nefarious. And sorry if this is shifting the thread away from where we started at :)

Yeah, I mentioned on another comment that storage space is the last thing to worry about, 1GB of storage is typically a fraction of a penny.

My other reason is that it's the only way to know I picked an instance that isn't going to just go away without me and take my account with it. It will be an interesting day when the first major lemmy instance goes down...

Yeah, if I stick with Lemmy (which seems highly likely) I want to put up my own private instance for similar reasons and maybe even invite friends and family that I can talk into it.

yeah for real I have been thinking the same lol. sadly a feed reader is just a reader. Would not be able to comment or post, which is the main reason I will go with a self hosted instance.

As a middle ground you could follow a Lemmy community‘s RSS feed then jump in via the link for anything you wanted to see the conversation for :)

Keep in mind as php-fpm (used by Kbin) launches multiple child processes instead of a single rust process like Lemmy. The number of child processes can be tuned down to reduce RAM usage if necessary.

Thanks for the info! what about storage capacity usage?

After almost 24 hours, coming up on 662MB of images, and 371MB for the postegres database. Though, I could see the numbers fluctuating depending on how much stuff you're subscribed to. I'm currently subscribed to 31 communities, most of them fairly large.

I’m still kinda new to lemmy, but it sounds like every post on all your communities get sent to your instance? And maybe every comment?

That’s probably fine for now, but when happens when one of the communities you follow gets a ton of users? I imagine you’d end up having to scale your self-hosted server even though it’s just you consuming the content?

That doesn’t seem sustainable. Not knocking your idea to self-host, more concerned with the scalability of lemmy

That's correct. I'm replying to you on jamie.moe right now, but in reality, what I'm seeing is a copy of what lemmy.world has. When someone makes a post, leaves a comment, or whatever, all of the instances that are federated and have one subscriber in the relevant community get updated with the change.

When I read this thread, I'm actually reading a copy of the thread stored on my own instance, and my instance just tells lemmy.world when I leave a comment and it will update everyone else. While it isn't very storage efficient, it does even out the load since users on one instance only require a single update from the main instance for all of those users to interact with that content, rather than instances asking for copies of things every time a user on one instance needs it. It spreads out the load nicely and lets even underpowered hardware serve wider communities than it could otherwise.

The downside is you have to have the storage space to keep content for your user(s). Though, getting a lot of storage space isn't expensive at all, so I would say it's a minor concern. Lemmy uses little in terms of RAM and compute, those two factors are the biggest things that can up your cost really fast. A gigabyte of storage on a server can typically be gotten for a fraction of a penny.

2 more...

BeeHaw.org admin said like a week ago they were only up to 25GB.

2 more...
2 more...

Yeah, kbin seems to be a php8 service vs a compiled rust service from some lite poking.

2 more...

I was also looking into both but in the end I chose lemmy because I didn't want to deal with PHP.

Lemmy should be lighter on resources, since it's written in Rust.

Far, far lighter on RAM for sure. Less than half a gig for Lemmy, multiple gigs for KBin

Kbin is PHP app so you should be able to tune down idle worker counts to use less memory. Certainly not as low as Lemmy being a compiled rust app, but 500 MB of RAM usage should be achievable. As for CPU usage, I've been running a personal Lemmy instance and I'm impressed with how low the CPU usage so far, even after federating with dozens communities. Can't say the same about Kbin because I haven't actually run it myself, but PHP 8's JIT is very fast so I imagine it shouldn't use too much CPU as well.

I'm definitely interested in seeing how the single-user instance offerings develop across the various federated applications. I have no interest in taking on the role of admin or moderator for people I don't know personally, but am more than happy to run my own front-end service that'll let me lurk and interact with all varieties of ActivityPub content.

For now it seems kbin might win that fight for me since it's equipped to handle reddit-style communities and threads while also providing a workable microblog interface. But it does seem to be a bit on the heavy side... I wonder if we might see some software created for this particular usage scenario one day, if it isn't already being worked on somewhere.

If big instances like Beehaw go whitelist federation only, it will effectively make single user instances useless.

Certainly a possibility, but I don't really expect it to be a common concern. Defederation is mostly about keeping problematic people out when an instance's admins either can't or won't resolve whatever problem is at play. Most instances will never even realize a single-user instance is lurking at all if they don't bother to crawl the logs and said user doesn't cause a scene.

I'd expect most whitelist-only instances will have been that way from the start instead of growing large and then shutting the door, because the goals of running an instance like that are fundamentally different.

Yeah, I think a whitelist only instance would to dramatically limit its users to be generally attractive for most people, and would certainly keep it from becoming popular. They are surely use cases for it but pretty limited I’d imagine.

Right now they went the other way around, so the big instances are blocked and we with our single user ones can still federate with them.

The barrier to entry for making a new instance is relatively high compared to the barrier for entry for making an account on a free for all instance, so I doubt it will be an issue.

I have had no success yet trying to run kbin behind traefik, so I am on lemmy right now. Works pretty well actually.

However I don't seem to be able to subscribe to kbin magazines. I can see lemmy sending out the follow message to the kbin servers' inbox, no error messages, but no activity from the kbin server follows up and it stays at 'subscription pending'.

Tried it with quite a few kbin instances. Does it work for someone else? Trying to find the reason why they do not like my lemmy instance.

However I don’t seem to be able to subscribe to kbin magazines. I can see lemmy sending out the follow message to the kbin servers’ inbox, no error messages, but no activity from the kbin server follows up and it stays at ‘subscription pending’.

Same here. I haven't been able to fully subscribe to anything on Kbin. Running my own lemmy instance and I get the magazine added as a community and get the magazine description but subscribing never returns anything. I re-try every once in a while but noting so far. I assume it will be fixed sometime in the future. I may just set up a kbin instance as well but I don't want to manage both.

I’ve been trying to debug this as well so it’s not just you.

I'm a PHP developer, I prefer PHP but I'm probably going to be going with Lemmy since it's more refined currently.

I really want to self-host Kbin, since I like the interface and approach of it a bit more than Lemmy. But since building the docker images failed on my Homelab, I spun up a fresh Ubuntu LTS 22 Server at my hoster and ran through the Admin Docs again... sitting here still after 15 Minutes it trying to build the PHP image and it does not seem to make any progress. I wish we could pull the images and run it without building them ourselves. But kbin is in its early stages, maybe someone will push built images to a registry in the future.

If this runs for another hour without any progress I guess I will call it a day and try Lemmy next.