A lot of memory, and a lot of disk space.
Synapse is the reference platform, and even if they don't, it feels as if the Matrix team make changes to Synapse and then update the spec later. This makes it hard for third-party servers (and clients!) to stay compliant, which is why they rise and fall. The spec management of Matrix is awful.
So, while suggestions may be to run something other than Synapse - which I sympathize with, because it's a PITA and expensive to run - if you go with something else just be prepared to always be trailing. Migrating server software is essentially impossible, too, so you'll be stuck with what you pick.
Matrix is one of the worst-managed best projects to come out in decades.