| Uhm, keycloak does all the things you name and more. I have it in production at work. Three instances, clustered (infinispan), running in docker containers orchestrated by kubernetes. Each instance (pod) is upper-limited to 2gb ram (or 3, can't recall the details now). It works very well and very reliably, serving about 750 users (as in, real people). If you have 2GB to spare and a physical core, you can run keycloak with no problems at all. After all, it all depends on the amount of traffic. Little traffic = little cpu load. Don't dismiss keycloak because it's written in Java... Quite the contrary, you can tune the JVM to work with little memory (-Xms -Xmx iirc). Ten years ago it was very common to see tips and tricks to make grails web apps work on as little as 64mb of ram on chap VPSes. |