Hello! So I am just now tryinng to start the process of hosting my own instance just like you, but with a little bit of web development experience already. Trust me, it’s easy!
So, assuming from the question, you have no idea where to start and have no experience. That’s ok! If you have experience, forgive me, but this can be used for others happening to search for the same thing.
Background: A domain name is simply a human-readable name to an IP address. The IP address in this case is your “home address”. Take 1234 street north, PA 789039. That’s your “IP” to your “home address”. Your home address can be found at “whatsmyip.org”. This is your home’s IP address. Your domain name will point to this address when you want to host your own server. HOWEVER!!!, You can point this to someone else’s home address (a server you rent) and pay them to borrow their address so you can prevent people finding out who you are and where you live. That’s important! You don’t want people finding the open front door to your home and walking in and stealing your TV right? Same with your data.
Ok so you know what the domain name does now. But that can be used for a lot of things. Your domain name is like a username. It can point to your home server, but it can point to Google for email. It can point to your rented server(s). It can point to whatever you want it to! So buying a domain is a powerful thing. But now, to do what you’re asking, which is to point to your home server and host your own Lemmy (or other federated software). You’d want to buy your domain (ie. Google domains, you buy “Desmondjones.com” and point that domain name to your home address 192.168.145.1) You can port forward (subdivide your home IP to a single protocol like https) to your server. (ie. 192.168.145.1:8080 to your internal LAN IP of your server)
Your storage, services, and resources is based on the computer you are wanting to serve the data from. Every HTTPS request uses resources and can access your server (computer hosting the data). So your only limitations is what hardware you are installing the software on.
Your post, on your own server, gets pushed to through the protocol to other servers that know about you. They make an http request and pull your post and copy it to their own server. This can be fast and microscopic in the terms of storage because it’s more of a copy, not a write to their own server. If that makes sense. So everything you post is replicated, but once you delete it on yours, it’s deleted on everyone’s. YOU store the data YOU create. You PULL the information OTHERS create. your storage of that info is temporary until that other user deletes their content. You can save it in your logs, but you won’t store all the information on your own instance.
So to do this, buy the domain, point the DNS to your home IP, Use the port your server uses to host the data, and secure it through some sort of firewall, proxy (Cloudflare), or use a rented server (lenode.com) RECOMMENDED.
I’d pay the $5 a month to host your instance on Lenode, and learn what not to do, before hosting it yourself and exposing yourself to A LOT OF RISK!!!
As always, please play it safe, buy your domain (I have like 10 that don’t do anything. Like packopus.com) So I will be joining you in this journey on the fediverse to make more instances and host my own content. Good luck, I hope this helped.
That’s actually strange… It /was/ listed there not too long ago, that’s how I found it. Kbin was the less-known site at the time too (about a month ago).