From d67fd673b494c18e8b8a82e013c2a8733ed6837e Mon Sep 17 00:00:00 2001
From: David Beniamine <david.beniamine@tetras-libre.fr>
Date: Wed, 1 Dec 2021 12:18:39 +0100
Subject: [PATCH] Config and log file mounts

---
 Readme.md                 | 23 +++++++++++++++++++++--
 docker-compose.yml        |  6 ++++--
 docker/postfix/Dockerfile |  2 ++
 docker/sympa/Dockerfile   |  4 +---
 4 files changed, 28 insertions(+), 7 deletions(-)

diff --git a/Readme.md b/Readme.md
index 59798ab..7d22912 100644
--- a/Readme.md
+++ b/Readme.md
@@ -62,7 +62,26 @@ Example of a `sympa_transport` file, for each domain you have Sympa providing ma
 
 In this example, the variables `SYMPA_DOMAIN` and `POSTFIX_VIRTUAL_DOMAINS` should be `example.com`
 
-## Configuration
+## Volumes and configurations
 
 
-You can add and modify files in `etc` directory, do not forget to restart the container afterwards
+### 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          |
diff --git a/docker-compose.yml b/docker-compose.yml
index e30286d..ab78c85 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -5,7 +5,8 @@ services:
     build: ./docker/sympa
     restart: always
     volumes:
-      - "./sympa:/etc/sympa"
+      - "./sympa/sympa:/etc/sympa"
+      - "./sympa/syslog:/etc/syslog.d/"
       - "spool_sympa:/var/spool/sympa"
       - "spool_nullmailer:/var/spool/nullmailer"
       - "lib_sympa:/var/lib/sympa"
@@ -34,7 +35,8 @@ services:
   postfix:
     build: ./docker/postfix
     volumes:
-      - "./sympa/shared:/etc/sympa/shared"
+      - "./sympa/sympa/shared:/etc/sympa/shared"
+      - "./postfix/rsyslog:/etc/rsyslog.d1/"
       - "./log/postfix:/var/log/postfix"
       - "spool_postfix:/var/spool/postfix"
     networks:
diff --git a/docker/postfix/Dockerfile b/docker/postfix/Dockerfile
index cce82f4..e7ee4d7 100644
--- a/docker/postfix/Dockerfile
+++ b/docker/postfix/Dockerfile
@@ -9,4 +9,6 @@ RUN apt-get update -q -q && \
  cp /etc/postfix/main.cf /etc/postfix/main.cf.orig && \
  cp /etc/postfix/master.cf /etc/postfix/master.cf.orig
 
+ RUN echo '$IncludeConfig /etc/rsyslog.d1/*.conf' >> /etc/rsyslog.conf1
+
 COPY ./etc /etc
diff --git a/docker/sympa/Dockerfile b/docker/sympa/Dockerfile
index 9223898..b9e3c3d 100644
--- a/docker/sympa/Dockerfile
+++ b/docker/sympa/Dockerfile
@@ -2,9 +2,7 @@ FROM debian:buster
 
 ENV DEBIAN_FRONTEND noninteractive
 
-RUN apt-get -y update && apt-get -y upgrade
-
-RUN  apt-get -y install \
+RUN apt-get -y update && apt-get -y upgrade && apt-get -y install \
 	apache2 \
 	inetutils-syslogd \
 	libapache2-mod-fcgid \
-- 
GitLab