docker-entrypoint.sh 978 B

12345678910111213141516171819202122
  1. #!/bin/bash
  2. set -e
  3. # Set config parameters, escape " in db password
  4. DBPASS=$(echo ${DBPASS} | sed 's/"/\\"/g')
  5. sed -i "/^connect/c\connect = \"host=mysql dbname=${DBNAME} user=${DBUSER} password=${DBPASS}\"" /etc/dovecot/sql/*
  6. [[ ! -d /var/vmail/sieve ]] && mkdir -p /var/vmail/sieve
  7. cat /etc/dovecot/sieve_after > /var/vmail/sieve/global.sieve
  8. sievec /var/vmail/sieve/global.sieve
  9. chown -R vmail:vmail /var/vmail/sieve
  10. # Do not do this every start-up, it may take a very long time. So we use a stat check here.
  11. if [[ $(stat -c %U /var/vmail/) != "vmail" ]] ; then chown -R vmail:vmail /var/vmail ; fi
  12. # Create random master for SOGo sieve features
  13. RAND_USER=$(cat /dev/urandom | tr -dc 'a-z0-9' | fold -w 16 | head -n 1)
  14. RAND_PASS=$(cat /dev/urandom | tr -dc 'a-z0-9' | fold -w 24 | head -n 1)
  15. echo ${RAND_USER}:$(doveadm pw -s SHA1 -p ${RAND_PASS}) > /etc/dovecot/dovecot-master.passwd
  16. [ -d /etc/sogo ] && echo ${RAND_USER}:${RAND_PASS} > /etc/sogo/sieve.creds
  17. exec "$@"