...
A servlet container implementing Servlet API 3.1 is required, but Servlet API 5.0 (or greater) are NOT supported. For example:
Jetty 9.4 or , 10, 12 (but not Jetty 11+)
Tomcat 9 (but not 10+.x) (while some older versions of Tomcat are nominally suitable, they have not been tested and have been obsoleted in any case)
We also do not officially support any "packaged" containers provided by OS vendors. We do not test on these containers so we cannot assess what changes may have been made by the packaging process, and they frequently contain unwarranted and ill-considered changes from the upstream software.
The recommended container implementation is Jetty and all development and most testing time by the core project team is confined to the Jetty platform. At present, Jetty 10 is or 12+ are recommended.
There are no specific requirements regarding Operating Systems, but in practice this is inherently limited by the Java distributions supported, as noted above.
...
Java version 10 or earlier
Jetty 9.3 or earlier
Jetty 11 or later (11 is part of a “new” API stream supporting the incompatible new Jakarta EE specification, which will be supported and in fact required by IdP V5.0 when it is available). Jetty 10 is the equivalent to 11 while maintaining support for the old Java EE API. Jetty 12 supports both APIs.
Tomcat 7 or earlier
Tomcat 10 or later .x (per the Jetty 11 comment above, this is the Tomcat branch for support of supporting only Jakarta EE)
User Agent Assumptions
...