Sympa docker
WIP notice
This image is a Work In Progress and should only be used for testing purposes.
For now only the web interface and SOAP API have been tested.
This image should be combined with a postfix container to actually send mail, this part and the list_configuration have not been tested / documented yet
What is this repository
This repository provides two docker images that works together to receive and send email to mailing lists : postfix and sympa.
There is an illustration of how they work together:
graph LR
subgraph Sympa
sympa
nullmailer
end
subgraph internet
relayin
relayout
end
relayin -->|smtp entrant| postfix
postfix -->|ssh| sympa
sympa --> nullmailer
nullmailer -->|smtp| postfix
postfix -->|smtp| relayout
Installation
- Copy
.env.sample
to.env
and adapt docker-compose up --build
- Go to
localhost:8081
try to login and click first_login
Enable sending mails
You need to add sympa_rewrite
and sympa_transport
files to sympa/shared/
directory:
Example of a sympa_rewrite
file:
/^sympa-request@/ postmaster
/^sympa-owner@/ postmaster
/(.+)-owner@(.+)/ $1+owner@$2
Example of a sympa_transport
file, for each domain you have Sympa providing mailing lists:
/^sympa@example\.com$/ sympadomain:
/^abuse-feedback-report@example\.com$/ sympabouncedomain:
/^bounce\+.*@example\.com$/ sympabouncedomain:
/^listmaster@example\.com$/ sympa:
/^.+(announce|list|info|event|press|talk|news)\+owner@example\.com$/ sympabounce:
/^.+(announce|list|info|event|press|talk|news)(-request|-editor|-subscribe|-unsubscribe)?@example\.com$/ sympa:
In this example, the variables SYMPA_DOMAIN
and POSTFIX_VIRTUAL_DOMAINS
should be example.com
Postfix is automatically configured to add a dkim header to outgoing mails, to make it work, add the DNS entry found in postfix/etc/dkim/mail.txt
to your domain configuration
Volumes and configurations
Bind volumes (configuration)
Local Path | Container | Container path | Comment |
---|---|---|---|
./sympa/sympa |
sympa | /etc/sympa |
Sympa configuration directory |
./sympa/syslog |
sympa | /etc/syslog.d |
Syslog config directory |
./log/sympa |
sympa | /var/log |
All logs |
./sympa/sympa/shared |
sympa and postfix | /etc/sympa/shared |
Shared config between sympa and posfix |
./postfix/rsyslog |
postfix | /etc/rsyslog.d1 |
Rsyslog config directory |
./postfix/dkim |
postfix | /etc/dkimkeys |
Opendkim key files |
./log/postfix |
postfix | /var/log/postfix |
Mail logs |
Named volumes (data persistance only)
Name | Container | Container path | Comment |
---|---|---|---|
spool_sympa | sympa | /var/spool/sympa | spool mails on sympa |
spool_nullmailer | sympa | /var/spool/nullmailer | spool mails on sympa outgoing |
lib_sympa | sympa | /var/lib/sympa | |
spool_postfix | postfix | /var/spool/postfix | spool mails on postfix |