Why do people host Lemmy instances and how do they pay for them?

flashgnash@lemm.ee to Asklemmy@lemmy.ml – 280 points –
220

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.

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.

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.

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!

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.

I host my own. Specifically for myself and those who are friends or friends of friends.

I have a cluster of servers operating in my garage. Free real-estate for tons of stuff I want to host. I have to "pay" for electricity... the rest was already paid for long ago. My electricity cost for my whole cluster... is an estimated $1750 a year. But that cluster is 160 CPU cores, 750 GB of RAM, and ~400TB of storage. You ain't getting that on a cloud hosted provider for $145 a month. About $110 of that is subsidized by my business operations. I host email, websites, nextcloud, plex, etc... boatloads of stuff.

You offer paid hosting with hardware in your garage? I'm getting dot-com flashbacks!

I actually do... Yes... I have dual internet connections, dedicated power off both phases of my electricity with ~5 hours of battery backup, run redundant internal infrastructure (power, network, and server hardware)... I also have a massive backup library and am currently working on obtaining offsite backups solution. The whole site/house is also monitored with cameras.

I have better uptime than some datacenters in my area have which I can truthfully quantify that as I also hold a CIO/CISO position in another company that operates out of a major Datacenter in my area.

Edit: Should clarify, an offsite backup solution that ISN'T "just peer with backblaze or some other provider" to store your backups. I intend to do a rotating tape library. With one set of tapes always being off site.

Also to mention... I have better uptime than AWS-east at this point of the year... Although there will be some outages of my infrastructure here soon for a network hardware update. I suspect something in the order of about 1 minute of downtime total.

1 more...
1 more...

How does load balancing work across this fediverse.. if at all?

What kind of load balancing are you thinking about/looking for?

If we look at Lemmy in specific...

Jobs that a server performs for users on it's platform:
Login services(are you even you to begin with?)
Session Management (being logged in at multiple places, not mixing you up with other users...)
Subscriptions (what content to even show you... organizing them on the page... etc.)
Ban lists (and applying them to what you're looking at)
Peering with the other platforms

Jobs that a server performs for off platform users: Sending ActivityPub messages to the other user's platform.(effectively the same as "peering with other platforms" from above)

The idea is that the jobs that the server has to do for it's local users is actually a lot more both numerically and in taxing tasks than the jobs that one particular instance has to do to send updates to the federated instances... A lot of the list in the first case is a boatload of SQL queries. The activitypub notification is effectively a broadcast of a relatively simple text that doesn't take much bandwidth.

So let's look at actual cases now that we have some ideas of what instances are doing.

I run a small instance, I have a few users (because I purposefully keep it small). If my users only ever interact with the fediverse through my instance, then other instances don't have to do most of the jobs in the top list. I've taken that load from lemmy.ml or other bigger instances that my users would have ultimately migrated to if they didn't have my server. The tradeoff is that my few users now cost the 1 connection for activitypub notifications.

Lets look at a theoretical "perfect" setup... 2,000,000 users across let's say 1,000 instances. Evenly distributed. So each instance has 2,000 users. In that case, any given server would have to serve 2,000 people from the upper list and 999 activitypub broadcasts. This is significantly easier to do than have a single server try to handle all 2,000,000 users on a single instance serving nothing to the activitypub broadcasts.

There's is one caveat with this... activitypub broadcasts will send everything that is subscribed... even if users don't actually view it. So there could be some waste. This then leads to the discussion of well how many users until there's a breakeven in cost of the first list vs the potential waste of the activitypub bandwidth. That answer is debatable... But most people agree that take the discussion seriously that the return on investment could be as low as 2-5 users. I think that the bandwidth cost outweighs the SQL (CPU, RAM, etc...) costs quite handily personally.

Other useful functions that occurs with this setup... As long as I got the ActivityPub message on my server... my users can see all of Lemmy.ml's content. Regardless of if Lemmy.ml is actually running or not. We saw that with the downtime that some of the bigger servers are seeing, all the other instances could still consume the content... Just no updates were being sent.

This is relatively simplistic... I've skipped some nitty gritty stuff... I've simplified some other stuff. But this is the gist.

Edit: Other functions that you need to think about that lemmy is accomplishing for local instance users... Notifications, saved posts, language filtering, settings, profiles, avatars, reporting, slur filters, moderation, NSFW filters.. The top list is actually considerably larger... like I said we simplified.

Great explanation, thanks for the write up! I have a couple of questions, if I may.

  • So if I setup my own instance tomorrow, it'd be sending notifications of activity to all the other instances? Maybe I'd have to have a list of instances I'd like to notify? How does it discover the other instances?

  • If my instance is listening to all other instances? Won't saving all posts take up a lot of disk space? I guess there is only text and link data and no media, but wouldn't it add up fast as the number of users/instances grow ?

Now you just need solar or something feeding a battery to cover most of your electricity costs.

1 more...

I really like the overall concept of Lemmy, so I decided to set up lemm.ee to support the Lemmy network with my skillset. I have previously had the privilege of being responsible for running large platforms online (end-to-end, everything from operations to software engineering), and so far, this experience 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. I'm 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.

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.

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 ... 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.

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.

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 😃

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.

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! 😁

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.

Why?

Seemed fun to do. Wanted to support something that gets people away from reddit.

How did I pay for it? I have a miniature datacenter in my house, complete with redundant power. Hosting lemmy is a drop in the bucket as far as my resources are concerned. As such, there really isn't a measured cost for it. The infrastructure was already there and running, and lemmy doesn't consume much of it.

I don't take donations.

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.

Totally agree with the dope domain name. Not going to lie, a big reason for picking programming.dev was to be /u/jim@programming.dev

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 hosted ad-free invision and phpbb forums for almost a decade before the centralized services started. I do it because I like social media and understand the value of a vibrant commons. I've been working with computers since I was a child so hosting yet-another-app-server is not really that big of a deal and gives my users and myself a place we can call home on the internet.

The out-of-pocket cost is minimal for a small instance, for larger instances scaling issues are going to hit eventually and costs will go beyond what 1-person will bear without complaint.

Highly recommend more smaller instances.

My server costs me only about $5 USD a month and I can host thousands of users without much additional effort (my sites before would usually run to ~10k users).

**Tl;dr we do this because we want to, the act itself is often fulfillment. **

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.

To have some control over my data and for the fun of it. With money? Selfhosting to me is a hobby and it has also taught me a lot, some of which has been helpful on my career.

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.

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.

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.

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 :D

For 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 :)

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

Id go ahead and open a feature request for it on their github. Id be supprised if they wernt open towards the idea given they run one of the largest instances themselves

See this is good. The more the fediverse grows the more people find out what us old users have known for years and years:

You don't need to rely on large tech companies. The web is for everyone.

It is pretty wild to think about how many people only know the internet as about 5 websites or apps..

I host my own instance for the same reason I self-host the dozens of other services. To have control over my digital services the best I can. I have a few server machines running various services. I run like 40 docker containers running at the moment. Lemmy is a set of those containers.

It cost me the electricity cost to run the server, plus the cost of my internet. I suppose you should include the initial hardware cost- my servers are basically my old gaming rigs. Not to mention the time investment to maintain another service. For me, it's worth it to self-host if I can.

Specifically for lemmy, I seen how overloaded the various major lemmy instances out there were, so self hosting could mean one less user on those instances. I also didn't see any significant drawbacks to self-hosting the instance since I can still join and communicate with all the other communities.

I can see that, but I expect the main cost of servers are the hosting of subs, not maintaining users.

I expect that those servers are going to need support eventually.

I expect the main cost of servers are the hosting of subs, not maintaining users.

Which is easy to avoid, if you want. You can disallow the creation of communities on your instance.

So users can still join and make it their home, but they will have to subscribe to communities on other instances.

I'm not sure about the ethical implications. It means you're sort of leeching off moderation and maintenance from other admins.

I guess it's a negligible point and totally fine, but not sure. Would be interesting if community-admins could share their thoughts on this.

But if everyone avoids hosting communities, then Lemmy is going to die because no one is going to be in a community.

It may not be an ethical issue, but it is a financial one that needs to be addressed.

I tried out my own, one person instance, and I had a hard time getting comments to pull in. I would have to browse to the original instance to view all of the comments. Have you found a good way to overcome that?

I switched back to a more public instance just because I found the process of going out to view the content, back to my own instance if I wanted to comment, then back to the original again to keep reading the discussion very tedious.

Being on a more populated server seems to give most if not all of the comments directly.

When you first subscribe to a community it only pulls in the last 20 or so posts and I think a limited amount of comments, and then everything going forward. This seems to be a common point of confusion for a lot of instance admins.

Presumably this is to prevent a possible DDoS/performance failure vector as it would be trivial to setup a large swarm of instances on tiny VM's and then simultaneously start hitting massive communities from a single instance and requesting a large body of historical content.

Edit: Also when you first setup and start subscribing to a large number of instances, this initiates a LOT of communication and database writes. Lemmy still has some performance bottlenecks. Once everything is initially synced and settled it runs fine. I have a friend running their instance on a $5 Linode instance that only has 1vCPU and 1GB of RAM without any issues, and they're hosting users.

I ran mine for a couple weeks, and communities I'd been subscribed to from day 1 were still missing most comments on the posts unless I clicked through to their page. Maybe there was something funky with my install, but I used Lemmy's ansible scripts to deploy so I don't know what else I could do.

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

I have a 4 core 24 GB ARM VPS on that Oracle free tier that I use to self host some personal services.

I just think it's neat.

What's the catch? How long does the free tier last?

There's always a catch. Oracle has and will claw back that free allowance unless you meet specific criteria or move to a pay-as-you-go tier with a cc on file with a $100 authorization charge, and even then they may. Ask me how I know lol

Or they'll just shut it down with no explanation whatsoever, even if you've met all of their weird criteria.

There are two classic blunders. The most famous is "never get involved in a land war in Asia", but only slightly less well-known is this: "Never go into business with Oracle when anything of value is on the line".

Never go into business with Oracle when anything of value is on the line

Truer words have not been spoken.

That's not even considering that you're not going to be able to talk to a rep about it, or appeal that claw back in any way. Hell they'll even terminate your whole account without warning, not just the VM. If I found out the admin of the Lemmy instance I'm using was hosting it on Oracle I would delete my profile immediately without a second thought.

If I found out the admin of the Lemmy instance I’m using was hosting it on Oracle I would delete my profile immediately without a second thought.

Agreed. I still feel dirty for taking Google's side in that ridiculous lawsuit Oracle filled after buying Sun. Only Oracle would try to make money from licensing fees for APIs...wait a minute...has Spez been talking to Elon Musk AND Larry Ellison?

Oh shit really? You get that much processing power for free? I gotta sign up to that

Except that the instances are usually full. There is hope, but not much

In the medium term I’m confident costs could be met using patreon or something similar for large instances.

Plenty of people willingly paid for reddit awards etc. I think most of us feel more loyalty to Lemmy than reddit in the light of recent events.

like many others, I hosted my own for a variety of reasons.

  • I like to tinker
  • this was a chance to do a lot of tinkering and get in on the "ground-floor" of something I think has a lot of potential
  • it gives me a bit more control over the experience, which is helpful when trying to get friends/family to give Lemmy a chance.

As for the cost, I have several VPS's which cost ~$40/year, so the cost is basically negligible.

I'm selfhosting my instance for fun and not for profit. I'm using a server on Hetzner that costs me 4.11/mo. I'm the only active user of my instance, but I like to own my own data and selfhost my own services.

My point is that sure while it's new and shiny everyone wants to try it out but I think over time people will get bored with self hosting lemmy and move onto other things. I might setup my own on a free tier VPS or something because that's a thing for some reason, let Amazon Microsoft or oracle pay for it lol

Wait till someone builds a narrow AI just to maintain and update a server. The ability to conveniëntly self host services with a single installer is going to become a new commodity to sell next to freemium/subscription corporate services

Do i really need a dns sever if i am the only user? I am fine using my ip adress. I know a dns also enables https certification but i am my own network admin so do I really need it? My only concern is bad actors breaking into my server trough a vulnerability.

Do you mean a domain name? If so, I am 99% sure that federation (so your instance communicating with other instances) requires https, which would require you to use a domain name.

If you just wanted to run an isolated/private instance, then a domain name wouldn't be required.

This is correct. Other servers will not connect with you if you don’t have a valid certificate.

Damned.

How is it independent if we rely on a dns service? When do we start building a decentralized dns network? /halfS (i will search if one exists after this comment and if not il see if duckdns is still free)

Decentralized DNS (DNS servers that is) as a concept doesn't really work, we have centralized DNS and Certificate Authorities in order to establish a chain of trust, for better or for worse. Otherwise, there is no way for me to say, claim that I'm google.com or some other big domain.

And really that's just from a security standpoint. DNS also serves as a glorified phone book for the internet - but if everyone tries to make their own phone book and there was no centralized copy to refer to, you (or rather your computers/devices/etc) wouldn't even begin to know where to begin looking up google.com . Even if I wanted to advertise myself as google.com, without some sort of centralized solution there is no one to "advertise" to in the first place, if that makes sense.

I think at least for the foreseeable future we're going to be always tied to centralized DNS, unless we want to have something like key signing parties for domain names - and even then, I still don't even think that'd work unless every device on the planet goes to the "same party" and everyone promises to have a unique domain name somehow... and a way to trust that the first "person" we find to be "advertising" their domain is actually the proper owner of the domain, in which case we're pretty much right back to centralized DNS.

Hopefully that all makes at least a bit of sense, I've just woken up so I'm not 100% here yet haha.

Good morning, Thanks for your explanation. I am curious towards your phone book analogy because a phone book is like a ledger of information and creating a decentralized ledger is the main tech behind blockchain (which ive always understood as being more about the technological promise rather then virtual currencies). In my personal theory having a blockchain adress book of domain names sounds realistic. Is the problem that it would only work for those connected to it (so completely seperate from the current internet) or is there another technical challenge.

Ive found handshake which is supposedly backwards compatible with current dns system but it uses a p2p system and coins to vore: https://handshake.org/ What are your thoughts on it?

Also good night. Cause while you just woke up i’ve been delaying to go to bed.

Yes, I'm using exactly that.

over time people will get bored with self hosting lemmy and move onto other things

I wouldn't worry about that. At the same time, new people join lemmy. Most as users, but some as admins, and even a few as developers. At the moment, I believe the increase in new servers is way more capacity than we need for new users.

Looking around this thread made me happy (thanks for creating it!). It seems many people host for very admirable reasons, sometimes explicitly unselfish. I am grateful for this and totally fine when one of those people decides to step down for whatever reasons. It's all part of the beauty of freedom.

From a user's point of view, one might worry that users could be forced to move when an instance shuts down. Happened to me. Not great, but a piece of cake compared to migrating from another platform.

For statistical reasons, we can probably assume that most users will end up in stable instances with very few to zero moves.

I am already hosting the AI Horde so I'm good with infrastructure. And since lemmy provided an ansible playbook which is my expertise, I thought it would be easy. And it was, even with my using my own loadbalancer solution instead of nginx.

I already had a server I wasn't using much for the AI Horde so I repurposed it. The DB physical I have is really good so I just made it share the DB for lemmy as well.

I pay for it from the same budget which runs on donations. I put a Kofi link on the sidebar and already covered so much of the costs that I sent some of the overflow to lemmy development

I sent some of the overflow to lemmy development

I was hoping for something like that the other day. Makes me happy to see it happening! Thank you :)

Word to the wise, Lemmy devs prefer liberapay over patreon and opencollective.

https://liberapay.com/Lemmy/donate

I like that open collective has public auditing though, which I think is important for FOSS projects.

You may well be correct, I simply read a comment that said they prefer Liberapay.

I already host my own stuff for the most part: emails, DNS, NextCloud, IRC server, IRC client (ZNC, The Lounge), my website and a few other things.

I already pay like $50/mo for a dedicated server so that I have complete control over my data and my digital life, so adding a Lemmy instance to the mix is basically free. Just another VM among many of them, sharing the same resources as the rest of the stuff I host.

I share my server with a few friends, and pretty much my friends and their friends are all free to use my stuff as well. Been doing that for about 14 years at this point: always let my friends put their PHP sites on my server and whatnot. A dozen people using my IRC bouncers, a handful of people on my IRC server. When people need a game server sometimes I hand them out a VM to run the server for a while, then when they're bored I turn it off and shelve it away. It's a lot nicer to foot the cost of a service when it's for people you know and care about.

I'm a FullStack + DevOps engineer as my day job, so it's pretty trivial for me to set up and maintain. If anything it's a bit relaxing compared to the insanity I deal with at work.


Regarding costs, the nice thing with distributed systems like Lemmy is that the average small to medium sized instance is really cheap to run. It's when you run into scaling problems as you grow that becomes painful and often expensive if you can't optimize the system. Suddenly you need way more servers, redundant databases, caching layers, spend a lot of time maintaining all of that, write automation to scale up more easily, etc.

Without federation, the whole ecosystem would go down, it puts a lot of pressure and a lot of need in maintaining reliability and performance. With federation, if my node goes down for a day or two, only a handful of users will complain about it, and all is well.

So in a way, many smaller instances distributes the cost of running the whole fediverse across many more people with much lower cost figures each, something one can afford to pay continuously even without taking in any donations. As I said, it cost me $50 for the whole server, but really I could probably run this on Oracle's free tier forever and never pay a dime for my Lemmy experience.

I'm very new here and curious if I could ask as it sounds like you know what you are talking about.

My self hosting skills are extremely basic. I have an 8G Pi4 I run jellyfin, navidrome and a few other bits and bobs on. I'm scared of opening ports on my home network so use Timescale for external access. Could I run a personal Lemmy instance like this? Can I interact with other instances via Tailscale or do I need to actually open ports?

Resource wise what would a personal instance require in the cloud? Would something basic like a 512mb 10G droplet from Digital Ocean suffice?

You do need to allow incoming traffic, as the data is pushed to you by the remote server, not pulled from it.

As @Hexarei@programming.dev said you could however use Cloudflare tunnels and it would work just fine, it just needs HTTPS.

Experiment with it, have fun! Solving problems is how you learn that stuff 😃

Otherwise yeah the 512MB droplet should be alright to start off, that's about what my instance uses.

You could use a Cloudflare tunnel if you really wanted to avoid opening ports, but basically as long as you only open the right ports for what you want to host and have a good firewall (I use OPNSense) you're fine

I am doing it because it is fun and it is a way to try to understand how things work. I am still not sure whether my answers successfully propagate to all servers.

I don't know about all servers, but I see you from vlemmy.net!

Can see your answer from here so all is good

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.

Since devices that compute generate heat, it is a good way to hear your home up in the PNW. Additionally, you get to host websites. Everyone wins.

Better if you mine crypto, cuz any profit is just extra. You get the same results as if you were using a wall heater but you also get something in return.

Also (in theory) you can stick a VPN in front of it to hide your home IP to prevent DDoS attacks etc.

Right but if you're using a mini split you'll get much greater efficiency for the heat.

I saw the struggle on the main instance, and wanted to help.

I pay $12/month for a dedicated vps.

That's a great price for a vps. What host do you use?

Digital Ocean. It's just a small 2gig server, but it's doing the job like a champ so far.

that's really cool thanks

Maybe I should figure out DO. I disregarded then because I didn't understand their droplets or whatever they're called.

It's worth spending the time figuring out, I think. They do pro rated pricing, so play with it and make mistakes, it won't cost you much to create and destroy some servers if you start from the cheapest to play around with.

They seem more node.js-friendly than other hosts I've tried. I might have to take the plunge.

I asked another commenter here the same question that I'm going to ask you.

I was running a my own single user instance, but I had a hard time getting comments to come in to mine. Have you found a good way to get Lemmy to more reliably pull in comments from remote instances?

I would have to browse out to the original instance to see most of the comments, then back to my own if I wanted to comment (if it was under a comment that my instance hadn't pulled in, then too bad), then back out to the main site to continue reading. I found that process very tedious so I switch back to a more populated server which seems to pull in most if not all of the comments.

I have not noticed any issues like you describe. Everything seems to dtrt. To be fair, it could be happening and I don't know it, but I'm not going to go out of my way to look for comments that clearly don't like me, either.

It was very obvious for me. A post would only have one comment, but then dozens when I clicked to the original instance.

Maybe I'll try to spin up a brand new one and see if it's any better.

Ah, tbh I wouldn't have ever checked other instances for something like that. But I'm lazy, ha

I do because I want to control my data and it runs on a VPS that also serves as my email server, amongst other small things. I pay about $20 USD a month which is nothing to keep my data from grubby hands. Though I must admit it was a lot of work getting my mail server running smoothly and it requires some tlc every now and again.

Mind going into some details about what you're selfhosting overall?

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.

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.

That's weird, your username isn't displayed for me, just your profile pic

@PorkrollPosadist @flashgnash Chapo, I still miss that.

For the uninitiated, they were closed because people would not stop posting photos of John Brown (1800-1859) after being warned that this wasn't acceptable. Such bullshit.

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 love playing with computers. 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

I setup my own instance so that I could have some control over my alias, and pretty much because I can.

You can go a long way with free cloud offerings from both Amazon and Oracle and setup a decent sized instance. I set mine up at a data-center where I manage unrelated services, but I take full advantage of Amazon & Oracle for side projects. DigitalOcean would be another low cost option, as you can run a small lemmy instance on a pretty modest droplet. You'll get the most horsepower from Oracle always free if you can manage to find one of their regions with available resources. (it can be a challenge)

I’m still hacking away on my attempt to establish an instance on a DigitalOcean droplet. I’m not a professional sys admin, just a linux hobbyist but this does seem like the easiest way to make a small instance withiut the extra overhead of home hosting.

My total cost should be under $8 a month until I get more than a handful of users, if that ever happens. My main goal really is just a bit more control than the R-place allows.

I have a pretty unique domain name and don’t mind the $7 a month to run the instance on AWS. I’m not going to do a ton with it, but I would if there was interest.

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 chose to host my own instance for my community because I wanted to be independent from any other instances' administration, federation decisions or any sorts of politics.

Right now I'm paying for it out of my own pocket, but I'm working towards setting up a donation flow.

Well the bigger ones do take donations, and its working out fine.. you can see the same thing working on other fediverse platforms

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.

Would something like WireGuard do the same thing?

Yeah the choice of VPN doesn't really matter here. I would just configure it to not push a default route to cut down on the amount of traffic going through. You could even use something like ZeroTier if you wanted.

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.

Because I don't want to be reliant on someone else's servers, plus I can set it up exactly how I want.

As for how I pay for the server, I use a free OCI VPS, so... I don't.

I tried to sign up to this, but it doesn't support my bank's "confirm purchase" thing, and it errored when I tried a virtual credit card..

I host my own, and I already have servers for other reasons so there's effectively no extra cost because I can easily handle the load.

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.

I think that functionality will eventually be added when the devs get around to it.

I don't host a lemmy instance yet, but I host other services and I do it mainly for fun. As far as I have read, a small scale lemmy instance runs very well on very low performance hardware, which means the cost of running it is probably less than 10 $ a month.

The big lemmy instances that need better hardware have patreons and other services where people can donate money.

I host my own to act as the sister of my Mastodon instance. It's hard to afford given I'm a student, but it pays off knowing I'm on my little node of the decentralized internet.

The "why" for me is "Why not?" - I wanted to give Lemmy a try, and I enjoy self hosting stuff! I also felt that opening an instance was the best way I could contribute, since my Rust skills are nowhere near good enough to work on Lemmy's backend and frontend was never my cup of tea.

As for how I pay for it, well regardless of whether I ended up running Lemmy or not I already rent two dedicated servers as a way of "keeping up to date" with knowledge that comes in handy for where I work, so I have no intent on dropping them, and certainly not while I work here.

I was thinking of doing it so certain communities from the other place would feel welcome, but someone is domain squatting what I was planning

Hosting my own instance on my server just because I can. And I have resources.

If your ISP can give you publicly routed IP address - you can host it too, right from your home!

You should use cloudflare tunnel. Helps secure your server and doesn't matter if you don't have a static IP.

It’s WAY faster than sharing an instance with normies. Think of it as your own personal caching server.

As for payment, you sign up to a VPS provider and give them your credit card, and pay for the usage.

I have my own just so I can be in more control of things. I just started so haven't done much with it. The server cost is about $12 a month through linode.

i just installed debian in an old laptop and paid google for a domain for $1 a month ($12/year).

doing it primarily because it seems like a cool thing to mess with and i’ve already learned cool things like DDNS and how to establish free https certificates via “let’s encrypt”. it’s pretty enlightening.

Does Google do some kind of reverse proxy, or are you not worried about your IP being fairly public? I'm interested in doing something similar and hosting at home, but am concerned about having my IP be so public. Obviously lemmy.world knows it, but that still seems better then any random troll knowing it.