Skip to content
Snippets Groups Projects
David Beniamine's avatar
d67fd673
History

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

  1. Copy .env.sample to .env and adapt
  2. docker-compose up --build
  3. 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

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
./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