From f49909d7e0c4c0e3ffa5ca9ffc56f0b1796722e7 Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Thu, 15 Oct 2015 15:37:27 +0200 Subject: [PATCH] Additional configuration files. --- modoboa_installer/scripts/base.py | 4 ++- .../scripts/files/modoboa/crontab.tpl | 28 +++++++++++++++++++ .../scripts/files/modoboa/sudoers.tpl | 1 + modoboa_installer/scripts/modoboa.py | 4 +++ 4 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 modoboa_installer/scripts/files/modoboa/crontab.tpl create mode 100644 modoboa_installer/scripts/files/modoboa/sudoers.tpl diff --git a/modoboa_installer/scripts/base.py b/modoboa_installer/scripts/base.py index 241d382..821cb57 100644 --- a/modoboa_installer/scripts/base.py +++ b/modoboa_installer/scripts/base.py @@ -115,7 +115,9 @@ class Installer(object): else: dstname = ftpl src = self.get_file_path("{}.tpl".format(ftpl)) - dst = os.path.join(self.config_dir, dstname) + dst = dstname + if not dst.startswith("/"): + dst = os.path.join(self.config_dir, dst) utils.copy_from_template(src, dst, context) def restart_daemon(self): diff --git a/modoboa_installer/scripts/files/modoboa/crontab.tpl b/modoboa_installer/scripts/files/modoboa/crontab.tpl new file mode 100644 index 0000000..488410c --- /dev/null +++ b/modoboa_installer/scripts/files/modoboa/crontab.tpl @@ -0,0 +1,28 @@ +# +# Modoboa specific cron jobs +# +PYTHON=%{venv_path}/bin/python +INSTANCE=%{instance_path} + +# Operations on mailboxes +* * * * * %{dovecot_mailboxes_owner} $PYTHON $INSTANCE/manage.py handle_mailbox_operations + +# Sessions table cleanup +0 0 * * * root $PYTHON $INSTANCE/manage.py clearsessions + +# Logs table cleanup +0 0 * * * root $PYTHON $INSTANCE/manage.py cleanlogs + +{% if use_amavis %} +# Quarantine cleanup +0 0 * * * root $PYTHON $INSTANCE/manage.py qcleanup + +# Notifications about pending release requests +0 12 * * * root $PYTHON $INSTANCE/manage.py amnotify --baseurl='http://%{hostname}' +{% endif %} + +# Logs parsing +*/5 * * * * root $PYTHON $INSTANCE/manage.py logparser &> /dev/null + +# Radicale rights file +*/2 * * * * root $PYTHON $INSTANCE/manage.py generate_rights diff --git a/modoboa_installer/scripts/files/modoboa/sudoers.tpl b/modoboa_installer/scripts/files/modoboa/sudoers.tpl new file mode 100644 index 0000000..450cbca --- /dev/null +++ b/modoboa_installer/scripts/files/modoboa/sudoers.tpl @@ -0,0 +1 @@ +%{user} ALL=(%{dovecot_mailboxes_owner}) NOPASSWD: /usr/bin/doveadm diff --git a/modoboa_installer/scripts/modoboa.py b/modoboa_installer/scripts/modoboa.py index 6c4a8cd..50bad37 100644 --- a/modoboa_installer/scripts/modoboa.py +++ b/modoboa_installer/scripts/modoboa.py @@ -19,6 +19,10 @@ class Modoboa(base.Installer): packages = [ "python-dev", "libxml2-dev", "libxslt-dev", "libjpeg-dev", "librrd-dev", "rrdtool"] + config_files = [ + "crontab=/etc/cron.d/modoboa", + "sudoers=/etc/sudoers.d/modoboa", + ] with_db = True with_user = True