mirror of
https://github.com/chatmail/relay.git
synced 2026-05-19 12:28:06 +00:00
dovecot: restart automatically on failure
This commit is contained in:
@@ -27,7 +27,7 @@ class DovecotDeployer(Deployer):
|
|||||||
|
|
||||||
def configure(self):
|
def configure(self):
|
||||||
configure_remote_units(self.config.mail_domain, self.units)
|
configure_remote_units(self.config.mail_domain, self.units)
|
||||||
self.need_restart = _configure_dovecot(self.config)
|
self.need_restart, self.daemon_reload = _configure_dovecot(self.config)
|
||||||
|
|
||||||
def activate(self):
|
def activate(self):
|
||||||
activate_remote_units(self.units)
|
activate_remote_units(self.units)
|
||||||
@@ -42,6 +42,7 @@ class DovecotDeployer(Deployer):
|
|||||||
running=False if self.disable_mail else True,
|
running=False if self.disable_mail else True,
|
||||||
enabled=False if self.disable_mail else True,
|
enabled=False if self.disable_mail else True,
|
||||||
restarted=restart,
|
restarted=restart,
|
||||||
|
daemon_reload=self.daemon_reload,
|
||||||
)
|
)
|
||||||
self.need_restart = False
|
self.need_restart = False
|
||||||
|
|
||||||
@@ -80,9 +81,10 @@ def _install_dovecot_package(package: str, arch: str):
|
|||||||
apt.deb(name=f"Install dovecot-{package}", src=deb_filename)
|
apt.deb(name=f"Install dovecot-{package}", src=deb_filename)
|
||||||
|
|
||||||
|
|
||||||
def _configure_dovecot(config: Config, debug: bool = False) -> bool:
|
def _configure_dovecot(config: Config, debug: bool = False) -> (bool, bool):
|
||||||
"""Configures Dovecot IMAP server."""
|
"""Configures Dovecot IMAP server."""
|
||||||
need_restart = False
|
need_restart = False
|
||||||
|
daemon_reload = False
|
||||||
|
|
||||||
main_config = files.template(
|
main_config = files.template(
|
||||||
src=get_resource("dovecot/dovecot.conf.j2"),
|
src=get_resource("dovecot/dovecot.conf.j2"),
|
||||||
@@ -134,4 +136,11 @@ def _configure_dovecot(config: Config, debug: bool = False) -> bool:
|
|||||||
)
|
)
|
||||||
need_restart |= timezone_env.changed
|
need_restart |= timezone_env.changed
|
||||||
|
|
||||||
return need_restart
|
restart_conf = files.put(
|
||||||
|
name="dovecot: restart automatically on failure",
|
||||||
|
src=get_resource("service/10_restart.conf"),
|
||||||
|
dest="/etc/systemd/system/dovecot.service.d/10_restart.conf",
|
||||||
|
)
|
||||||
|
daemon_reload |= restart_conf.changed
|
||||||
|
|
||||||
|
return need_restart, daemon_reload
|
||||||
|
|||||||
3
cmdeploy/src/cmdeploy/service/10_restart.conf
Normal file
3
cmdeploy/src/cmdeploy/service/10_restart.conf
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
[Service]
|
||||||
|
Restart=always
|
||||||
|
RestartSec=30
|
||||||
Reference in New Issue
Block a user