LXC is much more light weight than VMs, so it’s not as much overhead. I’ve done it this way in case I need to reboot a container (or something goes wrong with an update) without disrupting the other services
Also keeps it consistent since I have some services that don’t run in docker. One service per LXC
Personally I use mailbox.org, it’s not free, but you are not the product