diff --git a/data/Dockerfiles/dovecot/docker-entrypoint.sh b/data/Dockerfiles/dovecot/docker-entrypoint.sh index c9f0ea30..25286e8b 100755 --- a/data/Dockerfiles/dovecot/docker-entrypoint.sh +++ b/data/Dockerfiles/dovecot/docker-entrypoint.sh @@ -34,6 +34,7 @@ DBPASS=$(echo ${DBPASS} | sed 's/"/\\"/g') # Create quota dict for Dovecot cat < /usr/local/etc/dovecot/sql/dovecot-dict-sql-quota.conf +# Autogenerated by mailcow connect = "host=/var/run/mysqld/mysqld.sock dbname=${DBNAME} user=${DBUSER} password=${DBPASS}" map { pattern = priv/quota/storage @@ -51,6 +52,7 @@ EOF # Create dict used for sieve pre and postfilters cat < /usr/local/etc/dovecot/sql/dovecot-dict-sql-sieve_before.conf +# Autogenerated by mailcow connect = "host=/var/run/mysqld/mysqld.sock dbname=${DBNAME} user=${DBUSER} password=${DBPASS}" map { pattern = priv/sieve/name/\$script_name @@ -73,6 +75,7 @@ map { EOF cat < /usr/local/etc/dovecot/sql/dovecot-dict-sql-sieve_after.conf +# Autogenerated by mailcow connect = "host=/var/run/mysqld/mysqld.sock dbname=${DBNAME} user=${DBUSER} password=${DBPASS}" map { pattern = priv/sieve/name/\$script_name @@ -108,6 +111,7 @@ fi chmod 644 /usr/local/etc/dovecot/mail_plugins /usr/local/etc/dovecot/mail_plugins_imap /usr/local/etc/dovecot/mail_plugins_lmtp /templates/quarantine.tpl cat < /usr/local/etc/dovecot/sql/dovecot-dict-sql-userdb.conf +# Autogenerated by mailcow driver = mysql connect = "host=/var/run/mysqld/mysqld.sock dbname=${DBNAME} user=${DBUSER} password=${DBPASS}" user_query = SELECT CONCAT(JSON_UNQUOTE(JSON_EXTRACT(attributes, '$.mailbox_format')), mailbox_path_prefix, '%d/%n/${MAILDIR_SUB}:VOLATILEDIR=/var/volatile/%u') AS mail, 5000 AS uid, 5000 AS gid, concat('*:bytes=', quota) AS quota_rule FROM mailbox WHERE username = '%u' AND active = '1' @@ -116,6 +120,7 @@ EOF # Create pass dict for Dovecot cat < /usr/local/etc/dovecot/sql/dovecot-dict-sql-passdb.conf +# Autogenerated by mailcow driver = mysql connect = "host=/var/run/mysqld/mysqld.sock dbname=${DBNAME} user=${DBUSER} password=${DBPASS}" default_pass_scheme = SSHA256 @@ -152,7 +157,7 @@ else MAILDIR_SUB_SHARED=/${MAILDIR_SUB} fi cat < /usr/local/etc/dovecot/shared_namespace.conf -# Auto-generated file +# Autogenerated by mailcow namespace { type = shared separator = / @@ -168,6 +173,7 @@ if [[ "${ALLOW_ADMIN_EMAIL_LOGIN}" =~ ^([yY][eE][sS]|[yY])+$ ]]; then RAND_PASS=$(cat /dev/urandom | tr -dc 'a-z0-9' | fold -w 32 | head -n 1) echo -n ${RAND_PASS} > /etc/phpfpm/sogo-sso.pass cat < /usr/local/etc/dovecot/sogo-sso.conf +# Autogenerated by mailcow passdb { driver = static args = allow_real_nets=${IPV4_NETWORK}.248/32 password={plain}${RAND_PASS} diff --git a/data/Dockerfiles/postfix/postfix.sh b/data/Dockerfiles/postfix/postfix.sh index ebb7b6ba..518dca83 100755 --- a/data/Dockerfiles/postfix/postfix.sh +++ b/data/Dockerfiles/postfix/postfix.sh @@ -5,6 +5,7 @@ trap "postfix stop" EXIT [[ ! -d /opt/postfix/conf/sql/ ]] && mkdir -p /opt/postfix/conf/sql/ cat < /etc/aliases +# Autogenerated by mailcow null: /dev/null ham: "|/usr/local/bin/rspamd-pipe-ham" spam: "|/usr/local/bin/rspamd-pipe-spam" @@ -12,6 +13,7 @@ EOF newaliases; cat < /opt/postfix/conf/sql/mysql_relay_recipient_maps.cf +# Autogenerated by mailcow user = ${DBUSER} password = ${DBPASS} hosts = unix:/var/run/mysqld/mysqld.sock @@ -30,6 +32,7 @@ query = SELECT DISTINCT EOF cat < /opt/postfix/conf/sql/mysql_tls_policy_override_maps.cf +# Autogenerated by mailcow user = ${DBUSER} password = ${DBPASS} hosts = unix:/var/run/mysqld/mysqld.sock @@ -38,6 +41,7 @@ query = SELECT CONCAT(policy, ' ', parameters) AS tls_policy FROM tls_policy_ove EOF cat < /opt/postfix/conf/sql/mysql_tls_enforce_in_policy.cf +# Autogenerated by mailcow user = ${DBUSER} password = ${DBPASS} hosts = unix:/var/run/mysqld/mysqld.sock @@ -55,6 +59,7 @@ query = SELECT IF(EXISTS( EOF cat < /opt/postfix/conf/sql/mysql_sender_dependent_default_transport_maps.cf +# Autogenerated by mailcow user = ${DBUSER} password = ${DBPASS} hosts = unix:/var/run/mysqld/mysqld.sock @@ -86,6 +91,7 @@ query = SELECT GROUP_CONCAT(transport SEPARATOR '') AS transport_maps EOF cat < /opt/postfix/conf/sql/mysql_transport_maps.cf +# Autogenerated by mailcow user = ${DBUSER} password = ${DBPASS} hosts = unix:/var/run/mysqld/mysqld.sock @@ -96,6 +102,7 @@ query = SELECT CONCAT('smtp_via_transport_maps:', nexthop) AS transport FROM tra EOF cat < /opt/postfix/conf/sql/mysql_virtual_resource_maps.cf +# Autogenerated by mailcow user = ${DBUSER} password = ${DBPASS} hosts = unix:/var/run/mysqld/mysqld.sock @@ -105,6 +112,7 @@ query = SELECT 'null@localhost' FROM mailbox EOF cat < /opt/postfix/conf/sql/mysql_sasl_passwd_maps_sender_dependent.cf +# Autogenerated by mailcow user = ${DBUSER} password = ${DBPASS} hosts = unix:/var/run/mysqld/mysqld.sock @@ -122,6 +130,7 @@ query = SELECT CONCAT_WS(':', username, password) AS auth_data FROM relayhosts EOF cat < /opt/postfix/conf/sql/mysql_sasl_passwd_maps_transport_maps.cf +# Autogenerated by mailcow user = ${DBUSER} password = ${DBPASS} hosts = unix:/var/run/mysqld/mysqld.sock @@ -134,6 +143,7 @@ query = SELECT CONCAT_WS(':', username, password) AS auth_data FROM transports EOF cat < /opt/postfix/conf/sql/mysql_virtual_alias_domain_catchall_maps.cf +# Autogenerated by mailcow user = ${DBUSER} password = ${DBPASS} hosts = unix:/var/run/mysqld/mysqld.sock @@ -145,6 +155,7 @@ query = SELECT goto FROM alias, alias_domain EOF cat < /opt/postfix/conf/sql/mysql_virtual_alias_domain_maps.cf +# Autogenerated by mailcow user = ${DBUSER} password = ${DBPASS} hosts = unix:/var/run/mysqld/mysqld.sock @@ -157,6 +168,7 @@ query = SELECT username FROM mailbox, alias_domain EOF cat < /opt/postfix/conf/sql/mysql_virtual_alias_maps.cf +# Autogenerated by mailcow user = ${DBUSER} password = ${DBPASS} hosts = unix:/var/run/mysqld/mysqld.sock @@ -167,6 +179,7 @@ query = SELECT goto FROM alias EOF cat < /opt/postfix/conf/sql/mysql_recipient_bcc_maps.cf +# Autogenerated by mailcow user = ${DBUSER} password = ${DBPASS} hosts = unix:/var/run/mysqld/mysqld.sock @@ -178,6 +191,7 @@ query = SELECT bcc_dest FROM bcc_maps EOF cat < /opt/postfix/conf/sql/mysql_sender_bcc_maps.cf +# Autogenerated by mailcow user = ${DBUSER} password = ${DBPASS} hosts = unix:/var/run/mysqld/mysqld.sock @@ -189,6 +203,7 @@ query = SELECT bcc_dest FROM bcc_maps EOF cat < /opt/postfix/conf/sql/mysql_recipient_canonical_maps.cf +# Autogenerated by mailcow user = ${DBUSER} password = ${DBPASS} hosts = unix:/var/run/mysqld/mysqld.sock @@ -199,6 +214,7 @@ query = SELECT new_dest FROM recipient_maps EOF cat < /opt/postfix/conf/sql/mysql_virtual_domains_maps.cf +# Autogenerated by mailcow user = ${DBUSER} password = ${DBPASS} hosts = unix:/var/run/mysqld/mysqld.sock @@ -212,6 +228,7 @@ query = SELECT alias_domain from alias_domain WHERE alias_domain='%s' AND active EOF cat < /opt/postfix/conf/sql/mysql_virtual_mailbox_maps.cf +# Autogenerated by mailcow user = ${DBUSER} password = ${DBPASS} hosts = unix:/var/run/mysqld/mysqld.sock @@ -220,6 +237,7 @@ query = SELECT CONCAT(JSON_UNQUOTE(JSON_EXTRACT(attributes, '$.mailbox_format')) EOF cat < /opt/postfix/conf/sql/mysql_virtual_relay_domain_maps.cf +# Autogenerated by mailcow user = ${DBUSER} password = ${DBPASS} hosts = unix:/var/run/mysqld/mysqld.sock @@ -228,6 +246,7 @@ query = SELECT domain FROM domain WHERE domain='%s' AND backupmx = '1' AND activ EOF cat < /opt/postfix/conf/sql/mysql_virtual_sender_acl.cf +# Autogenerated by mailcow user = ${DBUSER} password = ${DBPASS} hosts = unix:/var/run/mysqld/mysqld.sock @@ -269,6 +288,7 @@ query = SELECT goto FROM alias EOF cat < /opt/postfix/conf/sql/mysql_virtual_spamalias_maps.cf +# Autogenerated by mailcow user = ${DBUSER} password = ${DBPASS} hosts = unix:/var/run/mysqld/mysqld.sock diff --git a/data/Dockerfiles/rspamd/docker-entrypoint.sh b/data/Dockerfiles/rspamd/docker-entrypoint.sh index 34cdee09..cb7d0563 100755 --- a/data/Dockerfiles/rspamd/docker-entrypoint.sh +++ b/data/Dockerfiles/rspamd/docker-entrypoint.sh @@ -8,9 +8,9 @@ touch /etc/rspamd/rspamd.conf.local \ chmod 755 /var/lib/rspamd -[[ ! -f /etc/rspamd/override.d/worker-controller-password.inc ]] && echo '# Placeholder' > /etc/rspamd/override.d/worker-controller-password.inc -[[ ! -f /etc/rspamd/custom/sa-rules-heinlein ]] && echo '# to be auto-filled by dovecot-mailcow' > /etc/rspamd/custom/sa-rules-heinlein -[[ ! -f /etc/rspamd/custom/dovecot_trusted.map ]] && echo '# to be auto-filled by dovecot-mailcow' > /etc/rspamd/custom/dovecot_trusted.map +[[ ! -f /etc/rspamd/override.d/worker-controller-password.inc ]] && echo '# Autogenerated by mailcow' > /etc/rspamd/override.d/worker-controller-password.inc +[[ ! -f /etc/rspamd/custom/sa-rules-heinlein ]] && echo '# Autogenerated by mailcow' > /etc/rspamd/custom/sa-rules-heinlein +[[ ! -f /etc/rspamd/custom/dovecot_trusted.map ]] && echo '# Autogenerated by mailcow' > /etc/rspamd/custom/dovecot_trusted.map DOVECOT_V4= DOVECOT_V6=