Code Monkey home page Code Monkey logo

modoboa-installer's Introduction

modoboa-installer

workflow codecov

An installer which deploy a complete mail server based on Modoboa.

Warning

This tool is still in beta stage, it has been tested on:

  • Debian Buster (10) / Bullseye (11)
  • Ubuntu Bionic Beaver (18.04) and upper
  • CentOS 7

Warning

/tmp partition must be mounted without the noexec option.

Note

The server (physical or virtual) running Modoboa needs at least 2GB of RAM in order to compile the required dependencies during the installation process. Passwords should not contain any special characters as they may cause the installation to fail. It's important to set a FQDN before, otherwise the installation will break.

Usage:

$ git clone https://github.com/modoboa/modoboa-installer
$ cd modoboa-installer
$ sudo python3 run.py <your domain>

If python3 is not installed on your system, please install it.

A configuration file will be automatically generated the first time you run the installer, please don't copy the installer.cfg.template file manually.

The following components are installed by the installer:

  • Database server (PostgreSQL or MySQL)
  • Nginx and uWSGI
  • Postfix
  • Dovecot
  • Amavis (with SpamAssassin and ClamAV)
  • automx (autoconfiguration service)
  • OpenDKIM
  • Radicale (CalDAV and CardDAV server)

If you want to customize configuration before running the installer, run the following command:

$ ./run.py --stop-after-configfile-check <your domain>

An interactive mode is also available:

$ ./run.py --interactive <your domain>

Make your modifications and run the installer as usual.

By default, the latest Modoboa version is installed but you can select a previous one using the --version option:

$ sudo ./run.py --version=X.X.X <your domain>

Note

Version selection is available only for Modoboa >= 1.8.1.

You can also install beta releases using the --beta flag:

$ sudo ./run.py --beta <your domain>

If you want more information about the installation process, add the --debug option to your command line.

Upgrade mode

An experimental upgrade mode is available.

Note

You must keep the original configuration file, ie the one used for the installation. Otherwise, you won't be able to use this mode.

You can activate it as follows:

$ sudo ./run.py --upgrade <your domain>

It will automatically install latest versions of modoboa and its plugins.

Backup mode

An experimental backup mode is available.

Warning

You must keep the original configuration file, i.e. the one used for the installation. Otherwise, you will need to recreate it manually with the right information!

You can start the process as follows:

$ sudo ./run.py --backup <your domain>

Then follow the step on the console.

There is also a non-interactive mode:

  1. Silent mode

Command:

$ sudo ./run.py --silent-backup <your domain>

This mode will run silently. When executed, it will create /modoboa_backup/ and each time you execute it, it will create a new backup directory with current date and time.

You can supply a custom path if needed:

$ sudo ./run.py --silent-backup --backup-path /path/of/backup/directory <your domain>

If you want to disable emails backup, disable dovecot in the configuration file (set enabled to False).

This can be useful for larger instance.

Restore mode

An experimental restore mode is available.

You can start the process as follows:

$ sudo ./run.py --restore /path/to/backup/directory/ <your domain>

Then wait for the process to finish.

Change the generated hostname

By default, the installer will setup your email server using the following hostname: mail.<your domain>. If you want a different value, generate the configuration file like this:

$ ./run.py --stop-after-configfile-check <your domain>

Then edit installer.cfg and look for the following section:

[general]
hostname = mail.%(domain)s

Replace mail by the value you want to use and save your modifications.

Finally, run the installer without the --stop-after-configfile-check option.

Let's Encrypt certificate

Warning

Please note this option requires the hostname you're using to be valid (ie. it can be resolved with a DNS query) and to match the server you're installing Modoboa on.

If you want to generate a valid certificate using Let's Encrypt, edit the installer.cfg file and modify the following settings:

[certificate]
generate = true
type = letsencrypt

[letsencrypt]
email = [email protected]

Change the email setting to a valid value since it will be used for account recovery.

modoboa-installer's People

Contributors

tonioo avatar spitfireap avatar fpiccinali avatar emsit avatar stefaweb avatar jsayles avatar kryskool avatar cedr-x avatar ksaadde avatar nickdbush avatar almereyda avatar j0000 avatar tuxis-ie avatar meseira avatar samuraikid0 avatar xbiei avatar acidsploit avatar dependabot-preview[bot] avatar euri10 avatar virtuaris avatar jfhovinne avatar softwarecreations avatar themultii avatar ionescu77 avatar n-tdi avatar mbaechtold avatar jaesivsm avatar florealcab avatar daniel-leicht avatar jichu4n avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.