Add MAILMAN_WEB_SOCIAL_AUTH for social logins
The `MAILMAN_WEB_SOCIAL_AUTH` list contains a default set of social
login provides. This was previously included in `INSTALLED_APPS`.
Separating it to it's own list makes it easier to disable or otherwise
override which social login providers are enabled without the need to
modify `INSTALLED_APPS`.
Older installations where `INSTALLED_APPS` were overridden continues to
work. The `MAILMAN_WEB_SOCIAL_AUTH` is ignored for those and
`INSTALLED_APPS` is used as is.
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
* Use old style middleware settings for Python 2.
* Make entrypoint python2 and 3 compatible.
* Fix python command to test for mysql server.
* Bettery docker-entrypoint to work with Python 2 & 3
* Add missing braces.
* Update mailman-web to use Python 3
* Update configuration
* Python 3.6 image.
* Use alpine 3.7
* Use new style middleware
* Use alpine 3.6
* In Python 3, urlparse was renamed to urllib.parse
The default value of SECRET_KEY was hard-coded in the settings.py which would turn out to be used all the time even if people are not forced to change it. So this commit removes that value and instead gets the SECRET_KEY from the environment variable.
Closes#99
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.
- Download source code as zip from gitlab instead of git+https because speed.
- Check if the $DATABASE_URL is not defined, use a default sqlite database.
- Use dj-database-url package to set database in django settings using
DATABASE_URL environment variable.
- Use UWSGI_LOG_URL as the URL for UWSGI logging and set it to a default value
if it has not been defined.
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.