These are both very informative answers, thank you! The main reason I intend to use Arch instead of Debian is my plan is to use the Btrfs filesystem, at least for the mailcow/docker volumes, for the snapshot feature. I then make offsite backups from a read-only snapshot, so as not to disturb or interrupt any processes. I will also make regular database dumps to be stored on the Btrfs subvolumes (which I also will make snapshots of), since backing up the database files directly may lead to inconsistencies when restoring. My understanding is that with Btrfs, you should be running the latest stable kernel, with the latest Btrfs tools. Arch provides this assuming you install the linux kernel package, and not linux-lts, or some custom kernel.
Before I started using Arch regularly several years ago, I ran Debian. Debian prides itself on not being the latest upstream releases (“Shiny New Shit” is what they call wanting to be on the latest upstream versions of software). Whenever I was searching for documentation regarding my Debian systems, I’d find myself landing on the Arch wiki. Sadly, some of the content on the Arch wiki isn’t directly applicable to Debian, since Arch typically runs newer versions (with newer features) than Debian. Even so, much of the information was perfectly applicable. The Debian wiki always seemed to be one or two releases behind the current release. I also found that I ultimately disliked the Debian way of configuring the system (with its weird TUI configuration tools, and bespoke programs for managing the configuration), and the strict adherence to only including Free Software (Debian Free Software Guidelines/DFSG).
As for stability, Debian is only more stable because you typically don’t receive a new major or minor release version when you run apt upgrade
. I would call it stable with respect to versions, not necessarily more stable (in that it doesn’t crash). I’m pretty proficient with Arch, and there have been very few occasions, if any, where a system upgrade broke my systems. I understand the risks, and I accept them. My VPS provider doesn’t even offer Arch as an OS; I forgo their support and bootstrap Arch over Debian. I even drafted , so I could bootstrap Arch over Debian. I do not intend to consult the mailcow community for anything that appears to be Arch related.
The point about the default ports is important, I can change those ports so the mailcow web interfaces listen on something nonstandard, so my websites work on the standard HTTP(S) ports. I’m OK with that, since there won’t be more than one or two regular users of the mailcow web interfaces. I haven’t yet decided whether we’ll want to use the webmail interfaces, as some of these email domains will be replacing an existing, aging VPS running CentOS 7, with far fewer virtual hardware resources.
This leads to another question: how is ACME/Let’s Encrypt/certbot handled? On my existing VPS I run certbot on the host, not in a container. All of the nginx configurations refer to the fullchain.pem (or the current symlink thereof). Is that acceptable for mailcow? I see , which suggests mailcow runs ACME in its own container. It does mention I can do it the way I’ve done it in the past, but that article doesn’t appear to describe how to do it that way. It looks like there are hints to using an external ACME client on the . If I want to run the mailcow web interfaces on nonstandard ports, it looks like the acme-container requires to be listening on port 80. I’ll have to do more digging to make sure I understand this bit before I deploy. The more I think about it, having a separate reverse proxy sounds like the way to go. More digging is definitely warranted.
Luckily it will be several weeks before I acquire the new VPS. Because of the hint about running multiple docker compose
stacks on a single Docker host, I can probably start trying mailcow out on my existing VPS. I don’t run any mail domains there currently, though one of my Ghost websites has a Mailgun setup. I’ll likely not enable mailcow for those domains, since I won’t be setting up email addresses for it.
Thanks for the tips! If you have anything further to add, I can check them out if you reply!