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
Mailman 3 Web UI
This image consists of Mailman3's Web UI(Postorius) and Archiver (Hyperkitty). This image is built from latest sources on gitlab. In future, latest and stable releases will be seperate. I am looking forward to the release of Mailman Suite 3.1 before that.
Configuration
These are the settings that you MUST change before deploying:
-
SERVE_FROM_DOMAIN: The domain name from which Django will be served. To be added toALLOWED_HOSTSin django settings. Default value is not set. -
HYPERKITTY_API_KEY: Hyperkitty's API Key, should be set to the same value as set for the mailman-core.
These are the settings that are set to sane default and you do not need to change them unless you know what you want.
-
DATABASE_URL: URL of the typedriver://user:password@hostname:port/databasenamefor the django to use. If not set, the default is set tosqlite:///opt/mailman-web-data/mailmanweb.db. The standard docker-compose.yaml comes with it set to a postgres database. It is not must to change this if you are happy with postgresql. -
MAILMAN_REST_URL: The URL to the Mailman core's REST API server. Defaut value ishttp://mailman-core:8001. -
MAILMAN_REST_USER: Mailman's REST API username. Default value isrestadmin -
MAILMAN_REST_PASSWORD: Mailman's REST API user's password. Default value isrestpass -
MAILMAN_HOST_IP: IP of the Container from which Mailman will send emails to hyperkitty (django). Set to172.19.199.2by default. -
SMTP_HOST: IP Address/hostname from which you will be sending emails. Default value is172.19.199.1, which is the address of the Host OS. -
SMTP_PORT: Port used for SMTP. Default is25. -
DJANGO_LOG_URL: Path to the django's log file. Defaults to/opt/mailman-web-data/logs/mailmanweb.log.
Running
It is highly recommended that you run this using the docker-compose.yaml provided in the github repo of this project. You will need to proxy the requests the container that you create with this image using an actual web server like Nginx. The github repo provides the setup instructions for Nginx.
Since the setup has USE_SSL set to True in django's settings.py, you may
also want to get a SSL certificate if you don't already have one. Lets
Encrypt provides free SSL certiticates for everyone and there are some
instructions about that also.
After the first run, you can create a superuser for django using the following command:
$ docker exec -it mailman-web python manage.py createsuperuser