🐄 Mailcow : installer un serveur mail en moins de 10 minutes

Mailcow-dockerized est une solution de messagerie complète pour Linux fonctionnant dans des containers.

Dans un précédent billet, j'évoquais l'installation de Modoboa, une alternative à Mailcow, mais après plusieurs tests, j'ai préféré cette dernière solution. Son  interface permet d'administrer  de votre serveur de messagerie ainsi l'administration des domaines et des utilisateurs incluant :

  • le support de DKIM et ARC
  • La gestion de black et whitelists par domaine et par utilisateur
  • Gestion des Spam par utilisateur (reject spam, mark spam, greylist)
  • Possibilité de créer des mails temporaires anti spam
  • Tagger les sujets des mails ou déplacer les mails dans des répertoires
  • Webmail
  • Authentification à deux facteurs :  Yubikey OTP, U2F USB ou TOTP
  • Ajouter des domaines, des alias, des boites aux lettres, ...
  • Intégration d'un Fail2ban-like
  • Un système de quarantaine
  • Scanne Antivirus  incluant les  macros des documents office
  • Et bien plus encore ...

Mail-Dockerized est gratuit, mais une petite contribution serait appréciée :)

La solution utilise plusieurs containers liés par un "bridge" réseau. Chaque container contient une seule application :

L'un des atouts de MailCow c'est l'intégration de Rspamd et de ses tableaux de bord

Rspamd

Installation  

Pour cette installation j'ai utilisé un VPS SSD 2 chez OVHCloud car 4Go de mémoire sont nécessaires si vous souhaitez utiliser l'antivirus et le moteur de recherche Solr pour les mails.

Les pré requis

sudo apt update
sudo apt upgrade
sudo  apt install apt-transport-https ca-certificates curl software-properties-common
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
sudo apt update
sudo apt-cache policy docker-ce
sudo apt install docker-ce
sudo curl -L https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

L'installation de mailcow

cd /opt
sudo git clone https://github.com/mailcow/mailcow-dockerized
cd mailcow-dockerized
./generate_config.sh
docker-compose pull
docker-compose up -d

Attendez quelques minutes et vous pouvez vous connecter à l'adresse : https://<votre serveur>

Login: admin / Mot de passe : moohoo

Mailcow

Ne pas oublier vos enregistrements DNS, ci-dessous un exemple chez Gandi

Enregistrement DNS - Gandi

Si l'interface de mailcow ne fonctionne pas, vérifiez l'état de containers :

docker-compose ps

docker-compose ps