{"id":13558936,"url":"https://github.com/modoboa/modoboa-installer","last_synced_at":"2025-04-08T06:37:47.922Z","repository":{"id":37458288,"uuid":"44232404","full_name":"modoboa/modoboa-installer","owner":"modoboa","description":"An installer for Modoboa","archived":false,"fork":false,"pushed_at":"2025-03-26T16:37:05.000Z","size":651,"stargazers_count":273,"open_issues_count":43,"forks_count":144,"subscribers_count":20,"default_branch":"master","last_synced_at":"2025-04-01T04:53:49.845Z","etag":null,"topics":["amavis","automx","dovecot","installer","mail","modoboa","postfix"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/modoboa.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["modoboa"]}},"created_at":"2015-10-14T07:51:05.000Z","updated_at":"2025-03-26T16:37:08.000Z","dependencies_parsed_at":"2024-02-23T11:29:11.691Z","dependency_job_id":"d00e0975-a9cc-470a-a68f-b4c6e824c0f4","html_url":"https://github.com/modoboa/modoboa-installer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/modoboa%2Fmodoboa-installer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/modoboa%2Fmodoboa-installer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/modoboa%2Fmodoboa-installer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/modoboa%2Fmodoboa-installer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/modoboa","download_url":"https://codeload.github.com/modoboa/modoboa-installer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247792900,"owners_count":20996892,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["amavis","automx","dovecot","installer","mail","modoboa","postfix"],"created_at":"2024-08-01T12:05:14.645Z","updated_at":"2025-04-08T06:37:47.891Z","avatar_url":"https://github.com/modoboa.png","language":"Python","funding_links":["https://github.com/sponsors/modoboa"],"categories":["Smarty","others"],"sub_categories":[],"readme":"**modoboa-installer**\n=====================\n\n|workflow| |codecov|\n\nAn installer which deploy a complete mail server based on Modoboa.\n\n.. warning::\n\n   This tool is still in beta stage, it has been tested on:\n\n   * Debian 10 and upper\n   * Ubuntu Bionic Beaver (18.04) and upper\n\n.. warning::\n\n   ``/tmp`` partition must be mounted without the ``noexec`` option.\n\n.. note::\n\n   The server (physical or virtual) running Modoboa needs at least 2GB\n   of RAM in order to compile the required dependencies during the\n   installation process. Passwords should not contain any special characters\n   as they may cause the installation to fail. It's important to set a FQDN\n   before, otherwise the installation will break.\n\nUsage::\n\n  $ git clone https://github.com/modoboa/modoboa-installer\n  $ cd modoboa-installer\n  $ sudo python3 run.py \u003cyour domain\u003e\n\n\nIf ``python3`` is not installed on your system, please install it.\n\nA configuration file will be automatically generated the first time\nyou run the installer, please don't copy the\n``installer.cfg.template`` file manually.\n\nThe following components are installed by the installer:\n\n* Database server (PostgreSQL or MySQL)\n* Nginx and uWSGI\n* Postfix\n* Dovecot\n* Amavis (with SpamAssassin and ClamAV)\n* automx (autoconfiguration service)\n* OpenDKIM\n* Radicale (CalDAV and CardDAV server)\n\nIf you want to customize configuration before running the installer,\nrun the following command::\n\n  $ ./run.py --stop-after-configfile-check \u003cyour domain\u003e\n\nAn interactive mode is also available::\n\n  $ ./run.py --interactive \u003cyour domain\u003e\n\nMake your modifications and run the installer as usual.\n\nBy default, the latest Modoboa version is installed but you can select\na previous one using the ``--version`` option::\n\n  $ sudo ./run.py --version=X.X.X \u003cyour domain\u003e\n\n.. note::\n\n   Version selection is available only for Modoboa \u003e= 1.8.1.\n\nYou can also install beta releases using the ``--beta`` flag::\n\n  $ sudo ./run.py --beta \u003cyour domain\u003e\n\nIf you want more information about the installation process, add the\n``--debug`` option to your command line.\n\nUpgrade mode\n============\n\nAn experimental upgrade mode is available.\n\n.. note::\n\n   You must keep the original configuration file, ie the one used for\n   the installation. Otherwise, you won't be able to use this mode.\n\nYou can activate it as follows::\n\n  $ sudo ./run.py --upgrade \u003cyour domain\u003e\n\nIt will automatically install latest versions of modoboa and its plugins.\n\nBackup mode\n===========\n\nAn experimental backup mode is available.\n\n.. warning::\n\n   You must keep the original configuration file, i.e. the one used for\n   the installation. Otherwise, you will need to recreate it manually with the right information!\n\nYou can start the process as follows::\n\n  $ sudo ./run.py --backup \u003cyour domain\u003e\n\nThen follow the step on the console.\n\nThere is also a non-interactive mode::\n\n  $ sudo ./run.py --silent-backup \u003cyour domain\u003e\n\nYou can also add a path, else it will be saved in ./modoboa_backup/Backup_M_Y_d_H_M::\n\n  $ sudo ./run.py --silent-backup --backup-path \"/My_Backup_Path\" \u003cyour domain\u003e\n\nif you want to disable mail backup::\n\n  $ sudo ./run.py --backup --no-mail \u003cyour domain\u003e\n\nThis can be useful for larger instance\n\n1. Silent mode\n\nCommand::\n\n  $ sudo ./run.py --silent-backup \u003cyour domain\u003e\n\nThis mode will run silently. When executed, it will create\n/modoboa_backup/ and each time you execute it, it will create a new\nbackup directory with current date and time.\n\nYou can supply a custom path if needed::\n\n  $ sudo ./run.py --silent-backup --backup-path /path/of/backup/directory \u003cyour domain\u003e\n\nIf you want to disable emails backup, disable dovecot in the\nconfiguration file (set enabled to False).\n\nThis can be useful for larger instance.\n\nRestore mode\n============\n\nAn experimental restore mode is available.\n\nYou can start the process as follows::\n\n  $ sudo ./run.py --restore /path/to/backup/directory/ \u003cyour domain\u003e\n\nThen wait for the process to finish.\n\nChange the generated hostname\n=============================\n\nBy default, the installer will setup your email server using the\nfollowing hostname: ``mail.\u003cyour domain\u003e``. If you want a different\nvalue, generate the configuration file like this::\n\n  $ ./run.py --stop-after-configfile-check \u003cyour domain\u003e\n\nThen edit ``installer.cfg`` and look for the following section::\n\n  [general]\n  hostname = mail.%(domain)s\n\nReplace ``mail`` by the value you want to use and save your\nmodifications.\n\nFinally, run the installer without the\n``--stop-after-configfile-check`` option.\n\nCertificate\n===========\n\nSelf-signed\n-----------\n\nIt is the default type of certificate the installer will generate, it\nis however not recommended for production use.\n\nLetsencrypt\n-----------\n\n.. warning::\n\n  Please note that by using this option, you agree to the `ToS\n  \u003chttps://community.letsencrypt.org/tos\u003e`_ of\n  letsencrypt and that your IP will be logged (see ToS).\n  Please also note this option requires the hostname you're using to be\n  valid (ie. it can be resolved with a DNS query) and to match the\n  server you're installing Modoboa on.\n\nIf you want to generate a valid certificate using `Let's Encrypt\n\u003chttps://letsencrypt.org/\u003e`_, edit the ``installer.cfg`` file and\nmodify the following settings::\n\n  [certificate]\n  generate = true\n  type = letsencrypt\n  tls_cert_file_path =\n  tls_key_file_path =\n\n  [letsencrypt]\n  email = admin@example.com\n\nChange the ``email`` setting to a valid value since it will be used\nfor account recovery.\n\nManual\n------\n\n.. warning::\n\n  It is not possible to configure manual certs interactively, so\n  you'll have to do it in 2 steps. Please run ``run.py`` with\n  `--stop-after-configfile-check` first, configure your file as\n  desired and apply the configuration as written bellow. Then run\n  ``run.py`` again but without `--stop-after-configfile-check` or\n  `--interactive`.\n\nIf you want to use already generated certs, simply edit the\n``installer.cfg`` file and modify the following settings::\n\n    [certificate]\n    generate = true\n    type = manual\n    tls_cert_file_path = *path to tls fullchain file*\n    tls_key_file_path = *path to tls key file*\n\n.. |workflow| image:: https://github.com/modoboa/modoboa-installer/workflows/Modoboa%20installer/badge.svg\n.. |codecov| image:: https://codecov.io/gh/modoboa/modoboa-installer/graph/badge.svg?token=Fo2o1GdHZq\n   :target: https://codecov.io/gh/modoboa/modoboa-installer\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmodoboa%2Fmodoboa-installer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmodoboa%2Fmodoboa-installer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmodoboa%2Fmodoboa-installer/lists"}