New option to install Modoboa in development mode.

This commit is contained in:
Antoine Nguyen
2016-03-18 09:58:05 +01:00
parent 723e3a05c9
commit 0584c50092
2 changed files with 12 additions and 2 deletions

View File

@@ -4,8 +4,8 @@ tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
[database] [database]
# Select database engine : postgres or mysql # Select database engine : postgres or mysql
engine = postgres #engine = postgres
#engine = mysql engine = mysql
host = 127.0.0.1 host = 127.0.0.1
install = true install = true
@@ -28,6 +28,8 @@ dbuser = modoboa
dbpassword = password dbpassword = password
# Extensions to install (to install all of them, use: all) # Extensions to install (to install all of them, use: all)
extensions = modoboa-amavis modoboa-pdfcredentials modoboa-postfix-autoreply modoboa-sievefilters modoboa-stats modoboa-webmail extensions = modoboa-amavis modoboa-pdfcredentials modoboa-postfix-autoreply modoboa-sievefilters modoboa-stats modoboa-webmail
# Deploy Modoboa and enable development mode
devmode = false
[amavis] [amavis]
enabled = true enabled = true

View File

@@ -34,6 +34,7 @@ class Modoboa(base.Installer):
self.venv_path = config.get("modoboa", "venv_path") self.venv_path = config.get("modoboa", "venv_path")
self.instance_path = config.get("modoboa", "instance_path") self.instance_path = config.get("modoboa", "instance_path")
self.extensions = config.get("modoboa", "extensions").split() self.extensions = config.get("modoboa", "extensions").split()
self.devmode = config.getboolean("modoboa", "devmode")
def _setup_venv(self): def _setup_venv(self):
"""Prepare a dedicated virtuelenv.""" """Prepare a dedicated virtuelenv."""
@@ -44,6 +45,11 @@ class Modoboa(base.Installer):
else: else:
packages.append("MYSQL-Python") packages.append("MYSQL-Python")
python.install_packages(packages, self.venv_path, sudo_user=self.user) python.install_packages(packages, self.venv_path, sudo_user=self.user)
if self.devmode:
# FIXME: use dev-requirements instead
python.install_packages(
["django-bower", "django-debug-toolbar"], self.venv_path,
sudo_user=self.user)
def _deploy_instance(self): def _deploy_instance(self):
"""Deploy Modoboa.""" """Deploy Modoboa."""
@@ -71,6 +77,8 @@ class Modoboa(base.Installer):
self.config.get("database", "engine"), self.dbname, self.config.get("database", "engine"), self.dbname,
self.dbpasswd, self.dbhost) self.dbpasswd, self.dbhost)
] ]
if self.devmode:
args = ["--devel"] + args
if self.config.getboolean("amavis", "enabled"): if self.config.getboolean("amavis", "enabled"):
args += [ args += [
"amavis:{}://{}:{}@{}/{}".format( "amavis:{}://{}:{}@{}/{}".format(