Self-hosted lemmy not receiving all posts or upvotes
Hi all,
I tried hosting my own lemmy instance to take some of the load off lemmy.world, but a lot of the posts do not get synchronised to my instance. When they do, they never got more than a couple upvotes.
I get a lot of warnings in the logs that I've got an incoming connection not on my allowed hosts, of which I've put "lemmy.world" and "lemmy.ml"
Does self hosting like this actually reduce the load on lemmy.world and the fediverse? And how can I fix the issue I'm having?
"Allowed Hosts" is white listing btw. You should leave it blank if you want more than just lemmy.world and lemmy.ml
And I wouldn't say it reduces the load on those sites. It would kind of add to them in a way if you post from your instance or sub from your instance solo. If it's just you on your instance, it's barely a blip. May save them some photo hosting if you post.
SOME of the out of sync upvotes/comments are fixed in 0.18.1
It would kind of add to them in a way if you post from your instance or sub from your instance solo
Is this actually true? As far as I understand it, by far the biggest overhead is users browsing. The fewer users you have actually hitting the frontend, the better.
The devs were saying that browse load was the major issue a few weeks ago, but more instances have been stood up since then and it does seem like replication is getting a bit creaky. I don't think replication load is flatlining the CPUs of big instances, but it does seem to be reaching some kind of scaling limit that is non-trivial to tune around.
The optimal is definitely the goldilocks zone of ~100 to ~1000 active users. Whether single-user instances are a net win or a net loss is still pretty unclear to me, and if they become a net-loss it will manifest as federation issues of the sort described here, but it's pretty hard to tell whether those issues are misconfigs on the tiny instances, misconfigs on certain big instances, temporary scaling issues that will be quickly fixed, or hard problems that will limit the size of the network for a while.
If the bigger instance has to push/pull in data from you personal communities because they sub to it, then yes. 1 person not using your front end isn’t going to change much.
Leave allowed hosts blank! Otherwise you'll only get content from those instances.
Also you will only get posts from communities with at least one subscriber on your instance, and only new posts and comments from the moment you subscribe, or if someone interacts with an older post/comment
You won't get much old data when you first start subscribing to new communities from your instance. You'll only get new content. When you add a community you'll get 20 recent topics with no comments or upvotes. As new content comes in you'll pick up all of it. At least one member of your instance needs to subscribe to a community to begin syncing with that community. To solve the lack of content on my personal instance, I made a bot that subscribed to the top 300 communities with more than 1000 subscribers. After a day or so I now have tons of content.. I may stick the bot script on a weekly cronjob to keep my instance synced with the largest communities.
It's not great, but here it is: https://github.com/ducksdotdev/LemmySubscriber/tree/main .. I'll revisit the app sometime this week/weekend to make it better. Although, I believe there are a couple other scripts in the wild that do the same task and include their own method for crawling.
edit: https://github.com/Fmstrat/lcs -- looks like this is a better one than what I did if you want something different.
I can share it, but right now I have it grabbing the latest artifact from the lemmy-exporter which looks like as of June 3rd they stopped updating their repo with the export artifact. Meaning, I need to implement some sort of crawler myself or use a different method for generating the list of communities.
I can share the code with this caveat if you want to use it anyway/try and change it yourself. It is written in Golang.. will post back in a bit with a github repo. need to set it up
Anyway, based on how federation works, you are actually adding load to lemmy.world and other instances with your own instance. This is counterintuitive and it is because federation doesn't work well as for due to scale problems.
From what I was told. If you self host for only yourself, there is no benefit and you are not talking the load off anyone else’s instances. I believe because you still need to pull all that data so no difference. But if you have a few people on your instance then that will help The more you have.
You are not taking the load off with a single user, but you will have a more stable experience since your instance won't require much resources. I have my own instance and haven't experienced any of the issues people report on lemmy.world and lemmy.ml.