164 lines
6.8 KiB
Markdown
164 lines
6.8 KiB
Markdown
# docker-image-dovecot
|
|
|
|
Docker image for Dovecot.
|
|
|
|
## Configuración
|
|
|
|
* `vmail_home` (`/srv/vmail`): home del usuario `vmail`.
|
|
|
|
### Generales
|
|
|
|
* `dovecot_user_home` (`{{ vmail_home }}/mail/%d/%n`): carpeta home de
|
|
cada usuario.
|
|
* `dovecot_mail_location` (`{{dovecot_mailbox_format}}:~/dbox` o
|
|
`maildir:~/Maildir` según el valor de `dovecot_mailbox_format`):
|
|
ubicación de los mails de cada usuario.
|
|
* `dovecot_mailbox_junk` (`Junk`): Nombre de la carpeta de spam.
|
|
* `dovecot_mailbox_format` (`dbox`): formato del mailbox. Valores
|
|
posibles: `dbox`, `mdbox`, `sdbox`, `maildir`.
|
|
* `dovecot_auth_username_format` (`%Lu`): formato del nombre de
|
|
usuario utilizado para autenticar.
|
|
* `dovecot_auth_mechanisms` (`plain`): mecanismos de autenticación,
|
|
agregar `login` para compatibilidad con MS Outlook.
|
|
* `dovecot_auth_system_enable` (`no`): habilitar login para usuarios
|
|
del sistema.
|
|
* `dovecot_auth_master_enable` (`no`): habilitar usuarios _master_.
|
|
|
|
### Protocolos
|
|
|
|
* `dovecot_proto_imap_enable` (`yes`): activar IMAP.
|
|
* `dovecot_proto_imaps_enable` (`no`): activar IMAPS.
|
|
* `dovecot_proto_pop3_enable` (`no`): activar POP3.
|
|
* `dovecot_proto_pop3s_enable` (`no`): activar POP3S.
|
|
* `dovecot_proto_managesieve_enable` (`yes`): activar
|
|
managesieve. Debe estar habilitado Sieve.
|
|
|
|
### SSL
|
|
|
|
* `dovecot_ssl_enable` (`yes`): habilitar ssl.
|
|
* `dovecot_ssl_require` (`no`): requerir ssl.
|
|
* `dovecot_ssl_cert` (`{{ tls_certificate }}`): path absoluto al
|
|
certificado SSL.
|
|
* `dovecot_ssl_key` (`{{ tls_certificate_key }}`): path absoluto a la
|
|
clave privada SSL.
|
|
|
|
### LDAP
|
|
|
|
* `dovecot_ldap_enable` (`yes`): indica si habilitar la userdb/passdb
|
|
LDAP.
|
|
* `dovecot_ldap_servers`: (`["localhost"]`): lista de servidores ldap
|
|
para consultar.
|
|
* `dovecot_ldap_version` (`3`): version del protocolo LDAP.
|
|
* `dovecot_ldap_base` (`ou=People,dc=%Dd`): base para la búsqueda en
|
|
LDAP. `%Dd` convierte `mi.dominio.com` en `mi,dc=dominio,dc=com`.
|
|
* `dovecot_ldap_scope` (`subtree`): scope para la búsqueda. Valores
|
|
posibles: `base`, `onelevel`, `subtree`.
|
|
* `dovecot_ldap_user_filter` (`(&(objectClass=inetOrgPerson)
|
|
(uid=%n))`): filtro para obtener la entrada del usuario LDAP.
|
|
* `dovecot_ldap_pass_filter` (`(&(objectClass=inetOrgPerson)
|
|
(uid=%n))`): filtro para obtener la clave del usuario LDAP.
|
|
* `dovecot_ldap_user_attrs` (`=home={{dovecot_user_home}},
|
|
=uid={{vmail_user}}, =gid={{vmail_group}}`): atributos del usuario.
|
|
Por defecto se usan valores pre-calculados, sin consultar LDAP.
|
|
* `dovecot_ldap_pass_attrs` (`userPassword=password,
|
|
=userdb_home={{dovecot_user_home}}, =userdb_uid={{vmail_user}},
|
|
=userdb_gid={{vmail_group}}`): clave + mapeo de atributos
|
|
LDAP=Dovecot del usuario.
|
|
* `dovecot_ldap_iterate_attrs` (`=user=%{ldap:uid}@%d`): iteracion que
|
|
lista todos los usuarios que Dovecot conoce. Es para poder ejecutar
|
|
el comando `doveadm -A`. El formato es `<atributo LDAP>=<atributo
|
|
Dovecot>` o bien `=<atributo Dovecot>=<TEMPLATE>`, en donde TEMPLATE
|
|
es un string con campos `%{ldap:<nombre_atributo_ldap>}` que son
|
|
reemplazados por el valor correspondiente traido de LDAP.
|
|
CAVEAT: al usar `%Dd` en `dovecot_ldap_base`, no se puede utilizar
|
|
`doveadm -A`, sino que siempre se debe especificar un dominio usando
|
|
`doveadom -u "*@dominio"`. Cuando la base LDAP es fija (sin `%algo`),
|
|
se puede simplificar este campo a `uid=user`.
|
|
* `dovecot_ldap_iterate_filter` (`(objectClass=inetOrgPerson)`):
|
|
filtro para iteración, debe devolver todas las personas de tipo
|
|
`usuario` en LDAP.
|
|
* `dovecot_ldap_default_pass_scheme` (`CRYPT`): esquema de clave en
|
|
ldap. No debería ser necesario con una autenticación bind.
|
|
|
|
### Antispam
|
|
|
|
La configuración antispam viene por defecto para Bogofilter.
|
|
|
|
* `dovecot_antispam_enable` (`yes`): Indica si activar el plugin
|
|
antispam.
|
|
* `dovecot_antispam_backend` (`pipe`): Backend. Valores posibles:
|
|
`crm114`, `dspam`, `pipe`, `spool2dir`.
|
|
* `dovecot_antispam_signature` (`X-Bogosity`): Header que indica que
|
|
el mail ha sido escaneado para spam.
|
|
* `dovecot_antispam_pipe_program` (`/usr/bin/bogofilter`): programa
|
|
que entrena leyendo el mail en STDIN.
|
|
* `dovecot_antispam_pipe_program_args` (`-l`): argumentos pasados al
|
|
programa en todos los casos.
|
|
* `dovecot_antispam_pipe_program_notspam_arg` (`-n`): argumento que
|
|
indica que el mail NO ES spam.
|
|
* `dovecot_antispam_pipe_program_spam_arg` (`-s`): argumento que
|
|
indica que el mail ES spam.
|
|
* `dovecot_antispam_pipe_tmpdir` (`/tmp`): directorio temporal de pipe
|
|
(creo que el mail se copia ahi primero).
|
|
* `dovecot_antispam_signature_missing` (`error`): acción cuando se
|
|
mueve un mail que no tiene signature de/hacia spam. Valores
|
|
posibles: `error` (fallar en la operación), `move` (mover el mensaje
|
|
de todos modos). Se recomienda empezar con `error` para detectar
|
|
errores al entrenar. Una vez todo andando se recomienda `move`.
|
|
* `dovecot_antispam_spam` (`Junk;junk;Junk Mail;Spam;spam;SPAM`):
|
|
nombres de carpeta a interpretar como spam.
|
|
* `dovecot_antispam_trash` (`Trash;trash;mail/trash;Deleted
|
|
Messages`): nombres de carpeta a interpretar como papelera.
|
|
* `dovecot_antispam_debug_enable` (`no`)
|
|
* `dovecot_antispam_debug_target` (`syslog`)
|
|
* `dovecot_antispam_debug_verbosity` (`0`)
|
|
|
|
#### Para rspamd
|
|
|
|
```yaml
|
|
dovecot_antispam_enable: yes
|
|
dovecot_antispam_pipe_program: rspamc
|
|
dovecot_antispam_pipe_program_spam_arg: learn_spam
|
|
dovecot_antispam_pipe_program_notspam_arg: learn_ham
|
|
```
|
|
|
|
### Quota
|
|
|
|
* `dovecot_quota_enable` (`yes`): activar plugin quota.
|
|
* `dovecot_quota_driver` (`count`): driver de quota. Opciones
|
|
posibles: `count`, `maildir`.
|
|
* `dovecot_quota_limit` (`4096M`): límite global de la cuota de
|
|
usuario.
|
|
* `dovecot_quota_additional_limit`: (`{Trash: 100M }`): límites
|
|
adicionales para casillas específicas.
|
|
* `dovecot_quota_grace` (`10%`): gracia de la cuota (en % o M).
|
|
|
|
### Sieve
|
|
|
|
* `dovecot_sieve_enable` (`yes`): activar plugin sieve.
|
|
* `dovecot_sieve_before` (`/etc/dovecot/sieve/before`): directorio con
|
|
scripts ejecutados antes que los del usuario.
|
|
* `dovecot_sieve_after` (`/etc/dovecot/sieve/after`): directorio con
|
|
scripts ejecutados después que los del usuario.
|
|
|
|
### Single-instance storage para adjuntos
|
|
|
|
* `dovecot_sis_enable` (`yes`): Indica si activar single-instance
|
|
storage para los adjuntos.
|
|
* `dovecot_sis_directory`: (`{{ vmail_home }}/attachments`): lugar
|
|
donde se guardan los adjuntos desduplicados.
|
|
* `dovecot_sis_min_size` (`128k`): tamaño minimo de adjuntos a guardar
|
|
en SIS.
|
|
* `dovecot_sis_hash` (`%{sha1}`): hash a usar para desduplicar.
|
|
* `dovecot_sis_queue_enable` (`no`): habilitar desduplicacion
|
|
postergada,
|
|
* `dovecot_sis_queue_directory` (`{{vmail_home}}/attachments-queue`):
|
|
carpeta donde se guardan los pendientes para desduplicar.
|
|
|
|
### Carpeta alternativa para correo
|
|
|
|
* `dovecot_altstorage_enable` (`no`): habilitar uso de carpeta
|
|
alternativa de correo.
|
|
* `dovecot_altstorage_directory` (`{{ vmail_home }}/alt-storage`):
|
|
carpeta alternativa de correo.
|