Replace them with:
* containers' hostnames
* gateway's IP address for default SMTP_HOST
* Core: when SMTP_HOST undef, echo the default value
* docker-compose: add port mapping
* docker-compose: drop network driver conf
* Exim macro: use localhost as LMTP host
* Update README.md
* docker-compose: Limit port mapping to loopback
* Update other docker-compose example files
* Run as mailman user.
* Run mailman core process as a less-privileged mailman user.
* Add a `docker ps` to travis to know if any container died.
* Spit out more debug information in CI.
* Install su-exec properly.
Checking for the wrong database URL caused the mailman core to always use an
sqlite database even when another database is defined. This commit fixes that.
`mailman start` command does not nothing but parses the configuration and starts
the appropriate runners. The start command is implemented such that it forks the
master runner, which in-turn starts the all the rest of the runners. It turns
out that `master` is also exported as an console script which can directly be
started instead of running `mailman start` command. This makes containerizing
mailman much more easier.
django.
- -z Does not check properly if the DATABASE_URL is defined or not. It evaluates
to True if it is not set or set to ''
- Remove SECURE_SSL_REDIRECT in the django settings because this deployment is
meant to behind Nginx which decrypts SSL packets.
- Force mailman to start even with a lock. This _may_ not be the best idea but
for now if everything is followed according to this guide.
Following 12factor principle for app development, all the configuration
variables for the docker images can now be setup using environment vars.
The default values are set using the run.sh script in both mailman-web
and mailman-core containers.
Mailman-core is now run by "run.sh" which traps SIGTERM and performs
mailman stop for graceful exit of mailman core.
- Add configuration for exim to work with mailman core.
- Add configuration to enable hyperkitty in mailman core.
- Add configuration to enable mailman_hyperkitty plugin.
- Add mailman_hyperkitty plugin and ipython in the core container.
- Set environemnt variables for Postgresql database in the compose file
- Set environment variables for uwsgi in the compose file
- Check if the postgresql container is up and accepting connections before
running any actual services.
This commit adds a lot of new code including the mailman's web
frontend. It includes a configuration file which can later be
configured to run required configs.
Also, the docker-compose file spins off the containers, sets up
appropriate volumes and links.