|
All checks were successful
ci/woodpecker/push/container_image Pipeline was successful
Users are now expected to provide their own passdb to configure authentication how they want it. |
||
|---|---|---|
| .woodpecker | ||
| dovecot | ||
| opendkim | ||
| postfix | ||
| rspamd | ||
| s6-rc.d | ||
| .gitignore | ||
| Dockerfile | ||
| README.md | ||
| renovate.json | ||
Dockerized Mailserver
Exposed Ports
| Port | Service | Description |
|---|---|---|
| 25 | SMTP | Requires no authentication but is under heavy restrictions regarding the senders that are accepted based on spam protection heuristics |
| 26 | SMTP | Same as above but expects a PROXY-Protocol header |
| 587 | Submission | Mail submission port for users. Basically SMTP but STARTTLS as well as authentication are always required |
| 993 | Imap | Used for retrieving mails and managing mailboxes |
| 4190 | sieve-manage | Management port for sieve-scripts |
| 11334 | rspamd | HTTP server of the rspamd admin interface |
Persistence
This container requires persistent volumes at the following locations:
/app/mailfor storing actual emails in maildir format/app/datafor various database e.g. spam filter learnings
Config Files
-
/app/conf/dovecot_local.confA dovecot configuration file that is automatically included at the end of the container's configuration. This file must contain at least onepassdbblock so that dovecot knows how to authenticate users. -
/app/conf/postfix_local.cfA postfixmain.cffile that is automatically appended to the container's configuration. -
/app/conf/postfix_virtual_alias_maps.txtA berkeley db table which lists email address aliases (Postfix reference).This basically means one alias per line in a
<from> <to>format. These aliases can be recursive.For mails to be correctly deliverable, all aliases should finally resolve to a keycloak username.
-
/app/conf/postfix_virtual_domains.txtA berkeley db table which lists domains for which this server accepts mails.The right-hand side of the table is completely ignored and can be anything.
-
/app/conf/postfix_sender_login_maps.txtA lookup table that specifies which user is allowed to send from which address. -
/app/conf/postfix_recipient_access.txtA lookup table from which postfix determines specific actions that it performs depending on the resolved recipient address. -
/app/conf/rspamd_worker_controller.incIncrementally applied configuration file for rspamd.It should at least set the following parameters:
password = "$2$z4y5epzqj6jxzrkxca4wb4tszfnhmtcs$39tgkjx95srtw4mu9ey5fcxrn6yq4wsqy5z4eqxwijzbas9kq7wb"; -
/app/conf/opendkim_domains.txtA file listing the domains which will be dkim signed. -
/app/conf/opendkim_key.pemThe private key with which dkim signatures will be made. -
/app/ssl/tls.crtand/app/ssl/tls.keyfor TLS encryption. -
/app/conf/fetchmailrcfor configuring fetchmail. See the documentation for the syntax of this file.Delivery options can be ignored in the config file as they are set as command line arguments to fetchmail by the container (see the launch script for details).
The file could for example look like this:
poll imap.mydomain.de protocol IMAP auth password user "ftsell" with password "…" is "ftsell" here