Self-host your own digital island

add DKIM record to bind zonefile

Changed files
+5 -7
modules
services
dns
-7
modules/mailserver.nix
···
data = ''"v=spf1 a:mail.${config.networking.domain} -all"'';
}
{
-
name = "mail._domainkey";
-
ttl = 10800;
-
type = "TXT";
-
data = ''
-
"v=DKIM1; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC6YmYYvoFF7VqtGcozpVQa78aaGgZdvc5ZIHqzmkKdCBEyDF2FRbCEK4s2AlC8hhc8O4mSSe3S4AzEhlRgHXbU22GBaUZ3s2WHS8JJwZvWeTjsbXQwjN/U7xpkqXPHLH9IVfOJbHlp4HQmCAXw4NaypgkkxIGK0jaZHm2j6/1izQIDAQAB"'';
-
}
-
{
name = "_dmarc";
ttl = 10800;
type = "TXT";
+5
modules/services/dns/bind.nix
···
in builtins.mapAttrs mapZones cfg.zones;
};
+
users.users = {
+
named.extraGroups = [ config.services.opendkim.group ];
+
};
+
### bind prestart copy zonefiles
systemd.services.bind.preStart = let
ops = let
···
in ''
if ! diff ${zonefile} ${path} > /dev/null; then
cp ${zonefile} ${path}
+
cat ${config.mailserver.dkimKeyDirectory}/*.txt >> ${path}
# remove journal file to avoid 'journal out of sync with zone'
# NB this will reset dynamic updates
rm -f ${path}.signed.jnl