# 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:

```mermaid
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`

## Configuration


You can add and modify files in `etc` directory, do not forget to restart the container afterwards