There's been a few questions and discussions about the newly introduced
--minimal mode in the new Virtualmin 6 installer. I wanted to get some feedback about what
--minimal ought to include and what it should exclude. My goal with
--minimal mode was to make a Virtualmin installation that'll work on a 512MB system...it'll still need to make a swap file in order to actually install on Debian/Ubuntu (apt-get requires a lot of memory, so installation fails on those distros with less than about 1GB of memory+swap).
Anyway, let's talk about the state of memory consumption in a Virtualmin system today, and what the ideal Virtualmin system looks like in a memory-restricted environment.
First, I want to cover what services use a lot of memory in a Virtualmin system (note that RSS is the closest indicator of actual memory usage in most cases). These are all from 64 bit systems. Note that configuration can make a big difference in Apache and PHP process sizes, so it's possible to shrink Apache quite a bit from these numbers, if you remove some extraneous modules and features.
Minimal mode currently leaves out clamd, spamd, Dovecot, SASL, and some other programs that run periodically like AWstats and Webalizer.
After looking over this list, I think
--minimal should instead include Dovecot and SASL (they're small and useful) and leave out Fail2ban. I already removed mod_php relatively recently from the minimal LAMP target, and that is a pretty good win for memory.
So, what do y'all think? It seems like people want minimal to include a mail stack that can serve mail to clients (i.e. POP/IMAP and can receive mail sent from Thunderbird/Outlook/etc.), and now that I see just how little memory it takes, I'm on board with that.
Does everybody feel comfortable killing fail2ban for
--minimal install while bringing back sasl and dovecot? I mean, we never configured fail2ban by default until the Virtualmin 6 installer, and it was never a major source of contention...so seems like a reasonable thing to kill.