Initial vault setup
This commit is contained in:
@@ -0,0 +1,130 @@
|
||||
---
|
||||
title: Dovecot
|
||||
created: 2026-06-07
|
||||
updated: 2026-06-07
|
||||
type: app
|
||||
tags: [catalogue, email, imap, pop3, serveur-mail]
|
||||
confidence: high
|
||||
contested: false
|
||||
sources: [https://selfh.st/apps/?tag=Email, https://github.com/dovecot/core]
|
||||
---
|
||||
|
||||
# 📧 Dovecot
|
||||
|
||||
> **Le serveur IMAP/POP3 de référence** : utilisé par défaut dans mailcow, Mailu, Mail-in-a-Box, iRedMail et des millions d'installations à travers le monde — rapide, sécurisé, extensible.
|
||||
|
||||
## 📋 Informations Générales
|
||||
|
||||
| Champ | Valeur |
|
||||
| :--- | :--- |
|
||||
| **Site web** | [dovecot.org](https://www.dovecot.org) |
|
||||
| **GitHub** | [dovecot/core](https://github.com/dovecot/core) |
|
||||
| **License** | LGPL-2.1 (avec exceptions) |
|
||||
| **Langage** | C (performances natives) |
|
||||
| **Étoiles GitHub** | 1 212 ⭐ |
|
||||
| **Catégorie** | [[cat-email\|Email]] |
|
||||
| **Mainteneur** | Dovecot OY (société finlandaise, support commercial dispo) |
|
||||
|
||||
## 📝 Description
|
||||
|
||||
**Dovecot** est né en **2002** en Finlande comme alternative plus rapide et sécurisée au serveur IMAP **Cyrus**. Vingt ans plus tard, c'est **LE serveur IMAP/POP3 open source dominant** sur l'internet — choisi par défaut dans la plupart des stacks mail self-hosted (mailcow, Mailu, iRedMail, Mail-in-a-Box, Zimbra, etc.).
|
||||
|
||||
**Fonctionnalités** :
|
||||
- **IMAP4rev1, POP3, ManageSieve, LDA/LMTP** : protocoles standards
|
||||
- **Mailbox formats** : Maildir, mdbox, sdbox (formats propriétaires optimisés)
|
||||
- **Authentification** : PAM, passwd, shadow, LDAP, SQL, OAuth2, passkey
|
||||
- **Quotas** : par utilisateur, par domaine
|
||||
- **Filtres Sieve** : côté serveur (tri, redirection, vacation)
|
||||
- **Full-text search** : intégré via FTS plugin (Squid, Solr)
|
||||
- **Plugins** : quota, expire, notify (push mail), fts, sieve, antispam
|
||||
- **OAuth2** : moderne, supporte Google/Microsoft/Authentik
|
||||
- **Push mail** : extension IDLE + notifications push mobiles (via Pigeon/Mailpiler)
|
||||
|
||||
**Forces** :
|
||||
- **Performances** : écrit en C, gère des millions de boîtes
|
||||
- **Sécurité** : auditée, chroot, séparation de privilèges
|
||||
- **Compatibilité** : fonctionne avec Postfix, Exim, Sendmail, OpenSMTPD
|
||||
- **Documentation** : excellente, wiki complet
|
||||
- **Support commercial** : Dovecot OY propose du support payant
|
||||
- **Écosystème de plugins** : énorme (Pigeon, OX Dovecot Pro, etc.)
|
||||
|
||||
**Faiblesses** :
|
||||
- **Pas de MTA intégré** : à coupler avec Postfix, Exim ou Stalwart
|
||||
- **Pas de webmail** : il faut Roundcube, SnappyMail, etc. par-dessus
|
||||
- **Configuration verbeuse** : beaucoup de fichiers (`dovecot.conf`, `conf.d/*`)
|
||||
- **Pas de gestion utilisateurs native** : à déléguer à LDAP/SQL/PostfixAdmin
|
||||
|
||||
## 🚀 Installation
|
||||
|
||||
### Via Docker (image officielle)
|
||||
|
||||
```yaml
|
||||
# docker-compose.yml
|
||||
version: '3.8'
|
||||
services:
|
||||
dovecot:
|
||||
image: dovecot/dovecot:latest
|
||||
container_name: dovecot
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- DOVECOT_HOSTNAME=mail.example.com
|
||||
volumes:
|
||||
- ./config:/etc/dovecot
|
||||
- ./mail:/var/mail
|
||||
- ./ssl:/etc/ssl/dovecot
|
||||
ports:
|
||||
- "143:143" # IMAP
|
||||
- "993:993" # IMAPS
|
||||
- "4190:4190" # Sieve
|
||||
```
|
||||
|
||||
### Installation manuelle (Debian/Ubuntu)
|
||||
|
||||
```bash
|
||||
sudo apt update
|
||||
sudo apt install dovecot-core dovecot-imapd dovecot-lmtpd dovecot-sieve
|
||||
sudo systemctl enable --now dovecot
|
||||
# Config dans /etc/dovecot/dovecot.conf et /etc/dovecot/conf.d/*
|
||||
# Cert TLS : placer dans /etc/ssl/dovecot/
|
||||
```
|
||||
|
||||
## ⚙️ Configuration
|
||||
|
||||
1. **Mailbox** : choisir Maildir (simple) ou mdbox (scalable)
|
||||
2. **Auth** : configurer la source (passwd, LDAP via `dovecot-ldap.conf.ext`, SQL via `dovecot-sql.conf.ext`)
|
||||
3. **SSL/TLS** : générer ou installer un certificat Let's Encrypt, activer `ssl = required`
|
||||
4. **Couplage MTA** : Postfix/Exim utilise Dovecot pour l'authentification SASL + LDA/LMTP
|
||||
5. **Plugins recommandés** : quota, expire (nettoyage auto Trash), fts, sieve, notify, antispam
|
||||
|
||||
## 🔗 Alternatives
|
||||
|
||||
- **[Stalwart](https://github.com/stalwartmail/stalwart)** — Serveur mail complet (MTA + IMAP + JMAP) en Rust, moderne
|
||||
- **[Cyrus IMAP](https://www.cyrusimap.org)** — Concurrent historique, plus utilisé
|
||||
- **[Courier IMAP](https://www.courier-mta.org/imapd.html)** — Plus simple mais moins maintenu
|
||||
- **[James (Apache)](https://james.apache.org)** — Serveur mail Java complet (MTA + IMAP + Sieve)
|
||||
|
||||
## 🔒 Sécurité
|
||||
|
||||
- **SSL/TLS obligatoire** : forcer `ssl = required` et désactiver les protocoles faibles
|
||||
- **Auth fail2ban** : jail dédiée sur `/var/log/mail.log` (filtre `dovecot` côté regex)
|
||||
- **Chroot** : activable via `mail_chroot = /var/mail`
|
||||
- **Plugins sécurité** : antispam (entraînement Bayes), allow_nets (restriction IP)
|
||||
- **Audit** : `auth_verbose = yes` temporairement pour debug
|
||||
- **Mises à jour** : suivre les CVE, releases fréquentes
|
||||
|
||||
## 📚 Ressources
|
||||
|
||||
- [Site officiel](https://www.dovecot.org)
|
||||
- [Wiki documentation](https://wiki.dovecot.org/)
|
||||
- [GitHub dovecot/core](https://github.com/dovecot/core)
|
||||
- [Pigeon (push mobile)](https://pigeon.run)
|
||||
- [Dovecot Pro (OX)](https://www.open-xchange.com/products/dovecot-pro)
|
||||
|
||||
## Pages Liées
|
||||
- [[cat-email]] — Toutes les apps Email du catalogue
|
||||
- [[app-mailcow]] — Inclut Dovecot par défaut
|
||||
- [[app-mailu]] — Inclut Dovecot par défaut
|
||||
- [[app-mail-in-a-box]] — Inclut Dovecot par défaut
|
||||
- [[app-stalwart]] — Alternative moderne tout-en-un (RUST)
|
||||
- [[securisation-home-lab]] — SSL/TLS et fail2ban
|
||||
- [[recettes-docker-compose]] — Templates Docker
|
||||
Reference in New Issue
Block a user