rspamd sockets
'';
};
- config.services.backup.profiles.mail.excludeFile = ''
- + /var/lib/rspamd
- '';
- config.services.cron.systemCronJobs = let
- cron_script = pkgs.runCommand "cron_script" {
- buildInputs = [ pkgs.makeWrapper ];
- } ''
- mkdir -p $out
- cp ${./scan_reported_mails} $out/scan_reported_mails
- patchShebangs $out
- for i in $out/*; do
- wrapProgram "$i" --prefix PATH : ${lib.makeBinPath [ pkgs.coreutils pkgs.rspamd pkgs.flock ]}
- done
+ config = lib.mkIf config.myServices.mail.enable {
+ services.duplyBackup.profiles.mail.excludeFile = ''
+ + /var/lib/rspamd
'';
- in
- [ "*/20 * * * * vhost ${cron_script}/scan_reported_mails" ];
-
- config.services.rspamd = {
- enable = true;
- debug = true;
- overrides = {
- "actions.conf".text = ''
- reject = null;
- add_header = 6;
- greylist = null;
+ services.cron.systemCronJobs = let
+ cron_script = pkgs.runCommand "cron_script" {
+ buildInputs = [ pkgs.makeWrapper ];
+ } ''
+ mkdir -p $out
+ cp ${./scan_reported_mails} $out/scan_reported_mails
+ patchShebangs $out
+ for i in $out/*; do
+ wrapProgram "$i" --prefix PATH : ${lib.makeBinPath [ pkgs.coreutils pkgs.rspamd pkgs.flock ]}
+ done
'';
- "milter_headers.conf".text = ''
- extended_spam_headers = true;
- '';
- };
- locals = {
- "redis.conf".text = ''
- servers = "${myconfig.env.mail.rspamd.redis.socket}";
- db = "${myconfig.env.mail.rspamd.redis.db}";
+ in
+ [ "*/20 * * * * vhost ${cron_script}/scan_reported_mails" ];
+
+ services.rspamd = {
+ enable = true;
+ debug = true;
+ overrides = {
+ "actions.conf".text = ''
+ reject = null;
+ add_header = 6;
+ greylist = null;
+ '';
+ "milter_headers.conf".text = ''
+ extended_spam_headers = true;
'';
- "classifier-bayes.conf".text = ''
- users_enabled = true;
- backend = "redis";
- servers = "${myconfig.env.mail.rspamd.redis.socket}";
- database = "${myconfig.env.mail.rspamd.redis.db}";
- autolearn = true;
- cache {
+ };
+ locals = {
+ "redis.conf".text = ''
+ servers = "${myconfig.env.mail.rspamd.redis.socket}";
+ db = "${myconfig.env.mail.rspamd.redis.db}";
+ '';
+ "classifier-bayes.conf".text = ''
+ users_enabled = true;
backend = "redis";
- }
- new_schema = true;
- statfile {
- BAYES_HAM {
- spam = false;
+ servers = "${myconfig.env.mail.rspamd.redis.socket}";
+ database = "${myconfig.env.mail.rspamd.redis.db}";
+ autolearn = true;
+ cache {
+ backend = "redis";
}
- BAYES_SPAM {
- spam = true;
+ new_schema = true;
+ statfile {
+ BAYES_HAM {
+ spam = false;
+ }
+ BAYES_SPAM {
+ spam = true;
+ }
}
- }
- '';
- };
- workers = {
- controller = {
- extraConfig = ''
- enable_password = "${myconfig.env.mail.rspamd.write_password_hashed}";
- password = "${myconfig.env.mail.rspamd.read_password_hashed}";
- '';
- bindSockets = [ {
- socket = config.myServices.mail.rspamd.sockets.worker-controller;
- mode = "0660";
- owner = config.services.rspamd.user;
- group = "vhost";
- } ];
+ '';
+ };
+ workers = {
+ controller = {
+ extraConfig = ''
+ enable_password = "${myconfig.env.mail.rspamd.write_password_hashed}";
+ password = "${myconfig.env.mail.rspamd.read_password_hashed}";
+ '';
+ bindSockets = [ {
+ socket = config.myServices.mail.rspamd.sockets.worker-controller;
+ mode = "0660";
+ owner = config.services.rspamd.user;
+ group = "vhost";
+ } ];
+ };
+ };
+ postfix = {
+ enable = true;
+ config = {};
};
- };
- postfix = {
- enable = true;
- config = {};
};
};
}