mirror of
https://git.myvelabs.com/docker/myvemail.git
synced 2025-12-17 21:26:19 +00:00
Merge pull request 'dovecot2.3' (#1) from dovecot2.3 into master
Reviewed-on: https://git.myvelabs.com/docker/myvemail/pulls/1
This commit is contained in:
commit
4b374113ce
2 changed files with 83 additions and 77 deletions
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# 10-auth.conf
|
# 10-auth.conf
|
||||||
sed -i "s/{{MYVEMAIL_DOMAIN}}/${MYVEMAIL_DOMAIN}/" /etc/dovecot/conf.d/10-auth.conf
|
sed -i "s/{{MYVEMAIL_DOMAIN}}/${MYVEMAIL_DOMAIN}/" /etc/dovecot/dovecot.conf
|
||||||
|
|
||||||
# dovecot-sql.conf.ext
|
# dovecot-sql.conf.ext
|
||||||
sed -e "s/{{MYVEMAIL_POSTFIXADMIN_DBNAME}}/${MYVEMAIL_POSTFIXADMIN_DBNAME}/" \
|
sed -e "s/{{MYVEMAIL_POSTFIXADMIN_DBNAME}}/${MYVEMAIL_POSTFIXADMIN_DBNAME}/" \
|
||||||
|
|
|
||||||
|
|
@ -165,35 +165,97 @@ newaliases
|
||||||
#// Dovecot
|
#// Dovecot
|
||||||
#//
|
#//
|
||||||
###############
|
###############
|
||||||
|
rm -r /etc/dovecot/ /etc/ssl/dovecot/
|
||||||
|
mkdir -p /etc/dovecot/ /etc/ssl/dovecot/
|
||||||
|
|
||||||
# dovecot.conf
|
# dovecot.conf
|
||||||
tee -a /etc/dovecot/dovecot.conf >/dev/null <<- dovecot.conf
|
cat >/etc/dovecot/dovecot.conf <<- dovecot.conf
|
||||||
|
passdb {
|
||||||
|
driver = sql
|
||||||
|
args = /etc/dovecot/dovecot-sql.conf.ext
|
||||||
|
}
|
||||||
|
userdb {
|
||||||
|
driver = sql
|
||||||
|
args = /etc/dovecot/dovecot-sql.conf.ext
|
||||||
|
}
|
||||||
|
|
||||||
!include_try ssl-keys.conf
|
|
||||||
protocols = imap lmtp
|
|
||||||
dovecot.conf
|
|
||||||
|
|
||||||
# # Logging
|
|
||||||
# echo "log_path = /var/log/dovecot.log" >/etc/dovecot/conf.d/10-logging.conf
|
|
||||||
|
|
||||||
# 10-auth.conf
|
|
||||||
sed '/include auth-sql.conf.ext\|disable_plaintext_auth =\|auth_username_format =\|auth_mechanisms =\|auth_default_realm =\|include auth-system.conf.ext/d' \
|
|
||||||
-i /etc/dovecot/conf.d/10-auth.conf
|
|
||||||
tee -a /etc/dovecot/conf.d/10-auth.conf >/dev/null <<- '10-auth.conf'
|
|
||||||
|
|
||||||
!include auth-sql.conf.ext
|
|
||||||
disable_plaintext_auth = yes
|
disable_plaintext_auth = yes
|
||||||
auth_username_format = %Lu
|
auth_username_format = %Lu
|
||||||
auth_mechanisms = plain login
|
auth_mechanisms = plain login
|
||||||
auth_default_realm = {{MYVEMAIL_DOMAIN}}
|
auth_default_realm = {{MYVEMAIL_DOMAIN}}
|
||||||
|
|
||||||
auth_debug = yes
|
auth_debug = yes
|
||||||
auth_debug_passwords = yes
|
auth_debug_passwords = yes
|
||||||
10-auth.conf
|
|
||||||
|
# mbox_write_locks = fcntl
|
||||||
|
mail_privileged_group = mail
|
||||||
|
mail_location = maildir:~/Maildir
|
||||||
|
mail_home = /var/vmail/%d/%n/
|
||||||
|
|
||||||
|
service lmtp {
|
||||||
|
unix_listener /var/spool/postfix/private/dovecot-lmtp {
|
||||||
|
mode = 0600
|
||||||
|
user = postfix
|
||||||
|
group = postfix
|
||||||
|
}
|
||||||
|
}
|
||||||
|
service auth {
|
||||||
|
unix_listener /var/spool/postfix/private/auth {
|
||||||
|
mode = 0660
|
||||||
|
user = postfix
|
||||||
|
group = postfix
|
||||||
|
}
|
||||||
|
}
|
||||||
|
service stats {
|
||||||
|
unix_listener stats-reader {
|
||||||
|
user = ${MYVEMAIL_NGINX_USERGROUP}
|
||||||
|
group = ${MYVEMAIL_NGINX_USERGROUP}
|
||||||
|
mode = 0660
|
||||||
|
}
|
||||||
|
unix_listener stats-writer {
|
||||||
|
user = ${MYVEMAIL_NGINX_USERGROUP}
|
||||||
|
group = ${MYVEMAIL_NGINX_USERGROUP}
|
||||||
|
mode = 0660
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ssl = required
|
||||||
|
ssl_prefer_server_ciphers = yes
|
||||||
|
ssl_min_protocol = TLSv1.2
|
||||||
|
|
||||||
|
namespace inbox {
|
||||||
|
inbox = yes
|
||||||
|
mailbox Archive {
|
||||||
|
auto = subscribe
|
||||||
|
special_use = \Archive
|
||||||
|
}
|
||||||
|
mailbox Drafts {
|
||||||
|
auto = subscribe
|
||||||
|
special_use = \Drafts
|
||||||
|
}
|
||||||
|
mailbox Junk {
|
||||||
|
auto = subscribe
|
||||||
|
special_use = \Junk
|
||||||
|
}
|
||||||
|
mailbox Trash {
|
||||||
|
auto = subscribe
|
||||||
|
special_use = \Trash
|
||||||
|
}
|
||||||
|
mailbox Sent {
|
||||||
|
auto = subscribe
|
||||||
|
special_use = \Sent
|
||||||
|
}
|
||||||
|
mailbox "Sent Messages" {
|
||||||
|
special_use = \Sent
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protocols = imap lmtp
|
||||||
|
|
||||||
|
!include_try ssl-keys.conf
|
||||||
|
dovecot.conf
|
||||||
|
|
||||||
# dovecot-sql.conf.ext
|
# dovecot-sql.conf.ext
|
||||||
tee -a /etc/dovecot/dovecot-sql.conf.ext >/dev/null <<- 'dovecot'
|
cat >/etc/dovecot/dovecot-sql.conf.ext <<- 'dovecot'
|
||||||
|
|
||||||
# Virtual mailboxes
|
|
||||||
driver = mysql
|
driver = mysql
|
||||||
connect = host=localhost dbname={{MYVEMAIL_POSTFIXADMIN_DBNAME}} user={{MYVEMAIL_POSTFIXADMIN_DBUSER}} password={{MYVEMAIL_POSTFIXADMIN_DBPASS}}
|
connect = host=localhost dbname={{MYVEMAIL_POSTFIXADMIN_DBNAME}} user={{MYVEMAIL_POSTFIXADMIN_DBUSER}} password={{MYVEMAIL_POSTFIXADMIN_DBPASS}}
|
||||||
default_pass_scheme = ARGON2I
|
default_pass_scheme = ARGON2I
|
||||||
|
|
@ -202,68 +264,12 @@ user_query = SELECT maildir, 600 AS uid, 600 AS gid FROM mailbox WHERE username
|
||||||
iterate_query = SELECT username AS user FROM mailbox
|
iterate_query = SELECT username AS user FROM mailbox
|
||||||
dovecot
|
dovecot
|
||||||
|
|
||||||
# 10-mail.conf
|
|
||||||
sed '/mail_location =\|mail_home =\|mail_privileged_group =/d' \
|
|
||||||
-i /etc/dovecot/conf.d/10-mail.conf
|
|
||||||
tee -a /etc/dovecot/conf.d/10-mail.conf >/dev/null <<- '10-mail.conf'
|
|
||||||
|
|
||||||
mail_privileged_group = mail
|
|
||||||
mail_location = maildir:~/Maildir
|
|
||||||
mail_home = /var/vmail/%d/%n/
|
|
||||||
10-mail.conf
|
|
||||||
|
|
||||||
# 10-master.conf
|
|
||||||
sed -e 's|unix_listener lmtp {|unix_listener /var/spool/postfix/private/dovecot-lmtp {\
|
|
||||||
mode = 0600\
|
|
||||||
user = postfix\
|
|
||||||
group = postfix|' \
|
|
||||||
-e 's|unix_listener auth-userdb {|unix_listener /var/spool/postfix/private/auth {\
|
|
||||||
mode = 0660\
|
|
||||||
user = postfix\
|
|
||||||
group = postfix|' \
|
|
||||||
-i /etc/dovecot/conf.d/10-master.conf
|
|
||||||
|
|
||||||
# 10-ssl.conf
|
# 10-ssl.conf
|
||||||
rm -f /etc/ssl/dovecot/*
|
install -m 0600 /dev/stdin /etc/dovecot/ssl-keys.conf <<- 'ssl-keys.conf'
|
||||||
install -m 0600 /dev/stdin /etc/dovecot/ssl-keys.conf <<- ssl-keys.conf
|
|
||||||
ssl_dh = </etc/ssl/dovecot/dh.pem
|
ssl_dh = </etc/ssl/dovecot/dh.pem
|
||||||
ssl_cert = </etc/ssl/dovecot/tls.pem
|
ssl_cert = </etc/ssl/dovecot/tls.pem
|
||||||
ssl_key = </etc/ssl/dovecot/tls.key
|
ssl_key = </etc/ssl/dovecot/tls.key
|
||||||
ssl-keys.conf
|
ssl-keys.conf
|
||||||
sed '/ssl_dh =\|ssl_cert =\|ssl_key\|ssl =\|ssl_prefer_server_ciphers =\|ssl_min_protocol =/d' -i /etc/dovecot/conf.d/10-ssl.conf
|
|
||||||
tee -a /etc/dovecot/conf.d/10-ssl.conf >/dev/null <<- '10-ssl.conf'
|
|
||||||
|
|
||||||
ssl = required
|
|
||||||
ssl_prefer_server_ciphers = yes
|
|
||||||
ssl_min_protocol = TLSv1.2
|
|
||||||
10-ssl.conf
|
|
||||||
|
|
||||||
# Stats service
|
|
||||||
tee -a /etc/dovecot/conf.d/10-master.conf >/dev/null <<- 10-master.conf
|
|
||||||
|
|
||||||
service stats {
|
|
||||||
unix_listener stats-reader {
|
|
||||||
user = ${MYVEMAIL_NGINX_USERGROUP}
|
|
||||||
group = ${MYVEMAIL_NGINX_USERGROUP}
|
|
||||||
mode = 0660
|
|
||||||
}
|
|
||||||
|
|
||||||
unix_listener stats-writer {
|
|
||||||
user = ${MYVEMAIL_NGINX_USERGROUP}
|
|
||||||
group = ${MYVEMAIL_NGINX_USERGROUP}
|
|
||||||
mode = 0660
|
|
||||||
}
|
|
||||||
}
|
|
||||||
10-master.conf
|
|
||||||
|
|
||||||
# Mailboxes
|
|
||||||
sed -i 's/namespace inbox {/&\
|
|
||||||
# Archive folder\
|
|
||||||
mailbox Archive {\
|
|
||||||
special_use = \\Archive\
|
|
||||||
}/' /etc/dovecot/conf.d/15-mailboxes.conf
|
|
||||||
sed -i '/Sent Messages/! s/^ mailbox.*{/&\
|
|
||||||
auto = subscribe/' /etc/dovecot/conf.d/15-mailboxes.conf
|
|
||||||
|
|
||||||
# Virtual mailboxes
|
# Virtual mailboxes
|
||||||
install -m 0640 /dev/stdin /etc/postfix/sql/virtual_domains_maps.cf <<- eof
|
install -m 0640 /dev/stdin /etc/postfix/sql/virtual_domains_maps.cf <<- eof
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue