we are using Sabre DAV. Very stable and its performance depends on the performance of your webserver.
If I may ask, what average rate of requests per second per 1000 users do you have?
We are using Apache-MPM prefork. If your webserver can handle HTTP- requests for 10k users, it will handle CARDDAV/CALDAV-requests for that amount of users as well.
I was thinking of putting a container behind a proxy (and ideally autoscalling instances) so support for the proxy-protocol would be nice.
If you are familiar with php-programming, you may extend Sabre DAV. Standard Sabre DAV has its own user database. We extended the SabreDAV authentication mechanism such that user-credentials are pulled from the same database that Dovecot is using.
I would prefer ldap