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