set Dovecot config files before starting it

This commit is contained in:
Luke 2017-07-06 01:42:41 -07:00 committed by Johan Smits
parent fb825a0fca
commit 1fad2875a0
2 changed files with 17 additions and 5 deletions

View File

@ -32,7 +32,7 @@ run:
-e SASL_PASSWD="external-domain.com username:password" \ -e SASL_PASSWD="external-domain.com username:password" \
-e ENABLE_MANAGESIEVE=1 \ -e ENABLE_MANAGESIEVE=1 \
-e PERMIT_DOCKER=host \ -e PERMIT_DOCKER=host \
-e DMS_DEBUG=0 \ -e DMS_DEBUG=1 \
-h mail.my-domain.com -t $(NAME) -h mail.my-domain.com -t $(NAME)
sleep 15 sleep 15
docker run -d --name mail_pop3 \ docker run -d --name mail_pop3 \
@ -49,6 +49,7 @@ run:
-v "`pwd`/test":/tmp/docker-mailserver-test \ -v "`pwd`/test":/tmp/docker-mailserver-test \
-e SMTP_ONLY=1 \ -e SMTP_ONLY=1 \
-e PERMIT_DOCKER=network \ -e PERMIT_DOCKER=network \
-e DMS_DEBUG=1 \
-e OVERRIDE_HOSTNAME=mail.my-domain.com \ -e OVERRIDE_HOSTNAME=mail.my-domain.com \
-t $(NAME) -t $(NAME)
sleep 15 sleep 15
@ -63,6 +64,7 @@ run:
-v "`pwd`/test/config":/tmp/docker-mailserver \ -v "`pwd`/test/config":/tmp/docker-mailserver \
-v "`pwd`/test":/tmp/docker-mailserver-test \ -v "`pwd`/test":/tmp/docker-mailserver-test \
-e PERMIT_DOCKER=network \ -e PERMIT_DOCKER=network \
-e DMS_DEBUG=1 \
-e OVERRIDE_HOSTNAME=mail.my-domain.com \ -e OVERRIDE_HOSTNAME=mail.my-domain.com \
-h mail.my-domain.com \ -h mail.my-domain.com \
-t $(NAME) -t $(NAME)
@ -79,6 +81,7 @@ run:
-v "`pwd`/test":/tmp/docker-mailserver-test \ -v "`pwd`/test":/tmp/docker-mailserver-test \
-e ENABLE_FETCHMAIL=1 \ -e ENABLE_FETCHMAIL=1 \
--cap-add=NET_ADMIN \ --cap-add=NET_ADMIN \
-e DMS_DEBUG=1 \
-h mail.my-domain.com -t $(NAME) -h mail.my-domain.com -t $(NAME)
sleep 15 sleep 15
docker run -d --name mail_disabled_clamav_spamassassin \ docker run -d --name mail_disabled_clamav_spamassassin \
@ -86,6 +89,7 @@ run:
-v "`pwd`/test":/tmp/docker-mailserver-test \ -v "`pwd`/test":/tmp/docker-mailserver-test \
-e ENABLE_CLAMAV=0 \ -e ENABLE_CLAMAV=0 \
-e ENABLE_SPAMASSASSIN=0 \ -e ENABLE_SPAMASSASSIN=0 \
-e DMS_DEBUG=1 \
-h mail.my-domain.com -t $(NAME) -h mail.my-domain.com -t $(NAME)
sleep 15 sleep 15
docker run -d --name mail_manual_ssl \ docker run -d --name mail_manual_ssl \
@ -94,6 +98,7 @@ run:
-e SSL_TYPE=manual \ -e SSL_TYPE=manual \
-e SSL_CERT_PATH=/tmp/docker-mailserver/letsencrypt/mail.my-domain.com/fullchain.pem \ -e SSL_CERT_PATH=/tmp/docker-mailserver/letsencrypt/mail.my-domain.com/fullchain.pem \
-e SSL_KEY_PATH=/tmp/docker-mailserver/letsencrypt/mail.my-domain.com/privkey.pem \ -e SSL_KEY_PATH=/tmp/docker-mailserver/letsencrypt/mail.my-domain.com/privkey.pem \
-e DMS_DEBUG=1 \
-h mail.my-domain.com -t $(NAME) -h mail.my-domain.com -t $(NAME)
sleep 15 sleep 15
docker run -d --name ldap_for_mail \ docker run -d --name ldap_for_mail \
@ -120,6 +125,7 @@ run:
-e SASLAUTHD_LDAP_PASSWORD=admin \ -e SASLAUTHD_LDAP_PASSWORD=admin \
-e SASLAUTHD_LDAP_SEARCH_BASE=ou=people,dc=localhost,dc=localdomain \ -e SASLAUTHD_LDAP_SEARCH_BASE=ou=people,dc=localhost,dc=localdomain \
-e POSTMASTER_ADDRESS=postmaster@localhost.localdomain \ -e POSTMASTER_ADDRESS=postmaster@localhost.localdomain \
-e DMS_DEBUG=1 \
--link ldap_for_mail:ldap \ --link ldap_for_mail:ldap \
-h mail.my-domain.com -t $(NAME) -h mail.my-domain.com -t $(NAME)
sleep 15 sleep 15
@ -130,6 +136,7 @@ run:
-e SASLAUTHD_MECHANISMS=rimap \ -e SASLAUTHD_MECHANISMS=rimap \
-e SASLAUTHD_MECH_OPTIONS=127.0.0.1 \ -e SASLAUTHD_MECH_OPTIONS=127.0.0.1 \
-e POSTMASTER_ADDRESS=postmaster@localhost.localdomain \ -e POSTMASTER_ADDRESS=postmaster@localhost.localdomain \
-e DMS_DEBUG=1 \
-h mail.my-domain.com -t $(NAME) -h mail.my-domain.com -t $(NAME)
# Wait for containers to fully start # Wait for containers to fully start
sleep 15 sleep 15
@ -139,6 +146,7 @@ run:
-v "`pwd`/test":/tmp/docker-mailserver-test \ -v "`pwd`/test":/tmp/docker-mailserver-test \
-e ENABLE_POSTFIX_VIRTUAL_TRANSPORT=1 \ -e ENABLE_POSTFIX_VIRTUAL_TRANSPORT=1 \
-e POSTFIX_DAGENT=lmtp:127.0.0.1:24 \ -e POSTFIX_DAGENT=lmtp:127.0.0.1:24 \
-e DMS_DEBUG=1 \
-h mail.my-domain.com -t $(NAME) -h mail.my-domain.com -t $(NAME)
sleep 30 sleep 30
docker run -d --name mail_with_postgrey \ docker run -d --name mail_with_postgrey \
@ -148,6 +156,7 @@ run:
-e POSTGREY_DELAY=15 \ -e POSTGREY_DELAY=15 \
-e POSTGREY_MAX_AGE=35 \ -e POSTGREY_MAX_AGE=35 \
-e POSTGREY_TEXT="Delayed by postgrey" \ -e POSTGREY_TEXT="Delayed by postgrey" \
-e DMS_DEBUG=1 \
-h mail.my-domain.com -t $(NAME) -h mail.my-domain.com -t $(NAME)
sleep 20 sleep 20

View File

@ -1164,20 +1164,23 @@ function _start_daemons_postfix() {
function _start_daemons_dovecot() { function _start_daemons_dovecot() {
# Here we are starting sasl and imap, not pop3 because it's disabled by default # Here we are starting sasl and imap, not pop3 because it's disabled by default
notify 'task' 'Starting dovecot services' 'n' notify 'task' 'Starting dovecot services' 'n'
supervisorctl start dovecot
if [ "$ENABLE_POP3" = 1 ]; then if [ "$ENABLE_POP3" = 1 ]; then
notify 'task' 'Starting pop3 services' 'n' notify 'task' 'Starting pop3 services' 'n'
mv /etc/dovecot/protocols.d/pop3d.protocol.disab /etc/dovecot/protocols.d/pop3d.protocol mv /etc/dovecot/protocols.d/pop3d.protocol.disab /etc/dovecot/protocols.d/pop3d.protocol
/usr/sbin/dovecot reload # /usr/sbin/dovecot reload
fi fi
if [ -f /tmp/docker-mailserver/dovecot.cf ]; then if [ -f /tmp/docker-mailserver/dovecot.cf ]; then
cp /tmp/docker-mailserver/dovecot.cf /etc/dovecot/local.conf cp /tmp/docker-mailserver/dovecot.cf /etc/dovecot/local.conf
/usr/sbin/dovecot reload # /usr/sbin/dovecot reload
fi fi
supervisorctl start dovecot
# @TODO fix: on integration test # @TODO fix: on integration test
# doveadm: Error: userdb lookup: connect(/var/run/dovecot/auth-userdb) failed: No such file or directory # doveadm: Error: userdb lookup: connect(/var/run/dovecot/auth-userdb) failed: No such file or directory
# doveadm: Fatal: user listing failed # doveadm: Fatal: user listing failed