diff --git a/.gitignore b/.gitignore index 37cbdd4e..324b2201 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ __pycache__ /admin/include pip-selfcheck.json /data +/docker-compose.mac.yml diff --git a/docker-compose.yml b/docker-compose.yml index 9a3a9cb0..bc99b5e9 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -47,6 +47,7 @@ services: volumes: - /freeposte/freeposte:/data - /freeposte/certs:/certs + - /freeposte/overrides:/overrides milter: build: rmilter diff --git a/postfix/conf/main.cf b/postfix/conf/main.cf index 97ac8b13..6cbeca97 100644 --- a/postfix/conf/main.cf +++ b/postfix/conf/main.cf @@ -48,4 +48,8 @@ lmtp_host_lookup = native smtpd_milters = inet:milter:9900 milter_protocol = 6 milter_mail_macros = i {mail_addr} {client_addr} {client_name} {auth_authen} -milter_default_action = tempfail \ No newline at end of file +milter_default_action = tempfail + +############### +# Extra Settings +############### diff --git a/postfix/start.sh b/postfix/start.sh index 7891be74..c0931433 100755 --- a/postfix/start.sh +++ b/postfix/start.sh @@ -5,6 +5,28 @@ for VARIABLE in `env | cut -f1 -d=`; do sed -i "s={{ $VARIABLE }}=${!VARIABLE}=g" /etc/postfix/*.cf done +# Override Postfix configuration +if [ -f /overrides/postfix.cf ]; then + while read line; do + postconf -e "$line" + done < /overrides/postfix.cf + echo "Loaded '/overrides/postfix.cf'" +else + echo "No extra postfix settings loaded because optional '/overrides/postfix.cf' not provided." +fi + +# Include table-map files +if ls -A /overrides/*.map 1> /dev/null 2>&1; then + cp /overrides/*.map /etc/postfix/ + postmap /etc/postfix/*.map + rm /etc/postfix/*.map + chown root:root /etc/postfix/*.db + chmod 0600 /etc/postfix/*.db + echo "Loaded 'map files'" +else + echo "No extra map files loaded because optional '/overrides/*.map' not provided." +fi + # Actually run Postfix rm -f /var/run/rsyslogd.pid /usr/lib/postfix/master &