Why it fits
It is licensed under GPL version 3. You can deploy it on your own VPS or hardware for private mail without a proprietary mail-suite license.
Getting started
Prerequisites (from the official docs):
- A dedicated server or VPS (x86_64 or ARM64; OpenVZ, Virtuozzo and LXC are not supported) with at least 6 GiB RAM plus 1 GiB swap and 20 GiB disk
- Docker 24 or newer with the Compose plugin, plus git, openssl, curl and jq
- A domain with DNS records you control: A/AAAA, MX, reverse DNS (PTR), and later SPF, DKIM and DMARC
- Open mail and web ports, including 25, 80, 443, 465, 587 and 993, and a correct system time
Steps:
- Install the required packages on a supported dedicated server or VPS.
- Install Docker and the Compose plugin as described in the system prerequisites.
- Clone the mailcow-dockerized repository.
- Run generate_config.sh and enter your mail hostname.
- Review and edit mailcow.conf if needed.
- Pull the images with docker compose pull.
- Start the stack with docker compose up -d.
- Create the DNS records (A/AAAA, MX, PTR, SPF, DKIM and DMARC) as documented.
- Log in to the web UI, change the default admin password and add your domain and mailboxes.
Official install guide: https://docs.mailcow.email/getstarted/install/
DNS prerequisites: https://docs.mailcow.email/getstarted/prerequisite-dns/
System prerequisites: https://docs.mailcow.email/getstarted/prerequisite-system/
Notes
Operating email on the public internet also requires domain/DNS and operational care (deliverability); that is outside license scope.
Sources
- mailcow.github.io/mailcow-dockerized-docs
- github.com/mailcow/mailcow-dockerized/blob/master/LICENSE
- docs.mailcow.email/getstarted/install
- docs.mailcow.email/getstarted/prerequisite-dns
- docs.mailcow.email/getstarted/prerequisite-system
- github.com/mailcow/mailcow-dockerized/blob/master/README.md
- mailcow.email
