• 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

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

    • You’d think so but mastodon world shared all of their financial information and their costs are entirely covered (plus some) by their Patreon. I do think if the fediverse became fully mainstream it’d be a different story though

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

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

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

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

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

          • I hear you, but with funding you want to remove barriers when someone has that moment of generosity. I deliberately said it was counter and not an easy solve by any means, but if I decide to donate, then start to think…

            • which instance?
            • do I think they have longevity?
            • do I support more than one?
            • If yes to above, what’s the split?
            • had I looked into people’s ethics enough to donate money to them
            • etc., etc.

            All that is a great way for me to say, “I’ll get to this later when I have time” and ultimately not donate at all - even if I had the initial impulse to do so.

            Versus, this is the pot, it’s vetted, or had a transparent structure and communal management and a plan to distribute based on need.

            If we’re serious about this place maintaining at scale (or better, collection of places) it’s a hard problem we might want to invest time in.

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

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

  •  Ada   ( @ada@lemmy.blahaj.zone ) 
    link
    fedilink
    English
    281 year ago

    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

  •  tmpod   ( @tmpod@lemmy.pt ) 
    link
    fedilink
    English
    281 year ago

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

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

          • 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 type of server hardware do you have? I’m wondering if I could host an instance on my server but it’s basically just an old gaming pc with a pile of hard drives in it runing Unraid.

  •  manitcor   ( @manitcor@lemmy.intai.tech ) 
    link
    fedilink
    English
    25
    edit-2
    1 year ago

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

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

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

      •  Zetaphor   ( @Zetaphor@zemmy.cc ) 
        link
        fedilink
        English
        4
        edit-2
        1 year ago

        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.

        •  norb   ( @norb@infosec.pub ) 
          link
          fedilink
          English
          21 year ago

          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.

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

  •  Ripost   ( @Ripost@ripo.st ) 
    link
    fedilink
    English
    201 year ago

    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.