feat: changes for macher.solutions
This commit is contained in:
parent
856761d407
commit
8c5aac0f07
4 changed files with 139 additions and 3 deletions
|
|
@ -27,6 +27,27 @@ let
|
|||
default_pass_scheme = CRYPT
|
||||
'';
|
||||
|
||||
ldapConfigFallback = pkgs.writeText "dovecot-ldap-fallback.conf" ''
|
||||
hosts = ldap.cloonar.com
|
||||
tls = yes
|
||||
dn = "cn=vmail,ou=system,ou=users,dc=cloonar,dc=com"
|
||||
dnpass = "@ldap-password@"
|
||||
auth_bind = no
|
||||
ldap_version = 3
|
||||
base = ou=users,dc=cloonar,dc=com
|
||||
user_filter = (&(objectClass=mailAccount)(mail=%u)(!(mailSendOnly=TRUE)))
|
||||
user_attrs = \
|
||||
quota=quota_rule=*:bytes=%$, \
|
||||
=home=/var/vmail/%d/%n/, \
|
||||
=mail=maildir:/var/vmail/%d/%n/Maildir
|
||||
pass_attrs = mail=user,userPassword=password
|
||||
pass_filter = (&(objectClass=mailAccount)(mail=%u))
|
||||
iterate_attrs = =user=%{ldap:mail}
|
||||
iterate_filter = (objectClass=mailAccount)
|
||||
scope = subtree
|
||||
default_pass_scheme = CRYPT
|
||||
'';
|
||||
|
||||
doveSync = pkgs.writeShellScriptBin "dove-sync.sh" ''
|
||||
#!/usr/bin/env bash
|
||||
SERVER=''${1}
|
||||
|
|
@ -59,6 +80,10 @@ let
|
|||
doveadm user *@docfast.dev | while read user; do
|
||||
doveadm -v sync -u $user $SERVER
|
||||
done
|
||||
|
||||
doveadm user *@macher.solutions | while read user; do
|
||||
doveadm -v sync -u $user $SERVER
|
||||
done
|
||||
'';
|
||||
|
||||
quotaWarning = pkgs.writeShellScriptBin "quota-warning.sh" ''
|
||||
|
|
@ -157,6 +182,14 @@ in
|
|||
args = /run/dovecot2/ldap.conf
|
||||
driver = ldap
|
||||
}
|
||||
userdb {
|
||||
args = /run/dovecot2/ldap-fallback.conf
|
||||
driver = ldap
|
||||
}
|
||||
passdb {
|
||||
args = /run/dovecot2/ldap-fallback.conf
|
||||
driver = ldap
|
||||
}
|
||||
|
||||
service imap-login {
|
||||
client_limit = 1000
|
||||
|
|
@ -247,6 +280,7 @@ in
|
|||
|
||||
systemd.services.dovecot.preStart = ''
|
||||
sed -e "s/@ldap-password@/$(cat ${config.sops.secrets.dovecot-ldap-password.path})/" ${ldapConfig} > /run/dovecot2/ldap.conf
|
||||
sed -e "s/@ldap-password@/$(cat ${config.sops.secrets.dovecot-ldap-password.path})/" ${ldapConfigFallback} > /run/dovecot2/ldap-fallback.conf
|
||||
'';
|
||||
|
||||
systemd.services.dovecot = {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue