* Bump to use Alpine 3.12 since 3.8 is now EOL.
* Manually install pip in all images.
* Rename all py- modules to py3- modules.
* Replace mysqldb with mysqlclient library for Mysql support in web.
* Update Postorius, Hyperkitty and django-mailman3.
Also, entrypoint script should compile i18n messages.
* Add git to postorius image.
* Also compile i18n messages in Postorius.
* Add GNU Gettext to the images.
* Do not compilemessages.
* Do not compilemessages.
* Add libffi to all Postorius images.
* Use Django less than a certain version.
* Fix the version constraint.
* Fix uwsgi configuration by using only processes.
Whoosh completely breaks down on 4GB of mail archives, so provide xapian
as an alternative. It's not hooked up automatically, but can be enabled
in the config files.
Related to issue #97.
This way we can depend on alpine's python3 package which is binary
compatible with the rest of the python packages in the distribution.
This requires spelling out python3 explicitly in several places since
alpine still defaults to python 2 for /usr/bin/python.
When running the mailman-web container with `UWSGI_STATIC_MAP=/static=/opt/mailman-web-data/static` (as suggested in https://github.com/maxking/docker-mailman#serving-static-files), the Browser receives the CSS files, but refuses to render them because of wrong MIME type (`text/plain`). Also, in the docker logs, a warning shows up that `/etc/mime.types` was not found.
According to the [Alpine package index](https://pkgs.alpinelinux.org/contents?branch=edge&name=mailcap&arch=armhf&repo=main), this file is part of the `mailcap` package. Installing it in the container makes Postorius stop looking ugly again!
* Create rolling releases using the Gitlab API.
This commit builds rolling releases of Container images using the latest commit
on master branch if the pipeline passed for it. The script which gets the
references is still un-tested and should be tested.
The latest commit hashes are passed as arguments to the Dockerfile, which is
then used by PIP to install the specific version of the dependency.
Several Changes:
- Uwsgi now listens on two sockets 8080 for http protocol and 8000 for uwsgi protocol
- Add a read_timeout in documentation for Nginx configuration
- Expose 8024 properly in Core image
- Expose 8080 and 8000 both in Web image
- Rearange the commands to get even less number of layers.
- Add SIGINT as stop signal in web because uwsgi needs it shut down gracefully
- Enable threads in default uwsgi configuration
Fix#64, Fix#15
- 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.