Initial: stack mail Postfix + Dovecot sur Alpine

This commit is contained in:
ayo 2026-06-12 10:06:53 +02:00
commit 24cf567d9a
5 changed files with 98 additions and 0 deletions

22
dovecot/Dockerfile Normal file
View file

@ -0,0 +1,22 @@
# Image de base Alpine
FROM alpine:3.21
# Installer Dovecot (IMAP/POP3) + le module d'authentification
RUN apk add --no-cache dovecot
# --- Utilisateur vmail identique à celui de Postfix (uid/gid 5000) ---
RUN (deluser vmail 2>/dev/null || true) \
&& (delgroup vmail 2>/dev/null || true) \
&& addgroup -g 5000 vmail \
&& adduser -D -u 5000 -G vmail -h /var/mail/vhosts vmail \
&& mkdir -p /var/mail/vhosts
# --- Copier nos fichiers de config dans l'image ---
COPY dovecot.conf /etc/dovecot/dovecot.conf
COPY users /etc/dovecot/users
# Exposer les ports IMAP
EXPOSE 143 993
# Lancer Dovecot au premier plan
CMD ["dovecot", "-F"]

29
dovecot/dovecot.conf Normal file
View file

@ -0,0 +1,29 @@
# Protocoles servis
protocols = imap
# Écouter sur toutes les interfaces
listen = *
# --- Emplacement des boîtes : le même Maildir que Postfix ---
mail_location = maildir:/var/mail/vhosts/%d/%n
# %d = domaine (ayoinc.test), %n = partie locale (alice, bob)
# --- Authentification ---
disable_plaintext_auth = no
auth_mechanisms = plain login
# Base d'utilisateurs : un fichier passwd-file
passdb {
driver = passwd-file
args = scheme=PLAIN username_format=%u /etc/dovecot/users
}
userdb {
driver = static
args = uid=5000 gid=5000 home=/var/mail/vhosts/%d/%n
}
# Désactiver SSL pour l'instant (on l'ajoutera proprement après)
ssl = no
# Logs vers la sortie standard (pratique pour podman logs)
log_path = /dev/stderr

2
dovecot/users Normal file
View file

@ -0,0 +1,2 @@
alice@ayoinc.test:{PLAIN}alice
bob@ayoinc.test:{PLAIN}bob