## Serveur mail de Picasoft

Ce dossier contient les ressources pour lancer le serveur mail de Picasoft.
Toutes les images sont personnalisées selon nos besoins et construites à la main.

Cette documentation se limite à Docker. Pour plus d'informations sur le serveur mail en général, voir [la documentation sur le Wiki](https://wiki.picasoft.net/doku.php?id=technique:mail:start).

### Construction des images

Deux images sont nécessaires pour le serveur mail : le MTA et le MDA.
Les deux Dockerfile sont présents dans les dossier [pica-mail-mda](./pica-mail-mda) et [pica-mail-mta](./pica-mail-mta).
Pour plus de facilité, Docker Compose sait construire ces images simultanément : il suffit de lancer

```bash
docker-compose build
```

Puis de les pousser sur le registre de production :

```bash
docker-compose push
```

### Configuration

La configuration se fait essentiellement via les variables d'environnement de [Compose](./docker-compose.yml).
Deux dossiers supplémentaires doivent exister :

* `/DATA/docker/mail/opendkim`, dont le contenu sera peuplé [comme indiqué dans la documentation](https://wiki.picasoft.net/doku.php?id=technique:mail:dkim).
* `/DATA/docker/certs/mail.picasoft.net`, qui doit contenir les certificats SSL du serveur mail. Ils sont gérés par [TLS Certs Monitor](../pica-tls-certs-monitor).

### Lancement

Copier `mail.secrets.example` dans `mail.secrets` et remplacer les valeurs. Le mot de passe LDAP du compte `mail` est sur le [pass](https://gitlab.utc.fr/picasoft/interne/pass).

S'assurer que [TLS Certs Monitor](../pica-tls-certs-monitor) est lancé.

Lancer :
```bash
docker-compose up -d
```

### Mise à jour

Il suffit de mettre à jour les Dockerfile et les tags dans le [fichier Compose](./docker-compose.yml). Il sera alors de bon ton de créer un fichier `CHANGELOG.md` pour expliquer les changements et d'ajouter un tag aux images pour faire la différence.

En cas de modification de la configuration, pas besoin de changer le tag.