I'm hardly a KeyCloak expert but I can say that "it depends". How many users? How active is each user? How many calls/second do you expect to, for example, get an Oauth token? The list goes on. For development purposes I've hosted a KeyCloak server, with a PostgreSQL database server, on an Amazon t2.small instance (2GB memory, single core CPU). No, it wasn't the fastest in the world but it did work for the development testing I needed.
I think you need to define the usage first. After that people who are far more experienced than I am can give you directional information but hard and fast rules will still be tough.
Just my $0.02 worth.