It depends, but most of the time the answer is yes.
If you just host a single user instance for yourself, it doesn't need to be some massively scalable thing.
This magazine is dedicated to discussions on the federated social networking ecosystem, which includes decentralized and open-source social media platforms. Whether you are a user, developer, or simply interested in the concept of decentralized social media, this is the place for you. Here you can share your knowledge, ask questions, and engage in discussions on topics such as the benefits and challenges of decentralized social media, new and existing federated platforms, and more. From the latest developments and trends to ethical considerations and the future of federated social media, this category covers a wide range of topics related to the Fediverse.
It depends, but most of the time the answer is yes.
If you just host a single user instance for yourself, it doesn't need to be some massively scalable thing.
By default, instances can connect with any other instance, but admins can block instances. The connection is made when a user on that instance subscribes to a community on a different instance. You can definitely run your own instance and just disable sign-ups.
https://join-lemmy.org/docs/administration/federation_getting_started.html
Thanks for the link, it answers a bunch of my questions
Did the admins of each instance configure this, or does it occur because they are all public and each instance fetches data from everywhere else
The softwares can federate with whomever by default, so your second thought was spot on.
The reason I’m curious is because I’m wondering about building a read-only instance for myself.
This is a perfectly valid reason to stand up your own lemmy/kbin server. I'm considering the same thing myself. An instance like you're describing would certainly need far fewer resources compared to a public instance, just keep in mind that you'll need to set up and maintain it on your own; not a huge task for a single user, but it's a task.
And to be a bit more clear on the terminology, you're considering setting up an instance that has new user signups and new communities disabled, but with federation still enabled, correct? If not, than disregard everything in my last paragraph.
Rather than a kbin/lemmy instance, I'm thinking of a separate codebase altogether.
As I understand, both kbin and lemmy implement the activitypub protocol, similar to how gmail/outlook implement SMTP.
So having an activitypub-compliant app would be sufficient to read the data from kbin/lemmy/etc.
This would be a side project for myself to learn a new language, e.g. golang backend.
When someone adds a magazine/community to your server via the search features, that's when they start showing up on your server. If you are the only person on your server, then only the things you subscribe with will show up. You'll need to search with both the community name and server domain.