53fe567d06
1925: Optimize Rainloop: Change to NGINX r=mergify[bot] a=Erriez ## What type of PR? - Reduce build time. - Reduce image size. - Faster user response using CGI. ## What does this PR do? ### Related issue(s) - Mention an issue like: #1830, #1200 and #1924 - Auto close an issue like: closes #1924 ## Prerequistes Documentation updates TBD (requires some guidance): - [ ] In case of feature or enhancement: documentation updated accordingly - [ ] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/workflow.html#changelog) entry file. ## Technical details - Image from `php:7.4-apache` to `nginx:1.21-alpine` followed by PHP7 installation. - Move `.ini` files to directory `defaults/`. - Move files `sso.php and include.php` to directory `login/`. - NGINX configuration: - `access_log off;` as this is handled by front. - `error_log /dev/stderr err; configured to reduce output. The logging in `start.py` is useless. - PHP configuration optimized for CGI usage and requires a config file `config/php-rainloop.conf` -> `/etc/php7/php-fpm.d/rainloop.conf`. - `.ini` files are parsed / substituted by `socrate` Python module. Further optimization is possible by completely removing Python. This is only used to parse the `.ini` files and can be done via Bash scripts. This saves more build time and image size can be reduced to 112MB. ## Reviewing This PR requires multiple reviewers and extensive testing before merging into master. Data/settings are compatible with previous images. Co-authored-by: Erriez <Erriez@users.noreply.github.com> |
3 years ago | |
---|---|---|
.github | 3 years ago | |
core | 3 years ago | |
docs | 3 years ago | |
optional | 3 years ago | |
setup | 3 years ago | |
tests | 3 years ago | |
towncrier | 3 years ago | |
webmails | 3 years ago | |
.gitignore | 5 years ago | |
.mergify.yml | 3 years ago | |
AUTHORS.md | 4 years ago | |
CHANGELOG.md | 3 years ago | |
CODE_OF_CONDUCT.md | 7 years ago | |
CONTRIBUTING.md | 5 years ago | |
ISSUE_TEMPLATE.md | 4 years ago | |
LICENSE.md | 8 years ago | |
PULL_REQUEST_TEMPLATE.md | 3 years ago | |
README.md | 6 years ago | |
bors.toml | 3 years ago | |
pyproject.toml | 5 years ago |
README.md
Mailu is a simple yet full-featured mail server as a set of Docker images. It is free software (both as in free beer and as in free speech), open to suggestions and external contributions. The project aims at providing people with an easily setup, easily maintained and full-featured mail server while not shipping proprietary software nor unrelated features often found in popular groupware.
Most of the documentation is available on our Website, you can also try our demo server before setting up your own, and come talk to us on Matrix.
Features
Main features include:
- Standard email server, IMAP and IMAP+, SMTP and Submission
- Advanced email features, aliases, domain aliases, custom routing
- Web access, multiple Webmails and administration interface
- User features, aliases, auto-reply, auto-forward, fetched accounts
- Admin features, global admins, announcements, per-domain delegation, quotas
- Security, enforced TLS, Letsencrypt!, outgoing DKIM, anti-virus scanner
- Antispam, auto-learn, greylisting, DMARC and SPF
- Freedom, all FOSS components, no tracker included
Contributing
Mailu is free software, open to suggestions and contributions. All components are free software and compatible with the MIT license. All specific configuration files, Dockerfiles and code are placed under the MIT license.