You can use old machines for all kinds of servers, I’ve got a stack of old laptops running a Kubernetes cluster, but synapse would push some of them possibly further than they can go so I have it on my more powerful NAS, and even then it isn’t exactly speedy at times
I mean you want to host an internet facing computer. That shit is poorly pretty complicated. But I think there are things that make that easier with presets etc.
I heard of people that Nix is awesome because there are preconfigured configurations, you apply them and also with your single config file you have the documentation of what you did.
never delete your database, have backups, all the state is in there, if you lose your DB, you essentially have to set up a new server: Your server will say you are not in a room while others say you are, so you cannot join. Always keep your DB backed up.