I cannot agree with you @substandard that Virtualmin needs 5-6 GB of RAM to run with Fail2Ban. I am getting adequate performance from servers which have less RAM
I have an Amazon Lightsail VPS with 1 GB RAM hosting 46 virtual servers and 236 users who send / receive 10 GB of email a day. After I tweaked Virtualmin I was able to run Bind and Spamassassin (along with Fail2ban but without mySQL) quite comfortably in production. See attached screenshot vps02 of Virtualmin Dashboard.
On another VPS I have 4 GB of RAM and host 100 virtual servers consisting of a mix of WordPress, TikiWiki CMS, Microweber and SuiteCRM with great TTFB for users in India by tweaking Virtualmin, Apache and PHP-FPM. See https://calport.com/article67-Fast-web-servers-dare-to-compare-TTFB-and-FCP and the attached screenshot vps01 of the Virtualmin Dashboard.