224 Commits (0ec9f1797f0d92b9eecd77ab8334108b906a0211)

Author SHA1 Message Date
Alexander Graf 1a41657f90
add documentation, allow overrides, clean plugins 3 years ago
Dimitri Huisman 2efad07c0b Merge branch 'master' of github.com:Diman0/Mailu into remove-mailu-postgresql 3 years ago
Dimitri Huisman b62836ad7e Process code review comments (PR #2069). 3 years ago
Dimitri Huisman 1eeffe29c0 Remove Mailu PostgreSQL. Make roundcube database configurable via setup. Fix #1838. 3 years ago
Dimitri Huisman f7677543c6 Process code review remarks
- Moved run to bottom of Dockerfile to allow using unmodified / cached states.
- Simplified bash code in deploy.sh.
- Improved the large bash one-liner in CI.yml. It could not handle >9 for 1.x.
3 years ago
Dimitri Huisman 56dd70cf4a Implement versioning for CI/CD workflow (see #1182). 3 years ago
Dimitri Huisman c81aa67dfa Use a better location for storing the fetchmail data. 3 years ago
Dimitri Huisman 2404cf2e3d Fix for issue #1223 3 years ago
bors[bot] f0188d9623
Merge #2034
2034: Add timezone to containers r=mergify[bot] a=DjVinnii

## What type of PR?

Enhancement

## What does this PR do?
This PR adds the tzdata package so that the environment variable `TZ` can be used to set the timezone of containers.

### Related issue(s)
- closes #1154 

## Prerequisites
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/workflow.html#changelog) entry file.


Co-authored-by: DjVinnii <vincentkling@msn.com>
3 years ago
DjVinnii 30d7e72765 Move TZ to Advanced settings 3 years ago
DjVinnii 679eae5181 Add TZ to mailu.env 3 years ago
Florent Daigniere fe58316776 The DKIM folder isn't required for rspamd 3 years ago
Florent Daigniere 464a117e9f this should be changed too 3 years ago
Florent Daigniere 862fdda55b Tweak the wording 3 years ago
Diman0 ac496eed19 Update setup with new rate limit config vars. 3 years ago
Florent Daigniere 89ea51d570 Implement rate-limits 3 years ago
Florent Daigniere d7c2b510c7 Give alpine 3.14.2 a shot 3 years ago
Dimitri Huisman e5972bd9ec Set default message rate limit to 200/day 3 years ago
Florent Daigniere 1438253a06 Ratelimit outgoing emails per user 3 years ago
Diman0 4cfa2dbc2a Increase width of rate limiting text box. 3 years ago
Diman0 588904078e Set default of AUTH_RATELIMIT_SUBNET to False. Increase default AUTH_RATELIMIT value. 3 years ago
Florent Daigniere d44608ed04 Merge remote-tracking branch 'upstream/master' into upgrade-alpine 3 years ago
Dimitri Huisman b0fb9d822b Adapt requirements.txt to use pinned versions. 3 years ago
Dimitri Huisman b140fa54ac Update jquery js dependencies in setup 3 years ago
Dimitri Huisman 06019452e3 Remove dot in blueprint name to prevent critical flask initialisation error. 3 years ago
Florent Daigniere 420afa53f8 Upgrade to alpine 3.14 4 years ago
bors[bot] d1eab083f5
Merge #1831
1831: Fix roundcube database env configuration r=mergify[bot] a=parisni

## What type of PR?

bug-fix

## What does this PR do?

Both roundcube and mailu admin website can be backed by postgres/mysql. Before this PR, the `DB_FLAVOR` is shared by both services. However, the other roundcube dedicated DB params are prefixed with `ROUNDCUBE_`. (eg: `ROUNDCUBE_DB_NAME`)
There is no reason to share the DB_FLAVOR for both: This PR makes them be considered independently to make things clear and avoid bugs.
Also, the roundcube_db_flavor and db_flavor are made separated in this PR. However for simplicity, the template generator bind them : roundcube_db_flavor = db_flavor. This makes the template generator UI more simple. I considered most of the time people want to have both roundcube and mailu share the same RDBMS.

Also, AFAIK the internal postgresql service is deprecated and will be removed in 1.9. This is why this PR does not integrate roundcube in postgres when the internal DB is choosen: in case of internal postgres, the roundcube is backed with sqlite.

Both documentation and setup website have been updated accordingly.

### Related issue(s)
- Auto close an issue like: closes #1648 #1471

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [X] In case of feature or enhancement: documentation updated accordingly
- [X] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: parisni <nicolas.paris@riseup.net>
Co-authored-by: Nicolas Paris <nicolas.paris@riseup.net>
4 years ago
Dimitri Huisman 8998e21f7b Set static hostname for antispam to preserve history. See #561 4 years ago
Nicolas Paris e4ad3a868c
Fix typo
Co-authored-by: decentral1se <1991377+decentral1se@users.noreply.github.com>
4 years ago
Nicolas Paris 7386257ded
Fix typo
Co-authored-by: decentral1se <1991377+decentral1se@users.noreply.github.com>
4 years ago
Nicolas Paris ab7264df0c
Fix typo
Co-authored-by: decentral1se <1991377+decentral1se@users.noreply.github.com>
4 years ago
Nicolas Paris c0c8c4a551
Fix typo
Co-authored-by: decentral1se <1991377+decentral1se@users.noreply.github.com>
4 years ago
bors[bot] 5d1264e381
Merge #1694
1694: update compression algorithms for current dovecot r=nextgens a=lub

## What type of PR?

enhancement

## What does this PR do?

This adds additional compression algorithms in accordance with
https://doc.dovecot.org/configuration_manual/zlib_plugin/

### Related issue(s)

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: lub <git@lubiland.de>
4 years ago
parisni 84e59c0a6e Add missing roundcube_db_flavor 4 years ago
parisni d2803f6f46 Update setup website 4 years ago
lub 2316ef1162 update compression algorithms for dovecot 3.3.14
xz is deprecated; lz4 and zstd were not present in our configs before
4 years ago
lub 1a365f469c check for `ipv6_enabled` in the compose template
Checking only `ipv6` isn't sufficient, because it has a default value.
4 years ago
lub 98a6ffb497 add compression via xz and lz4 4 years ago
lub 708e31660f mark radio buttons in setup utility as required
Otherwise it's possible to submit the form without selecting e.g. any
flavor, which would need additional handling on the server side.
4 years ago
Dario Ernst 7483ea1d49 Make setup show external DB parameters automaticaly when selecting postgres
Before, the "external postgres" options were not shown, even though
"extrnal" was pre-selected. This fixes the mechanics surrounding the
picker.
4 years ago
Dimitri Huisman 7b27d0dd4e When selecting a non-stable version, add a message this is version is "only for testing".
The stable version is set via the new environment variable stable_version. E.g.
stable_version=1.7
4 years ago
Dimitri Huisman 17cea83301 Completely remove step 5 where you can set the replica count for docker-stack.
Add additional warning to ´experimental' notice in setup for stack.
Add a notice the shipped PostgreSQL is deprecated.
Make the external PostgreSQL database the default option.
Make 1.7 the default version (stable_version': '1.7', in docs\conf.py)
Update mergify.yml with 1.8 version
4 years ago
Simonmicro eca00905cf
Minor formulation 4 years ago
Simonmicro db440d46be
Added line of warning 4 years ago
Dario Ernst 9a440e2604 Force setup-file download scheme to HTTPS
Up until now HTTPS was only offered by redirect, making MitM possible
before server redirect hit the client.
Add scheme-force to HTTPS to the url-generation.

fixes #963
4 years ago
Dimitri Huisman e5f355c902
Fix ANTIVIRUS line in mailu.env file
The ANTIVIRUS line is commented in mailu.env file. Each mailu.env file generated by setup.mailu.io will have the antivirus line commented. Removed the # so that antivirus works again for new deployments.
4 years ago
bors[bot] 88ffb9fcf1
Merge #1511
1511: Setup, compose: add note about reverse DNS r=mergify[bot] a=liquidat

## What type of PR?

documentation

## What does this PR do?

If the [mailu setup utility](https://setup.mailu.io/master/) is used with the Compose flavor, in step 4 a list of public host names needs to be provided:
![Screenshot from 2020-05-17 01-54-06](https://user-images.githubusercontent.com/1998084/82132563-5227d780-97e1-11ea-85ed-fa5d5108e24e.png)
The [first entry in this list is configured as hostname by postfix](ddac2672fc/core/postfix/conf/main.cf (L10)). That is crucial: if the reverse DNS entry for that host is not the same as this first entry in this list, it will be a mismatch between rDNS and HELO, which will lead to bad scoring in many spam filters.

This commit clarifies that point.
It also fixes a missing parenthesis.

### Related issue(s)

- (none)

## Prerequistes

- (none applicable)

Co-authored-by: liquidat <liquidat@bayz.de>
4 years ago
bors[bot] 535b95bca7
Merge #1538
1538: Introduce environment variable to control dovecot full-text-search r=mergify[bot] a=tremlin

## What type of PR?

Enhancement

## What does this PR do?

In #1320 a full-text-search feature was enabled in Dovecot by default. Since this can have a big impact on performance, I think it's preferable to offer an option to disable the feature if it is not needed. This PR doesn't change the default behavior (FTS on).

### Related issue(s)
- #1320

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [ ] In case of feature or enhancement: documentation updated accordinagly
- [ ] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: Thomas Rehn <thomas.rehn@initos.com>
4 years ago
bors[bot] 27b6016bc6
Merge #1499
1499: Harmonization of the various docker-compose.yml templates r=mergify[bot] a=ofthesun9

## What type of PR?
Mainly documentation and update of the docker-compose.yml templates

## What does this PR do?
- Update of setup/flavors/stack/docker-compose.yml and docs/compose/docker-compose.yml to keep parity with setup/flavors/compose/docker-compose.yml (last changes with pr1444)
- Also refresh of the mkdir command found in setup/flavors/stack/setup.html to cope with the creation of mailqueue; overrides/nginx, overrides/dovecot folders.

### Related issue(s)
None

## Prerequistes
- [x] In case of feature or enhancement: documentation updated accordingly



Co-authored-by: ofthesun9 <olivier@ofthesun.net>
4 years ago
bors[bot] 64f21d5b84
Merge #1478 #1501 #1532 #1543
1478: Allow to enforce TLS for outbound r=mergify[bot] a=micw

 using OUTBOUND_TLS_LEVEL=encrypt (default is 'may')

## What type of PR?

enhancement

## What does this PR do?

Add an option to postfix to enforce outbound traffic to be TLS encrypted.

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


1501: In setup/flavor, change DMARC RUA and RUF email default settings r=mergify[bot] a=ofthesun9

## What type of PR?
bug-fix

## What does this PR do?
This PR changes the default value used to set DMARC_RUA and DMARC_RUF:
DMARC_RUA and DMARC_RUF defaults will reuse the value defined for POSTMASTER,
instead of 'admin' as previously.
Please note that the setup tool doesn't allow (yet?) to define dmarc_rua nor dmarc_ruf, so the default value is indeed used for the time being.

### Related issue(s)
closes #1463 

## Prerequistes
- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


1532: Replace SMPT with SMTP r=mergify[bot] a=dhoppe



1543: Disable Health checks on swarm mode r=mergify[bot] a=ofthesun9

ref: https://github.com/moby/moby/issues/35451

## What type of PR?
bug-fix

## What does this PR do?
Modify the docker-compose.yml template used by setup (swarm flavor) to disable Health checks on swarm mode for each service

### Related issue(s)
closes #1289

## Prerequistes
- [x]  add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: Michael Wyraz <michael@wyraz.de>
Co-authored-by: ofthesun9 <olivier@ofthesun.net>
Co-authored-by: Dennis Hoppe <github@debian-solutions.de>
4 years ago
Thomas Rehn ebf1f4f1b6 add bits of documentation for new environment variable 5 years ago
ofthesun9 f48a13336f Disable Health checks on swarm mode
ref: https://github.com/moby/moby/issues/35451
5 years ago
Dennis Hoppe c3cbac65f9
Replace SMPT with SMTP 5 years ago
liquidat 6dbf7eb0e0 Setup, compose: add note about reverse DNS 5 years ago
ofthesun9 b1f012d53b In setup/flavor, change DMARC rua and ruf email default settings
DMARC_RUA and DMARC_RUF defaults will reuse the value defined for POSTMASTER,
instead of 'admin' as previously
5 years ago
ofthesun9 693fb3dbc7 Harmonization of the various docker-compose.yml
Harmonization (following pr1444) between:
 - docs/compose/docker-compose.yml
 - setup/flavors/stack/docker-compose.yml
 - setup/flavors/compose/docker-compose.yml
Also refresh of the mkdir command found in setup/flavors/stack/setup.html
5 years ago
Vilgot Fredenberg 33349065b5 Harden default configuration 5 years ago
Dario Ernst 5ab47864e7 Clarify fetchmail description text in setup 5 years ago
Leigh Morresi 83b51e6597 Place checkbox descriptions after checkboxes and labels, set italic for readability. 5 years ago
Leigh Morresi 1ede5dc301 Grammatical and spelling mistake fixes. 5 years ago
kaiyou 8e88f1b8c3 Refactor the rate limiting code
Rate limiting was already redesigned to use Python limits. This
introduced some unexpected behavior, including the fact that only
one criteria is supported per limiter. Docs and setup utility are
updated with this in mind.

Also, the code was made more generic, so limiters can be delivered
for something else than authentication. Authentication-specific
code was moved directly to the authentication routine.
5 years ago
bors[bot] 0417c791ff
Merge #985
985: Permit raspberry pi (and other architectures) builds r=mergify[bot] a=abondis

## What type of PR?

Enhancement

## What does this PR do?

Add an option to select base images and permit building for different CPU architectures.

### Related issue(s)
N/A

## Prerequistes

- [X] documentation updated accordingly
- [x] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: Aurélien Bondis <aurelien.bondis@gmail.com>
Co-authored-by: Aurelien <aurelien.bondis@gmail.com>
5 years ago
Michael Wyraz 2aa1600908 Add postfix mailqueue to persistent storage on docker 5 years ago
Aurélien Bondis 98307f868a RPi: fix alpine version for setup, only one layer for pip install 5 years ago
hoellen d3dd4802f4 Change default password scheme to PBKDF2 (#1194) 5 years ago
Aurélien Bondis 3a10865824 install python for setup image, accept args for build_arm script 5 years ago
Jonathan Elias Caicedo 468793640a
Fix 'coma' -> 'comma' 5 years ago
Jonathan Elias Caicedo 8661919374
Fix 'coma' -> 'comma' 5 years ago
hoellen 463bbda302 Allow subnet with host bit set in setup 5 years ago
bors[bot] 2d4c837761 Merge #1015
1015: Merge DNS hints, and hostname/domain ordering hints. r=Nebukadneza a=toxik-io

## Enhancement - Hints in setup, references in setup & DNS docs

Unrelated: This PR makes changes to the Flask setup utilities to suggest ordering the `HOSTNAMES` 
entry so that the first entry is the admin panel's domain (at least in my experience that's what fixed my
issues)

It also makes changes to the documentation, referencing that more than the usual DNS
entries need to be set (and the admin panel used) if they've enabled DMARC/SPF/DKIM.

### Related issue(s)
- My original issue #1002

## Prerequistes

- [x] In case of feature or enhancement: documentation updated accordingly
- [ ] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.

## Assistance
I'm unsure if the hints for HOSTNAME ordering are simply because of how the config is gulped in
by the current tooling, or if it's a bug that the frontend only accepts connections from the first host...

I also don't know what commands in the CLI would replicate the steps taken on the admin dashboard.

Further, I don't know what you'd put in the changelog.

Co-authored-by: toxik-io <thetoxicarcade@gmail.com>
6 years ago
bors[bot] 8ffe947f39 Merge #939
939: Removed commented options in env file r=mergify[bot] a=ionutfilip

## What type of PR?
Enhancement

## What does this PR do?
Remove all commented options from env file

### Related issue(s)
- #858
- #895

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: place entry in the [changelog](CHANGELOG.md), under the latest un-released version.


Co-authored-by: Ionut Filip <ionut.philip@gmail.com>
6 years ago
bors[bot] ce12c4979d Merge #964
964: Create overrides/nginx r=mergify[bot] a=jeremyVignelles

## What type of PR?

documentation

## What does this PR do?
Updates the procedure to include the creation of that required folder

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [X] In case of feature or enhancement: documentation updated accordingly
- [X] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: Jérémy VIGNELLES <jeremyvignelles@users.noreply.github.com>
6 years ago
bors[bot] 0e182fde3f Merge #957
957: Correct hardcoded WEBROOT_REDIRECT r=mergify[bot] a=ahwebd

We should not assume that the user has chosen the word "webmail" for his webmail path.

Co-authored-by: Ahmed H <ahwebd@gmail.com>
6 years ago
toxik-io ca5e0c88ba
update in stack, as well. 6 years ago
toxik-io f1eb2ee367
solve admin problems by recommending it in setup, not just FAQ. 6 years ago
Jérémy VIGNELLES b1621d4b63
Create overrides/nginx
This folder is needed for the front service to be able to start, because a bind-mount is made on that folder.
6 years ago
Ahmed H 52948fa529
Correct hardcoded WEBROOT_REDIRECT
We should not assume that the user has chosen the word "webmail" for his webmail path
6 years ago
Ionut Filip 131406774b Handle setup subnet error 6 years ago
Ionut Filip 4df36bea91 Removed commented options 6 years ago
bors[bot] 86b4242f82 Merge #886
886: Ipv6 support r=mergify[bot] a=muhlemmer

## What type of PR?

(Feature, enhancement, bug-fix, documentation) -> A bit of everything

## What does this PR do?

Document how to use ipv6nat. This, however triggers some kind of flaky behavior with the Docker DNS resolver, resulting in lookup failures between containers.  So all resolving needs to be done during container startup/configuration.

In order not to pollute every single start.py file, we've created a small library called [Mailu/MailuStart](https://github.com/Mailu/MailuStart). As an addition, this library also defines the template generation function, including its logging facility.

Note: `docker-compose.yml` downgrade is necessary, as IPv6 settings are not supported by the Docker Compose file format 3 😞  

### Related issue(s)
Supersedes  PR #844
- Fixes #827 
- Hopefully helps with #829 and #834

## No backport yet

This PR directly imports MailuStart from git. This makes it a bit more simple to implement on the short term an do some testing and probably some future improvements. When everything is proved stable, we will create a proper PyPi package with versioning and consider back porting.

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: place entry in the [changelog](CHANGELOG.md), under the latest un-released version.


Co-authored-by: Ionut Filip <ionut.philip@gmail.com>
Co-authored-by: Tim Möhlmann <muhlemmer@gmail.com>
6 years ago
bors[bot] 4d58b322bc Merge #888 #889
888: Correct the URL users are directed to after using setup without exposing /admin r=mergify[bot] a=Nebukadneza

In setup, users who didn’t expose `/admin` were directed to `http://127.0.0.1:8080/`, which was missing `/ui` to work.

Also, let’s help out the less apt admins by providing a copy-paste template for ssh-tunnelling.

## What type of PR?
documentation

### Related issue(s)
closes #885

## Prerequistes
- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: place entry in the [changelog](CHANGELOG.md), under the latest un-released version.


889: Catch webmail-url empty but webmail configured and force to default r=mergify[bot] a=Nebukadneza

## What type of PR?
bug-fix

## What does this PR do?
Quite some users managed to delete the contents of the webmail-url field in
setup, which forces front into a restart loop. Catch the case where a webmail
service is configured, but url is empty — and force to default /webmail.

### Related issue(s)
closes #856

## Prerequistes
- [x] In case of feature or enhancement: documentation updated accordingly
- [x] Unless it's docs or a minor change: place entry in the [changelog](CHANGELOG.md), under the latest un-released version.


Co-authored-by: Dario Ernst <dario@kanojo.de>
6 years ago
Dario Ernst ef5a114cff Put webmail on / for empty webmail_path from setup 6 years ago
Dario Ernst 0676252ec1 Revert accidental setup commits and fix code/pre tags 6 years ago
Dario Ernst d9d6f514aa Catch webmail-url empty but webmail configured and force to default
Quite some users managed to delete the contents of the webmail-url field in
setup, which forces front into a restart loop. Catch the case where a webmail
service is configured, but url is empty — and force to default /webmail.

closes #856
6 years ago
Dario Ernst 392637e16a Correct the URL users are directed to after using setup without exposing /admin
closes #885
6 years ago
Jim Heald eb8d84aed0 Fix environment variable inconsistency 6 years ago
Ionut Filip bbbd22b3a3
Merge pull request #843 from usrpro/fix-unbound-swarm
Remove unbound from swarm
6 years ago
Tim Möhlmann 3460872747
Documentation on IPv6 6 years ago
Ionut Filip 3ae1c75c55
Added IPv6 as optional 6 years ago
Ionut Filip f7e37b7d4b
Removed unbound resolver for stack flavor 6 years ago
Ionut Filip 9bec86f2c3 Fixed TLD limitation 6 years ago
Tim Möhlmann 38e754be6d
Make docs refer to the setup utility 6 years ago
Tim Möhlmann 1975534125
Make docker-compose.yml for setup and docs development friendly
This enables easy local running.
Actual deployment files are moved to github.com/mailu/infra.
6 years ago
Ionut Filip 50343f354e Merge remote-tracking branch 'upstream/master' into feat-psql-support 6 years ago
Ionut Filip 37a07e3297 Update setup utility with mysql db flavor 6 years ago
Tim Möhlmann 7d01bb2a4d
LOG_LEVEL docs and changelog entry 6 years ago
Ionut Filip 9077bf7313 Merge remote-tracking branch 'upstream/master' into feat-psql-support 6 years ago
Tim Möhlmann cffc7c15f1
Merge remote-tracking branch 'upstream/master' into fix-setup-filegen 6 years ago
Tim Möhlmann 738d98e5ab
Fix code formatting 6 years ago
Tim Möhlmann b2823c23b8
Merge remote-tracking branch 'upstream/master' into feat-psql-support 6 years ago