Lots of decent suggestions here so not going to repeat them, but I do have a couple of my own if using synapse:
- have plenty of RAM
- have plenty of CPU
- have plenty of DB storage space
- use Postgres as your database, SQLite sucks
Basically synapse is just a resource hog, and you need to plan for that. The database itself grows quicker than you’d expect as well
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