Sets of scripts to generate mailserver configuration and send it to a Linux machine.
To use this software you will need to be on a Linux-like Operating System and have the following software installed:
- Bash
- Coreutils
- GCC Toolchain
- Make
- Makeself (if your enable Makeself output)
- OpenSSL (if you enable SSL support)
Currently, all test are done on Debian 13 .. Support for other distros will come.
Pre-existing configuration exist in configs/, to use them run:
$ make <defconfig_file>
$ make menuconfig # You still have to customize at least General setup (domain & ip)
$ makeList of defconfigs:
- postfix_dovecot_minimal_defconfig: A minimal postfix / dovecot server with no web frontend using PAM auth
You can also configure your own setup by skipping the defconfig part:
$ make menuconfig
$ makeOnce you have configured and generated your artifacts, you can send them to your server.
List of artifacts:
-
tarball: A simple tarball with your configuration.
-
makeself: A self installer which can be executed on your server (with root perm) to install everything. Once done, just
rebootand you have a fully fonctional mailserver.
It's mostly in order.
- Set of scripts to generate a basic config
- Postfix configuration
- Dovecot configuration
- Web frontend (Apache or Nginx ...)
- Roundcube
- Autoconfig file
- Auto SSL regen with Lets Encrypt
- List DNS entries required
- OpenDKIM
- OpenDMARC
- SPF
- Lets put some
menuconfigmagic in this ! - Defconfig
- Openrelay
- Postfix / Dovecot minimal
- Postfix / Dovecot w/ web frontend
- Deploy target
- Via self contained archive ?
- Via Ansible ?
- API to contact / edit DNS provider directly
- Unit tests / stylecheck & github workflow
- Integrate some alternatives / more options
- SpamAssassin
- Squirrel Mail
- Cyrus IMAP
- Client testing
- Regulary test a subset of defconfigs provided
- Docker integration
Project will be public once the menuconfig target is available. Only libre software will be authorized here.
If you wish to add some Exchange/Proprietary shit ... A plugin/extension interface can be done ... Or just fork this repo.