https://github.com/maildev/maildev
npm install -g maildev # Utilisez sudo si nécessaire maildev
Commande docker de base
docker run -d --name maildev -p 1080:1080 -p 1025:1025 maildev/maildev
Commande avec persistance des données et protection par mot de passe
docker run -d --name maildev -p 1080:1080 -p 1025:1025 -u root -v mail_data:/tmp/mail_data --restart always maildev/maildev bin/maildev --web-user toto --web-pass motdepasse --mail-directory /tmp/mail_data
Explication :
–restart always : permet au container de toujours redémarrer en cas de crash ou au reboot de l’hotebin/maildev –toutes mes options–web-user–web-pass–mail-directory /tmp/mail_data : on peut mettre ce que l’on veut au final-v mail_data:/tmp/mail_data : crée un volume dans /var/lib/docker/volumes/mail_data et le monte sur le dossier /tmp/mail_data du container-u root : malheureusement, l’utilisateur node lancé par défaut, n’a pas les droits d’écriture sur le montage du volume, on force alors l’exécution de maildev avec l’utilisateur rootCréer un répertoire maildev et créer un fichier docker-compose.yml à l’intérieur
services: maildev: image: maildev/maildev container_name: maildev ports: - "1080:1080" # Interface web - "1025:1025" # Serveur SMTP volumes: - mail_data:/tmp/mail_data user: "0" # Équivalent de -u root, nécessaire pour des problèmes de droit sur le volume mail_data environment: - TZ=Europe/Paris # Définit le répertoire où les emails seront persistés (liés au volume) - MAILDEV_MAIL_DIRECTORY=/tmp/mail_data # Pour sécuriser l'accès pas un mot de passe # - MAILDEV_WEB_USER=admin # - MAILDEV_WEB_PASS=password restart: always volumes: mail_data:
Puis lancer la commande
docker compose up -d
Pour mettre à jour
docker compose pull docker compose up -d
J’ai croisé un petit problème de CSS, pour le corriger
docker exec -it maildev sh vi /home/node/app/styles/style.css
Rechercher le terme “email-content” et corriger le “height”
.email-content{box-sizing:border-box;z-index:1;height:calc(100vh - 8.5em)}