Move to Docker Compose and multiple containers

This commit is contained in:
Pierre Jaury
2016-02-24 07:44:49 +01:00
parent caab793716
commit d0006dc624
33 changed files with 260 additions and 175 deletions

5
dovecot/conf/after.sieve Normal file
View File

@@ -0,0 +1,5 @@
require ["fileinto", "envelope", "mailbox"];
if header :contains "X-Spam-Flag" "YES" {
fileinto :create "Junk";
}

View File

View File

@@ -0,0 +1,16 @@
driver = sqlite
connect = /data/freeposte.db
# Return the user hashed password
password_query = \
SELECT password \
FROM user INNER JOIN domain ON user.domain_id = domain.id \
WHERE domain.name = '%d' \
AND user.username = '%n'
# Mostly get the user quota
user_query = \
SELECT '*:bytes=' || user.quota_bytes AS quota_rule \
FROM user INNER JOIN domain ON user.domain_id = domain.id \
WHERE domain.name = '%d' \
AND user.username = '%n'

143
dovecot/conf/dovecot.conf Normal file
View File

@@ -0,0 +1,143 @@
###############
# General
###############
log_path = /dev/stderr
protocols = imap lmtp sieve
postmaster_address = %{env:POSTMASTER_ADDRESS}
hostname = %{env:MAIL_HOSTNAME}
mail_plugins = $mail_plugins quota
service dict {
unix_listener dict {
group = mail
mode = 0660
}
}
###############
# Mailboxes
###############
first_valid_gid = 8
first_valid_uid = 8
mail_location = maildir:/mail/%u
mail_home = /mail/%u
mail_uid = mail
mail_gid = mail
mail_privileged_group = mail
mail_access_groups = mail
namespace inbox {
inbox = yes
mailbox Trash {
auto = subscribe
special_use = \Trash
}
mailbox Drafts {
auto = subscribe
special_use = \Drafts
}
mailbox Sent {
auto = subscribe
special_use = \Sent
}
mailbox Junk {
auto = subscribe
special_use = \Junk
}
}
###############
# TLS
###############
ssl = yes
ssl_cert = </certs/cert.pem
ssl_key = </certs/key.pem
###############
# Authentication
###############
auth_mechanisms = plain login
passdb {
driver = sql
args = /etc/dovecot/dovecot-sql.conf.ext
}
userdb {
driver = sql
args = /etc/dovecot/dovecot-sql.conf.ext
}
service auth {
user = dovecot
unix_listener auth-userdb {
}
inet_listener {
port = 2102
}
}
service auth-worker {
unix_listener auth-worker {
user = mail
group = $default_internal_user
mode = 0660
}
user = mail
}
###############
# IMAP
###############
protocol imap {
mail_plugins = $mail_plugins imap_quota
}
service imap-login {
inet_listener imap {
port = 143
}
inet_listener imaps {
port = 993
}
}
###############
# Delivery
###############
protocol lmtp {
mail_plugins = $mail_plugins sieve
recipient_delimiter = +
}
service lmtp {
inet_listener lmtp {
port = 2525
}
}
plugin {
quota = maildir:User quota
}
###############
# Filtering
###############
service managesieve-login {
inet_listener sieve {
port = 4190
}
}
plugin {
sieve = ~/.sieve
sieve_dir = ~/sieve
sieve_before = /var/lib/dovecot/before.sieve
sieve_default = /var/lib/dovecot/default.sieve
sieve_after = /var/lib/dovecot/after.sieve
}