As far as I understand it currently people host their own Lemmy instances just for the hell of it or out of the goodness of their heart
But the larger instances will end up costing more money and I’m doubtful that will be sustainable with no income
Alot of the larger instances have user donations set up so that the servers can be maintained, this is how lemmy.world works
You can do your part! I set up a recurring donation recently, recurring donations are much better for the sustainment of an instance since the owner knows they can keep running and not have to worry about intermittent donations.
Users actually run a lot of larger instances on the Fediverse off of donations! I run a larger Mastodon server and we get literally double our monthly costs in donations. For every month we stay open, that is two months longer we stay open. Absolutely wild. We have about 1.5k users, with about 20-30 of them donating maybe $5-10 monthly. That’s 2%-ish of the user base donating. Lemmy is LEAGUES easier to host given that it’s written in Rust and is incredibly resource efficient. So I can only imagine it’ll be even cheaper to host on donations.
One other thing I don’t see people pointing out is that Lemmy is basically a successor to classic web forums, so companies may run their own so they can have full control over the experience and moderation like for movies, series’s, or games, and in which case they would be more than happy to eat the cost of hosting. For example there could be a Lemmy.Disney.com instance to act as a Disney sanctioned discussion zone for their products where they could put tons of moderation rules in place.
Crazy-ish idea, but maybe Lemmy could make a feature where instances can have custom awards similar to Reddit gold and stuff, and users can buy them to both award posts they like and financially support the instance host
Hope not, trophies and award whoring is just as bad as karma whoring and neither is a thing here and lemmy is better off because of it.
Yeah I’d kinda rather stick to donations tbh
Larger instances will either have more donators or close their subscriptions if it really is unsustainable.
The more Lemmy grows, the more instances will show up, which will help spread the load.
You speak of sustainability but Lemmy survived the wave of incoming Redditors without much downtime. It’s really impressive that this growth could happen. That’s the power of decentralized systems: they scale!
I’ve loved the idea behind Lemmy since I first discovered. At first, I was using lemmy.ml, but then I saw the opportunity to provide a nice space and expand my sysadmin skills. Since there was no Portuguese instance yet, I thought why not create one?
Since then, I’ve met more people hosting Portuguese services and it has been great :DFor funding, I’m working on two ways: the typical donations and trying to secure support from local FOSS organizations. At the moment, the server costs are not prohibitive and there have been some donations already. I’ve also been talking to some of those orgs and it’s going well :)
This sounds encouraging, I hope your instance flourishes
Thank you! :3
I don’t see why an instance couldn’t go with ads and subs or awards the same way Reddit does.
Because they’d probably have to create that tech themselves. Not that they won’t but it’s not there ATM afaik
I host lemm.ee, because I really like the concept of Lemmy and I want to support it with my skillset. I have previously had the privilige to be responsible for running large platforms online (end-to-end, everything from operations to software engineering), and this seems to be extremely relevant for running Lemmy in its current state.
As for paying for hosting, my initial plan was to to just pay for everything myself as kind of a hobby, but the userbase at lemm.ee has been very gracious in first asking me several times to share costs, and then actually sending money once I set up donations. Im not sure yet if this donations-based funding will be sustainable, or if it will fall off after the initial hype dies, but for now it’s really awesome to see that there are several other people who believe in lemm.ee and want to share financial responsibility for it.
That’s great! It’s kind of a crowdfunded instance, then. Makes me wonder if it would be feasible to implement some sort of collection box plugin or something…
Yes, and I know it’s counter to the core motivations of this movement, but probably need a centralized repository for donation that can be a universal door for funds that can then be distributed to vulnerable, but active, instances. Needs to be run by a collective of reps from instances meeting a minimum threshold of support for the community. Also needs to be nimble enough to revoke funding is an instance takes a hard evil turn.
Or maybe just an app/site that recommends a distribution of a set monthly amount (e.g. 30 bucks) to the instances you use the most as a user?
I don’t think we need that at all. Each instance can look after its own hosting and funding.
A centralised pot is asking for trouble - what about theft or corruption? What happens about disagreements like defederation? Seems a lot more trouble than it’s worth.
Yes … if anyone is a developer looking for ways to provide value to the fediverse … I suspect the donation process is probably of high value.
I don’t know the best way for it to be done … but something so that it’s easy for users to setup a single or regular donation and easy for devs and admins to put the relevant button right into their platform … all so that whoever is willing to donate has every opportunity to do so.
What does it actually cost? I have no basis for a ballpark guess even. I’ve seen this question asked to a number of admins and haven’t seen a direct answer.
It’s hard to judge how sustainable a donation based approach is without that info.
The costs will vary wildly depending on how the instance has been set up. If you set up all necessary services on a single VPS (as is the most common approach for smaller instances), then you can probably get by on $10-$20 a month. Splitting different services onto different servers, adding backups, load balancing, CDNs, redundancy, caches, etc will quickly increase the cost. Bigger instances need more powerful servers, that will increase the cost further.
On lemm.ee, we are currently not using very high-end servers, but we ARE using all the other things I mentioned above, and the monthly cost is currently hovering around $200 (that’s for 3 servers, a managed database, object storage, load balancing, a global CDN, and an e-mail provider). This is still on the very cheap side in the grand scheme of running online platforms, but definitely much more than I would want to pay for a single-user instance for example.
And honestly, 200 is on the high-end even with this setup. lemmy.dbzer0.com is way less
$200 is still on the low end, trust me - high end managed databases and compute resources are in the thousands, adding redundancy to that will double or triple it 😃
Ye if you’re adding like super redundancies etc sure. But I mean, it’s lemmy. We don’t need all that. My whole VM config is in ansible. I can literally scrap the whole thing, and redeploy it in 10 minutes. I just need to have a DB backup in case of some sort of catastrophic failure
IaC is awesome 👍 lemm.ee is deployed using Terraform.
My
lemmy_server
redundancy is mostly just so I can do infra changes without downtime (just take one node out of the load balancer, redeploy it and put the new one in), but it does also help a bit with general performance. I agree it’s not strictly necessary, the vast majority of other instances are just running on a single server, but I do think it’s very nice to have.For back-ups, I have point-in-time recovery, so I can restore the database to any random timestamp - and it has actually come in useful once already when two weeks ago I was able to restore to a good state about a few minutes after a problem - I think nobody even noticed that anything happened in that case 😃
I can’t thank you enough for sharing your knowledge, I am very interested in learning about server management and being able to read your thoughts is something I find extremely invaluable, please keep up with the great work! 😁
Problem with Terraform is it assumes cloud providers, which tend to be expensive (or at least, I don’t know a way to do terraform on hetzner dedis :D )
My solution is to get cheapskate VPS and dedis and loadbalance them as frontends. The VM request is manual, but I only have to do this once anyway. It’s what I’m currently doing with the AI Horde. Of course, that doesn’t help when there’s DB changes but still.
What object storage are you using btw? I’m thinking to move to R2 or smt since I’ve had good experience with them until now. Contabo’s is way cheaper but when I tried to use it for high-demand stuff it dropped dead on the spot. But it might be ok for Lemmy.
Yeah pretty much my setup. Full DB and pictrs backups uploaded to Backblaze B2 every few hours. Config files all backed up. Also send a copy to my home lab. Encrypted on the server before it gets sent out.
Worst case - we lose a few hours of data.
I keep about a week’s worth of backups on B2 (and 2 days on my home server) which is just over 200GB now. But that costs next to nothing on B2.
Maybe eventually if my instance grows more I might consider doing a replica DB on another server.
My total costs are like, $7.50 a month but I only have 15 actually active users. I don’t need to grow, but I’m willing to. If the costs increase too much I’ll ask for donations and if that stops covering things I’ll just close registrations. That’s the great part of not being a business chasing infinite growth.
I’ve been hosting a gaming server plus other related stuff myself for some years now.
While the user base will definitely be different, relying solely on donations is unfortunately not sustainable long-term. Donations fluctuate massively based on time of year in my experience. So it’s always good to periodically remind your community that lemm.ee needs donations to survive long-term.
When I do those reminders, users come out of the woods in droves to donate. It’s less that they’re unwilling to donate and more that they just forget to donate.
I decided to host my own because I was on lemmy.world and we got blocked by beehaw, which had many of the communities I wanted to be a part of. I run mine on a server that’s in my house, so the only thing I’m paying for is electricity. And I have solar panels.
lol I was the same way. I went from not being able to see just beehaw to spotty federation with many other instances (oddly enough beehaw and the kbin instances are nearly perfect), so I’m not yet sure if it was an upgrade.
What’s funny is I feel like my instance has spotty federation with lemmy.world, but everything else is pretty good. I wonder what’s going on over there.
Clever
How difficult is it to host your own instance? Can you still use apps like Connect with it?
It was really annoying to set up if I’m being honest. If I hadn’t taken classes on Docker, I would have never figured it out. Luckily they have been improving the process recently. It already much easier now than it was a week ago. Hopefully by the next major release it is easy peasy.
Good to know! Sounds like another reason for me to start learning Docker.
It’s an amazing software. Just today I needed to spin up a super simple webserver just to share a file with another program who needed to download it via https. Literally one command and I had an Apache server serving an arbitrary folder with a specified SSL certificate for HTTPS. And then one more command to shut it down, and it’s gone. No software to uninstall when I don’t need it anymore. No leftover files (well, the images are cached, but that’s super easy to clear).
And then just a few hours later, I wanted to test the same program using a samba share instead of https. One command, bam. Sharing the same folder with samba. And then one command and it’s gone.
And say you want to upgrade your apache version later, you don’t need to worry about if your package manager is pointing to the newest version. You just restart your container with the latest tag and you have the latest version.
I’m actually rewriting a lot of my services to be in containers. I host a few discord bots for a community that my wife is an admin of. I accidentally updated my server’s version of python once and nuked a few bots (Discord’s API updated and I had to change some code in the new version). I containerized my bots, and now they will always have their own python version independent of my server’s version. And I made sure to specify a version tag rather than using the latest tag, so they will never change. It makes it way easier to make sure it never breaks.
Yes to the last question
As long as you have a domain or IP address for the instance, the apps should be able to connect to it.
I started !programming.dev because I am a moderator of several 100k+ subs over on Reddit and I didn’t want my communities to not have a place to go if Reddit crashed and burned (even though it’s incredibly unlikely). The main sub I moderated (/r/ExperiencedDevs) for years wanted user verification to combat the spam that was newbies commenting and posting about things they didn’t really know or understand. This will be possible to actually implement on Lemmy, whereas reddit was closed source, and didn’t really care about their communities.
I am also a strong supporter of pulling control away from megacorps. We need more small to medium sized businesses on the planet.
For selfish reasons? I wanted to work on something new and have true ownership over it, the ability to build a community that worked together to build something without capitalism standing in the way. It might seem strange, but one of the first things I did was bring multiple other people on board to help me maintain the server, even going so far as to add domain managers to the domain name. This was all to counter the major questions people were asking around “what if the host decides they don’t want to host anymore?”. Well hopefully the programming.dev community is willing to take that burden if the time ever comes, even though I hope it doesn’t. I also wanted to start something similar to a coop, where ownership is shared, meaning users have incentives to make the platform better. I have lots of ideas around this, but this will never be possible on Reddit. It is quite feasible here.
I also had the chance to buy an incredibly dope domain name! https://programming.dev! Why wouldn’t I jump at that chance? And I get to even use it instead of let it flounder. So many reasons to host something like this, to build a trusting community, a safe space to have to let people talk about a shared love/topic/hobby.
This will be possible to actually implement on Lemmy, whereas reddit was closed source, and didn’t really care about their communities.
Just curious how you think you might go about this. Do you plan on contributing yourself, forking, or using the community to influence the direction/prioritization of new features?
Honestly the domain name is a fantastic choice; Much easier to feel comfortable sharing links to my colleagues from programming.dev than something like “shit just works” or “lemmy world”
I love playing with computters. That’s about it in general.
I’ve been using Hetzner to get dedicated hosts before and I have had two mediocre servers as a playground for some time now so why not add another service to the stack, arr-I mean yeah
We run ours, because we are two trans women that are fortunate enough to be able to afford to run an instance that specifically prioritises the needs of our community. It’s a way of using our privilege to create safe community spaces
Fantastic. You go girls 🥰
I host my own instance mostly because I find it fun to do, and because it allows me to choose which communities and instance I federate with without having my account tied to the whims of somebody else.
Yep. I want to federate and block who I want to federate and block. Large instance admins need to make compromises for practical reasons, but I don’t. My personal instance has no boards, so I don’t have to deal with problematic users from other instances either. If an instance is particularly awful, I can just not visit them until I have time to switch to my admin account and defederate it, there’s no urgency.
Plus, I thought it would be easier to get my friends to switch if they had an admin they could literally call if they ran into problems.
i wish us users could afford such luxury of blocking certain instances on our own.
Allow a user to block an instance #2397
You can contribute, encourage others to contribute, post a bounty or leave a thumbs up, or wait.
Another option is to block communities, you can already do that on your own.
yea, guess i ll wait. for exemple, when i m in lemmygrad (please dont judge me lol) i can see comments from explosive heads users, which unfortunatly, my instance (lemmy grad) is still federated with them, but also i dont wanna block a user from them each time i see one, i dont really wanna hear from them. yea, but this is much bigger than a community, this is a whole instance, hence the question. thought i should be vocal about this feature. i guess i wasnt the first one to suggest. thank you for linking me in to the github page.
i can see comments from explosive heads users, which unfortunatly, my instance (lemmy grad) is still federated with them
https://lemmygrad.ml/instances
https://fba.ryona.agency/?reverse=lemmygrad.ml
Both see exploding-heads.com blocked by lemmygrad.ml, apparently since 2023-06-15. Are the comments you see older than this? You shouldn’t see any e-h activity on lg communities after that date. Or you’re viewing the local copy of a lemmygrad community on exploding-heads, but in this case you should only see e-h comments after that date.
That would be very welcome indeed, I agree!
I think that functionality will eventually be added when the devs get around to it.
Run it on some free or cheap cloud instance https://paul.totterman.name/posts/free-clouds/
I’m hosting my own because it’s fun and it’s cheap to do it. I imagine it could get expensive to host bigger instances, and at that point the admins would likely look to donations to keep things going.
How much does it cost to run an instance?
About $5-$10 per month. I’m using an ARM64 system which make it even cheaper.
I hope eventually RISC-V will become viable.
I just finished setting up this instance yesterday. I also self host a few other things. Self hosting is fun for me, but probably not most people. I honestly don’t know what I’m doing but I’m doing it and it’s working lol
I also really enjoy knowing I literally own all my own data. It’s stored locally on my personal server. As for cost, I’m just using a mini PC someone in my family gifted to me. It’s got some hardware limitations but that’s more in theory than practice, but that’s because it’s only me and a few others who use the server so load is really low.
Hey I was trying to reply to you yesterday about looking into lemmy.hjson, but the send button wasn’t working for some reason in jerboa. Is all working now?
I also really enjoy knowing I literally own all my own data. It’s stored locally on my personal server.
As far as I understand the fediverse, that’s not necessarily the case. Let’s take a local community with a post or comment of yours as an example, and see how it could go wrong.
When users from other instances subscribe, the community is copied to their instance, including your content. If federation is broken, or any of the two instances go offline, you can still change or delete your local data, but not the remote copy.
Here’s one perspective: https://runyourown.social/
Personally, I run a Mastodon+Hometown server for around 100 people and it costs me about $30/mo. It costs me more to fill my car’s gas tank. I could maybe start a patron or something, but at this stage, it is not even necessary.
About 3 years ago, I was a member of r/ChapoTrapHouse, which got banned from Reddit. The day after this happened, we had over 10,000 people sitting in a lifeboat Discord “server.” Within the community, we had the experience and willpower to take Lemmy, kick the tires, make a couple adjustments which were necessary for our community, and make sure we weren’t doing malpractice by hosting it. This all happened before Federation had been implemented in Lemmy.
Maintaining the fork was labor intensive, and a lot of the original developers burned out. We couldn’t afford wages for development (the site still only exists due to volunteers), but the hosting costs were easily covered by user donations.
That’s weird, your username isn’t displayed for me, just your profile pic
@flashgnash @PorkrollPosadist i was active in the chapo subreddit when it was murdered and have been a patreon supporter of dessalines ever since
I never knew CTH got banned from Reddit, holy shit. Y’all out there doing the lord’s work supporting your community like that. Seriously, hats off :)
We were too good at posting. It just wasn’t sustainable.
I host my own because it’s cheap, less than 10 dollars per month, and I wanted to contribute to the growth of the Lemmy community.
Also turns out that it’s another benefit to this: I don’t have to get involved in the entire political debate of who federated with who. I just subscribe to communities I want anywhere.
I’m thinking about it. Do you need a domain name as well?
Yes you need a domain but that is usually quite cheap
Or use the raw IP :-D ?
You do need valid TLS and a cert can’t be directly issued on an IP.
Yep you need a domain name pointing to your instance when you run the installation of Lemmy and it will create a let’s encrypt https cert for your site automatically.
i Have a homelab, i work and design computer/server/linux/security solutions for enterprises from my home. Lemmy is just another docker process in my lab.
This will also be the case for me eventually, once I get around to setting up a Lemmy instance it’ll just be joining all the other stuff already in my lab k3s cluster
I already owned my own home server that I built for running a file server and other random things. Currently all I’m paying for is $2.50/month for a proxy server on Google Cloud so I don’t have to expose my stuff directly to the internet.
How does that Google cloud proxy server work?
It’s a bit of a janky solution, but I’m just running an openvpn server on the lowest tier vps which my home server auto-connects to on boot. From there it’s just iptables rules to reroute the external traffic through the VPN. I’ve also used it to proxy Minecraft servers and a few other things.
Does that mean my actual home server is behind a VPN connection but has its traffic transparently routed to the external VPS, which eliminates the need for opening ports on the residential router?
Yeah, that’s originally why I had it set up this way because I was somewhere where I wasn’t able to open any ports.
Would something like WireGuard do the same thing?