

Is there any benefit to host my own instance?
I run my own instance, the benefit is privacy and reliability. Everything is controlled on your own server. You also aren’t reliant on someone else running an instance that could go down at any time, either permanently or an outage. Been a problem with Lemmy.ml recently.
You also aren’t reliant on someone else running an instance that could go down at any time, either permanently or an outage.
You have to worry about it yourself though.
A balancing act for sure. I’m torn on the topic. With some much excitement right now but so little history there’s a lot of uncertainty where to “plant your flag”. Part of me wants to setup my own instance simply so I maintain control of my identity should .world suddenly disappear. On the other hand now I have the responsibility of making sure I don’t make myself disappear. The mental debate will continue.
I think for now it’s so early it doesn’t matter all that much. Just have fun! You can make multiple accounts so why not
I was asking myself a question, if you comment like you did here Is it saved in the server on which the original post is, or is it saved on your server?
Kind of both. His server has a mirror of the community. When he comments it gets saved on his server and the his server communicates with the original server. In turn the original server also communicates his comment with other federated servers.
If data is migrated from server to server, as the community grows in size, the data to be maintained on each server also grows in size? Also i’ve seen some servers allow the creation of new users/communities, but some don’t… whats the point of that if the data is just replicated anyway?
Yes that’s right, an instance is constantly accumulating data over time, however instances that aren’t the origin instance have the option of going back and deleting old posts (manually in the DB) but then their users wouldn’t be able to see them anymore. I do get the concern though, if things really start to pickup and we get insane volume, I’m afraid even my instance wouldn’t be able to pick up. I’d have to unsubscribe from everything. On the other hand, I think people will come up with solutions as things scale. There’s a lot of unknowns right now, too many to build a solution. Just take a look at mastodon and how its model has changed over time.
If data is migrated from server to server, as the community grows in size, the data to be maintained on each server also grows in size? Also i’ve seen some servers allow the creation of new users/communities, but some don’t… whats the point of that if the data is just replicated anyway?
I believe it is saved first on the instance you’re signed up for, then gets pushed around the network using the Activity pub protocol. So it eventually ends up being stored across many instances of it has far enough reach.
How is your RAM/storage usage? I’m interested in setting up my own instance (no communities, just a username that will always be here) but don’t want to upgrade my VPS again. I already had to do that spinning up a Mastodon server.
I’m up to about 300MB of disk usage after a day of hosting my own. Curious to see how it grows.
haha better than the 12GB and rising of my single-user Mastodon instance. And this is with deleting my media cache every night.
Mastodon is aggressive with caching media. Akkoma is more lightweight
The pictures folder on my instance is at 1.3GB after two days. It’s just me and my friend. About how many communities are you subscribed to?
Gotcha, thanks. I’m at about 70 so that makes sense then.
Up to 400MB after two days here. I took a look at the code and it looks like Lemmy keeps all ActivityPub JSON for 6 months. It would be nice if it was possible to shorten that.
I’m still happy that I’m hosting my own instance, but I hope this thing doesn’t get too big!
For personal use, even a Raspberry Pi is sufficient.
My raspberry pi 4 is using 810mb of RAM and 11gb of file system space.
That’s interesting to read. Could an instance be added to an existing setup? (Debian OS)
So long as you can run Docker, I would think that you could setup an instance. You just need to make sure that the image you use for lemmy and lemmy-ui are compatible with your platform. I had to alter the provided docker-compose.yml file to use arm64 versions for my RaspberryPi.
I mentioned the total disk usage for the sake of setting up a pi. I don’t know what the space requirements are for lemmy separate from the bulkiness of an Ubuntu 22.04 install.
I did. The benefits as I see them:
Regular users can block communities and instances both.
I wonder if it’s possible to migrate those Reddit datasets and import them into our own Lemmy instance
I’ve wondered the same. I know I’m not the only one with the 1.8 TB Reddit data dump. It would be cool to import all that into a Lemmy instance.
From what I’ve seen and read, server to server traffic is less taxing on instances than client to server. So even if your instance is JUST you, it would be your instance talking to everything else so it would have some net benefit on the federation. But it would take a lot of users self-hosting solo instances for this to help in any noticeable way, I’d think.
There is certainly no downside to running a solo instance, if you’re even slightly interested I would say go for it!
It’s only less taxing if it’s multiple ppl on an instance.
If every solo user spun up an instance just for themselves there wouldn’t be a benefit over all those users just signing up directly to an existing instance.
Eg 5 users on instance b trying to access instance a Is better then 5 users each with their own instance trying to access instance a.
If every solo user spun up an instance just for themselves there wouldn’t be a benefit over all those users just signing up directly to an existing instance.
Not quite true… There’s a ton of sql queries that go on to show you the correct content for your user. Showing the correct subscriptions, applying the correct “bans” etc… Further sessions management of the user logging in itself… Direct messages, inbox management… etc…
Just the raw content being sent to sync is just minimal text data that’s effectively broadcasted. The stress of that is virtually nothing in comparison.
The break even is that a ton of data might sync that you never look at… but it’s a broadcast of sorts. So that’s a bit of a non issue.
Wouldn’t it still be a bit less taxing even with only one user? If I’m not mistaken then your instance only initially requests a community/post/comment from another instance when you specifically search for it. After that your server gets updates through activities pushed by the other instance. So if you refresh a post multiple times those requests only go to your instance. It somewhat acts like a cache, while the other instance can push activities at it’s own pace instead of being hammered with requests. Of course multiple users per instance would still be better.
I would doubt this. Your server is essentially another client
Doesn’t all content get copied between instances when someone subscribes to it? Basically, someone from instance A subscribes to instance B and then instance A has to copy over the content from B?
With that in mind, wouldn’t it just cause more overall data duplication rather than any performance improvement?
I did it. So far I’ve noticed a few things, for example you have to populate/federate the communities yourself, and it can take a long time. It took hours to retrieve and catch up all the lemmy.world posts. I expect it to be an ongoing thing. When you first connect to a community, it downloads the first 20 posts, but all the comments are empty.
The plus side though is it is very fast for me. And nobody can delete my profile.
Do the comments ever load reliably? For me that would be a dealbreaker…
You gotta remember, The blackout brought us refugees I don’t think lemmy planned for this. I think the updates that are coming will address all of this. Reddit is decades old. Lemmy is new to all of us. We just gotta wait and eventually it will become second nature and we will be as good as Reddit
Oh totally. It wasn’t a knock at the software at all. In fact. I’m surprised by how well this works as a drop-in replacement for Reddit for me and both Lemmy and Kbin are solid.
The reason I asked was that, with my single-user Mastodon instance, likes/boosts and comments are nearly always incomplete on my server just because of the way federation works. I was just wondering if that was something smaller instances had to deal with in perpetuity or if it was just a one-off issue that happened at the start.
The OP commented below saying that comments appeared to be loading instantaneously after that initial hiccup.
Cool. Hope you get it resolved
As far as I can tell yes. Once the federation catches up the backlog, comments and posts seem to be near instantaneous.
They do seem to. I’m on my own instance. Sometimes it seems a bit funky though it usually seems to be when I’ve just subscribed.
I like running my own too, and agree it’s a bit of a chore to get content.
I feel the biggest hurdle is finding communities. I wish the instance would automatically index communities from federated instances. I don’t mean track posts/comments, just keep a record of the communities existence.
Looking them up elsewhere, then searching locally, waiting for it to work, then subscribing is a bit of work and I’ve only bothered with about 10 so far.
In my navigation of the fediverse the last few days I’ve noticed a few people running instances of mastodon and lemmy with just themselves or 1 or 2 other people etc.
If you into tinkering and selfhosting, why not :D Means you’re in full control of what other instances you federate with/can see etc.
Appreciate if you guys shared some guides on setting it up. I’m not new to selfhosting but tried setting it up and failed with strange errors all day long :(
I would suggest joining us on the Lemmy matrix space, particularly the “Lemmy Instance Admin” channel. It’s much easier to help in semi-real time.
No worries, this is a fairly complex piece of software. If you really want to though, try copy pasting your errors into chatgpt if you can. While not perfect, it usually can give you an idea of what steps are going wrong. Some of us can help you too, but it’s no pressure. Being a part of the community is more than just the machines, it’s the friends we made along the way.
I think it would be better if @marsta@beehaw.org would post the errors so the solution to his problems is documented in case someone else has a similar problem.
This way we could google problems and just add lemmy instead of reddit to find a proper solution.
Of course, the most important aspect of fixing a problem, is writing down how you fixed it. Never know what a different, but similar problem might crop up again. Sometimes getting a quick answer, or having a human readable explanation for an error goes a long way. Often enough I’ll have complex logs entries that I can’t parse what the problem actually is, I can quick copy paste and get a normal people paragraph. Sometimes “os: error (-4) aborting” actually just means you forgot to change user permissions on your volume folder. In a perfect world, all program’s logs would be perfectly readable by machines and people at the same time. :P
It was mainly around this error: https://github.com/LemmyNet/lemmy/issues/2278
Yeah that’s why I’m hoping on more guides to pop up soon. After successfully setting it up there seemed to be a communication issue in the backend throwing 404 errors and the interface became inaccessible. More luck tomorrow hopefully
Not sure if you got it sorted or not, but if you were following the docker-compose method documented by the devs, there were a couple hurdles I ran into. The one that may be relevant here is that at some point their docker-compose.yml
did not expose the Lemmy backend to the Internet, and so all federation was failing. That said, I checked just now and they seem to have fixed that issue upstream. So you should be able to re-pull their docker-compose.yml
and it should work.
I will try that, thank you.
I host my own instance, but I like selfhosting as a hobby. I really love having all my account/login stuff on my own hardware and my own backups. If I break something, its just my own stuff that broken, no harm done to any other users. I don’t really plan on hosting any of my own communities, just participating in others. I’m an avid seflhoster, and my setup is pretty exotic compared to the vast majority of hosters, but I got the whole thing working perfectly over a day. Much better than when I tried to get mastodon working. More power to more fediverse stuff though.
Everything is under your control, you’ll never be collateral damage. Cooler username?
I started my own instance and do currently not intend to open it for others (besides, maybe, close friends and family).
My intention are
Reading other posts in this sub, I saw it is still seen as offloading the main servers, as the replication of the data is a low load compared to serving the UI. Maybe one of these motivations apply to you, too? Or you find another one? At the end of the day, host your own instance if you want to :-)
Is there a tutorial or something out there? I’ve got no background in any of this but would like to maybe give it a go myself at some point. Would you be willing to say how much it costs as well?
Depends, what do you mean with “no background in any of this”? I started yesterday and set up the instance within 3h, starting around 1h after I saw the name “Lemmy” the first time. I still have to iron out some issues.
But I do have a strong background with docker, Linux administration, networking, and generally DevOps, and I do have a virtual root server up and running for some time.
If you have no background in docker and Linux (administration), I would say you’d do better focusing on smaller things, running some servers locally in docker and so on. There should be lots of opportunities to have a quick success to build up on.
If you have that background already and only have no background in the topics of Fediverse and Lemmy, https://join-lemmy.org/docs/en/administration/install_docker.html provides some relatively easy to follow instructions.
The costs are basically the costs of an always on Linux server, preferably with a fixed IP address. I’m not sure what you would pay wherever you live, I pay ~15€/month for 8GB, 4 cores, virtual root server with my own domain name.
But I do have a strong background with docker, Linux administration, networking, and generally DevOps, and I do have a virtual root server up and running for some time.
By no background I mean nothing in any of that at all 😂. The only mildly relevant thing I have a background in is bioinformatics but even that’s a stretch…
However, I did also have 0 background in 3D modelling, 3D printing or handwiring keyboards and now I’ve made quite a few that all work so… We’ll see! (I guess lol)
Well, just for playing around you should be able to set it up using something like dyndns on a laptop at home, at no cost (except for time). If you want to go for it, that’s what I would suggest :-) When that works, think about getting the virtual-root-server at monthly costs…
I think it’s a matter of personal preference.
I’ve been running my own Mastodon instance for several months now, and I’ve enjoyed it. I don’t have to rely on someone else, either, which is nice. I’m in control of everything on that instance.
As for Lemmy, I just started my own instance today, and am currently writing you from it. What made me decide to setup my own instance was some performance issues I was seeing with Lemmy.world, although that might have been an UI problem. Anyway, I enjoy doing this stuff, so I’m running my own instance for the sake of doing it.
On the flip side, it’s more expensive and time consuming, and I’m the one who has to worry about backing up data, etc. Like I said, though, I enjoy doing it, so it’s no big deal.
As someone who likes having control over their data and especially backups, and someone who normally enjoys self-hosting things, I honestly might do it. I’m not sure if I’d want to host a lemmy instance or kbin instance though, since I know they all federate together anyway. I may also end up waiting until the software is more mature too before looking into it.
Personally, I went with Lemmy because it seems to be quite a bit further along in it’s development. It also doesn’t look like kbin’s developer is recruiting much outside help, if you look at the repos of the two projects on GitHub/Codeberg, Lemmy has tons of contributions from people while kbin is mostly just the one guy with a few commits here and there. Not to mention that Lemmy’s way less of a resource hog because it’s written in Rust whereas kbin is implemented in PHP. Also, as far as I know federation is still currently broken on kbin.
The reason why I’d consider kbin is because I almost think I might prefer the interface, also I’m more of a PHP developer myself so that is tempting in and of itself too lol
I may wait a little bit before trying out either one tbh and maybe I’ll give both of them a try.
That’s awesome! Running my own social media instances has become a hobby for me.
Having my own Lemmy instance has felt fairly seamless versus using Lemmy.world, but there have been some kinks. For example, when attempting to subscribe to a new community, the server has to pull a bunch of data first. This takes several seconds, but the UI simply says “not found” – and then after several seconds, the UI updates with the community you want to follow. I figured this out by tailing the logs.
Also, the installation was pretty damn easy, especially when compared to Mastodon.
I’d maybe be interested in trying out self-hosting Mastodon at some point too, good to hear that Lemmy was easy to install though. I’m not too worried since I have quite a bit of Linux experience, I figure it probably won’t be too bad to setup whatever social media instances I’m interested in checking out.
Yeah, if you’ve got a decent amount of Linux experience, I don’t think you’ll have any issues. Mastodon’s installation is well-documented and works. My only criticism is that it’s a bit long and you have to be careful not to miss anything.
On the other hand, I recall installing Pixelfed back several months ago and having a difficult time. The documentation was lacking, and it required me to use Arch Linux, which I had never used. I was able to get it working, but eventually terminated the instance after a while because I was never using it.
Oof, yeah, requiring someone to use Arch definitely seems like a steep requirement lol
LOL
It wasn’t bad – I just wasn’t familiar with it.
Wait. I’m looking at the Pixelfed installation guide right now and it doesn’t tell me to use Arch at all? Isn’t it just a PHP app?
I run my own Mastodon instance, but for Lemmy it seemed more logical to join an existing instance that aligned with my interests. I wouldn’t be adverse to abandoning my self-hosted Mastodon for a shared instance, but I would prefer a small instance run by and for people I know, rather than one of the huge ones.
What might make you want to ditch your self-hosted Mastodon instance?
With Lemmy, I didn’t feel a need to pick any specific instance because I can follow communities from anywhere, and it seems to work pretty well.
One downside I’ve encountered with my own Lemmy instance is that post and comment history in the communities I follow begins when I started following them on my new instance. New posts and comments are federated my way, going forward, but I don’t have the ability to go back and view as much history as one would on lemmy.world or lemmy.ml, for example.
On the flip side, it’s more expensive
Can you go into more detail on this?
Sure.
I run my own instance at a cloud provider, and thus have monthly expenses I wouldn’t normally incur, if I were using a public instance.
The fun part is that you can run it on the same server as your mastodon is already running with no additional costs.
Sure, one could do that, but I prefer to keep things separate.
Oh, gotcha. I guess if using a personal local server, then the only recurring cost would be electricity.
Yes, there is electricity.
I think Internet connectivity could also be an issue, unless you have an ISP that’s friendly to you running a publicly accessible server on your Internet connection at home.
Could you run a local server on your desktop that you only turn on whenever as a client? I don’t really understand the Fediverse’s architecture yet, but as far as I saw instances being down are not a big problem beyond not being able to log in if it’s your home instance, and communities fracturing to separate discussions in other instances’ local federation caches that only get resynced when the thing comes back up.
What prevents me from running my own instance as a very heavy client? Discounting the public DNS + static globally routable IP part as those can be solved IMO.
I’ve wondered that myself, and I don’t know, to be honest, but there are some issues you’d certainly encounter. For example, if you posted any media it would need to be somewhere “always on” or remote instances and users might not be able to see it unless they managed to cache it on time. It means that your posts URL wouldn’t be accessible, and such would only be available on servers to which it has already federated. There may be other issues, too, such as queues only keeping undelivered messages for so long, etc.
I’m sure someone with a good understanding of ActivityPub could explain whether or not this is possible.
Yes you could, but if your instance is down often, it might be that there is some timeout in ActivityPub when your instance will be marked as gone for others and might not get new content once it is up again.
Can you tell me a bit about the process you went through to create your own instance? I’d like to make one myself.
You’re talking about Lemmy, right?
I provisioned an Ubuntu 22.02 server at Linode. I chose their 2 GB Shared CPU instance type. Once I configured the server to my liking, I ran through the Lemmy-Ansible instructions. (They have other methods, so check the documentation.)
Essentially, you install Ansible on your workstation. I’m on macOS and installed it via Homebrew. You then download their git repository, create the necessary configuration files, and then have Ansible configure the server. It was fairly simple.
I may go that route. I was wanting to host my own server but I feel like it would be easier to just use a cloud server
It’s personal preference, but I find it easier, for sure.
I would assume it would be more secure as well
Yeah, you generally wouldn’t want to run a public Internet server on the same network as your personal systems.
Yes, big instances are not ready to handle the traffic and could go down - see lemmy.ml
If you host your own, do you need to establish federation with all other instances or only with the ones you want to use communities from?
If I only federate with lemmy.world, would I be able to see comments on /c/selfhosted@lemmy.world on my instance made by a user from lemmy.ml?
Would a user that reads /c/selfhosted@lemmy.world on lemmy.ml see my comments, if I only federate with lemmy.world?
Been trying to find out how; kinda funny googling it brings up reddit links on a protesting reddit sub.
I was discussing this with other lemmings on matrix and it seems there is not much help if you dont have a community to build on your own instance. Now if you do host for yourself then you can federate with other instances to subscribe and pull from their communities which does reduce the total load on those services but that is about it.
Communities are going to Win/Loose based on personalities and critical mass, and the people hosting those communities will just have to increase their hosting needs.
Now if you do host for yourself then you can federate with other instances to subscribe and pull from their communities which does reduce the total load on those services but that is about it.
That is the main thing I’m doing, personally.
Communities are going to Win/Loose based on personalities and critical mass, and the people hosting those communities will just have to increase their hosting needs.
Speaking of hosting, I got to thinking what might happen when a community needs to move to another server. I wonder if some day we’ll see a solution similar to Mastodon’s where users can move their accounts and/or entire communities between Lemmy instances.
Besides all the good reasons already given you can also get a hostname that fits you the best :)
Honestly this was one of the main reasons for me, I like using my domain as my key identity in a sense. Same for Gotosocial and Matrix.