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
|
||||
# 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
|
||||
sed -e "s/{{MYVEMAIL_POSTFIXADMIN_DBNAME}}/${MYVEMAIL_POSTFIXADMIN_DBNAME}/" \
|
||||
|
|
|
|||
|
|
@ -165,35 +165,97 @@ newaliases
|
|||
#// Dovecot
|
||||
#//
|
||||
###############
|
||||
rm -r /etc/dovecot/ /etc/ssl/dovecot/
|
||||
mkdir -p /etc/dovecot/ /etc/ssl/dovecot/
|
||||
|
||||
# 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
|
||||
auth_username_format = %Lu
|
||||
auth_mechanisms = plain login
|
||||
auth_default_realm = {{MYVEMAIL_DOMAIN}}
|
||||
|
||||
auth_debug = 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
|
||||
tee -a /etc/dovecot/dovecot-sql.conf.ext >/dev/null <<- 'dovecot'
|
||||
|
||||
# Virtual mailboxes
|
||||
cat >/etc/dovecot/dovecot-sql.conf.ext <<- 'dovecot'
|
||||
driver = mysql
|
||||
connect = host=localhost dbname={{MYVEMAIL_POSTFIXADMIN_DBNAME}} user={{MYVEMAIL_POSTFIXADMIN_DBUSER}} password={{MYVEMAIL_POSTFIXADMIN_DBPASS}}
|
||||
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
|
||||
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
|
||||
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_cert = </etc/ssl/dovecot/tls.pem
|
||||
ssl_key = </etc/ssl/dovecot/tls.key
|
||||
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
|
||||
install -m 0640 /dev/stdin /etc/postfix/sql/virtual_domains_maps.cf <<- eof
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue