summary refs log tree commit diff stats
path: root/modules/mailserver.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/mailserver.nix')
-rw-r--r--modules/mailserver.nix16
1 files changed, 16 insertions, 0 deletions
diff --git a/modules/mailserver.nix b/modules/mailserver.nix
index 71ca506..80c8af5 100644
--- a/modules/mailserver.nix
+++ b/modules/mailserver.nix
@@ -38,5 +38,21 @@
      '';
   };
 
+  services.monit.config = ''
+    check process postfix with pidfile /var/lib/postfix/queue/pid/master.pid
+          start program = "${pkgs.systemd}/bin/systemctl start postfix"
+          stop program = "${pkgs.systemd}/bin/systemctl stop postfix"
+          if failed port 25 protocol smtp for 5 cycles then restart
+
+    check process dovecot with pidfile /var/run/dovecot2/master.pid
+          start program = "${pkgs.systemd}/bin/systemctl start dovecot2"
+          stop program = "${pkgs.systemd}/bin/systemctl stop dovecot2"
+          if failed host mail.krinitsin.com port 993 type tcpssl sslauto protocol imap for 5 cycles then restart
+
+    check process rspamd with matching "rspamd: main process"
+          start program = "${pkgs.systemd}/bin/systemctl start rspamd"
+          stop program = "${pkgs.systemd}/bin/systemctl stop rspamd"
+  '';
+
   security.acme.certs."krinitsin.com".extraDomainNames = [ "webmail.krinitsin.com" ];
 }