3121 Commits (15e64e8e500ab0372bd42a776e025c513d4886a8)
 

Author SHA1 Message Date
Dimitri Huisman 15e64e8e50 Add concurrency to ensure that only a single workflow can run for a branch. 3 years ago
Dimitri Huisman 04bbd9f515 Fix folder path twice in deploy.sh. 3 years ago
Dimitri Huisman f247520fe5 Forgot to update tests to use PINNED_MAILU_VERSION as tag. 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
bors[bot] f2fac2fd1b
Merge #2054
2054: Testing images are pushed to DOCKER_ORG_TESTS again. r=mergify[bot] a=Diman0

## What type of PR?

Bug fix

## What does this PR do?
Fixes CI workflow. Testing images ( *:pr-xxxx) where pushed to DOCKER_ORG (mailu) instead of DOCKER_ORG_TESTS (mailuci). Images for testing (branch testing) are pushed to mailuci again.


Co-authored-by: Dimitri Huisman <diman@huisman.xyz>
3 years ago
bors[bot] 6a5ab161f4
Merge #2056
2056: Passlib r=mergify[bot] a=ghostwheel42

## What type of PR?

minor bug-fix

## What does this PR do?

compiles list of schemes using an iterator. will not fail when `scrypt` is not present in registry.

### Related issue(s)

updates #1753

## 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.

- [ ] 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.


Co-authored-by: Alexander Graf <ghostwheel42@users.noreply.github.com>
3 years ago
Alexander Graf aa1d605665
Merge remote-tracking branch 'upstream/master' into passlib 3 years ago
Dimitri Huisman b20d0a83d5 Doh! 3 years ago
Dimitri Huisman b391692698 It is handy to close strings. 3 years ago
Dimitri Huisman e2512c7cdc Testing images are pushed to DOCKER_ORG_TESTS again. 3 years ago
bors[bot] 7d7accae1c
Merge #2052
2052: Update reverse proxy documentation (see #1962). r=mergify[bot] a=Diman0

## What type of PR?

Bug-fix / documentation

## What does this PR do?
PR #1959 introduces functionality that Mailu must be told what header to trust from a reverse proxy. This PR updates the documentation that for a reverse proxy a header must be configured for passing the remote client IP. 
And that in mailu.env file you must configure what header is used by the reverse proxy and what the IP address is of this reverse proxy. 

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

## 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: Dimitri Huisman <diman@huisman.xyz>
3 years ago
bors[bot] f20247d27b
Merge #2049
2049: fix for issue 1223 (fetchmail persistence idfile) r=mergify[bot] a=Diman0

## What type of PR?

bug-fix

## What does this PR do?
It introduces a new data folder (/mailu/fetchmail) that will hold the idfile. The file that is used by fetchmail to keep track of what messages where retrieved. Recreating the fetchmail container does not result in all messages being retrieved again. It also configurs fetchmail to actually create this file (--uidl).

It changes fetchmail to run as root. For now this is required, because the mailu data folder (/mailu) is owned by root. In the future we must change all images at the same time, to run without root and use a mailu folder that is not owned by root. That is out of scope for this PR. 

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

## Prerequisites
- [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: Dimitri Huisman <diman@huisman.xyz>
3 years ago
Dimitri Huisman d7d02152bb Make fetchid file not hidden. 3 years ago
Dimitri Huisman 5911ee6056 Reworded changelog that it is very important to set the new configuration parameters 3 years ago
bors[bot] 1675399047
Merge #2037
2037: update python dependencies of admin container r=mergify[bot] a=ghostwheel42

## What type of PR?

updates python dependencies of admin container

## What does this PR do?

### Related issue(s)

## 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: Alexander Graf <ghostwheel42@users.noreply.github.com>
3 years ago
bors[bot] ecf425470e
Merge #1224
1224: RFC: Mailu directory structure r=mergify[bot] a=muhlemmer

## What type of PR?
RFC / design documentation

## What does this PR do?
Describes a proposal to restructure the `/mailu` directories to allow for easier and more clear configuration in replicated environments.

It proposes the following layout:

````
/mailu
├── config
│   ├── dovecot
│   ├── postfix
│   ├── rainloop
│   ├── redis
│   ├── roundcube
│   │   └── gpg
│   ├── rspamd
│   └── share
│       ├── certs
│       └── dkim
├── data
│   ├── admin
│   ├── rainloop
│   ├── roundcube
│   └── rspamd
├── local
│   ├── clamav
│   └── mailqueue
└── mail
````

Where in replicated environments:

- `/mailu/config/`: should be a small, low performant and shared filesystem.
- `/mailu/data`: should be avoided. More work will need to be done to configure external DB servers for relevant services. Ideally, this directory should only exist on docker-compose deployments.
- `/mailu/local/`: Should exist only on local file systems of worker nodes.
- `/mailu/mail`: A distributed filesystem with sufficient performance and storage requirements to hold and process all user mailboxes. Ideally only Maildir without indexes.



Co-authored-by: Tim Möhlmann <muhlemmer@gmail.com>
3 years ago
Dimitri Huisman c3dd7330cb Update reverse proxy documentation (see #1962). 3 years ago
Alexander Graf 84a5514a97
fixed auto reply form 3 years ago
Alexander Graf cf7914d050
fixed field iteration 3 years ago
Alexander Graf fd5bdc8650
added localized date output 3 years ago
Alexander Graf 0315ed78d9
Merge remote-tracking branch 'upstream/master' into update_deps 3 years ago
Dimitri Huisman c81aa67dfa Use a better location for storing the fetchmail data. 3 years ago
Dimitri Huisman 92e65b33e0 Configure fetchmail to use idfile to keep track of messages.
Run fetchmail as root. This is unfortunately required because
all files are owned by root in the mailu data folder.
In the future  we must switch all images to running all
all processes with a non-root user.
3 years ago
bors[bot] d8c6a2d15e
Merge #2047
2047: Do not call .split() on RELAYNETS if not specified r=mergify[bot] a=Grennith

## What type of PR?

bug-fix

## What does this PR do?

The call to {{ RELAYNETS.split(",") | join(' ') }} when starting postfix breaks if RELAYNETS has not been specified using the environmental variables.

## 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.


Co-authored-by: Till Skrodzki <till@mueskro.de>
3 years ago
Dimitri Huisman 2404cf2e3d Fix for issue #1223 3 years ago
Till Skrodzki c48e00ee26 Do not call .split() on RELAYNETS if not specified 3 years ago
bors[bot] 56cbc56df7
Merge #2044
2044: Vault/rspamd: don't return any key for relayed domains r=mergify[bot] a=nextgens

## What type of PR?

enhancement

## What does this PR 

Don't return any key for relayed domains. We may want to revisit this (ARC signing)... but in the meantime it saves from a scary message in rspamd.
    
```signing failure: cannot request data from the vault url: /internal/rspamd/vault/v1/dkim/ ...```


Co-authored-by: Florent Daigniere <nextgens@freenetproject.org>
3 years ago
bors[bot] 78dd13a217
Merge #2042
2042: Add MESSAGE_RATELIMIT_EXEMPTION r=mergify[bot] a=nextgens

## What type of PR?

Enhancement

## What does this PR do?

Add a new knob called ```MESSAGE_RATELIMIT_EXEMPTION```.

### Related issue(s)
- #1774

## 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
- [ ] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/workflow.html#changelog) entry file.


Co-authored-by: Florent Daigniere <nextgens@freenetproject.org>
3 years ago
Florent Daigniere 6bf1a178b9 Go with ghostwheel42's suggestion 3 years ago
Florent Daigniere b68033eb43 only parse it once 3 years ago
Alexander Graf 82e14f1292
Merge branch 'master' into update_deps 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
Florent Daigniere dc6e970a7f handle HTTP too 3 years ago
Florent Daigniere bbef4bee27 Don't return any key for relayed domains
We may want to revisit this (ARC signing)... but in the meantime
it saves from a scary message in rspamd

signing failure: cannot request data from the vault url: /internal/rspamd/vault/v1/dkim/ ...
3 years ago
Florent Daigniere 6c6b0b161c Set the right flags on the rate_limit cookie 3 years ago
Florent Daigniere f9373eacab Merge remote-tracking branch 'upstream/master' into misc 3 years ago
Florent Daigniere 5714b4f4b0 introduce MESSAGE_RATELIMIT_EXEMPTION 3 years ago
DjVinnii 30d7e72765 Move TZ to Advanced settings 3 years ago
DjVinnii 548077c465 Update docs 3 years ago
DjVinnii a6beb234ff Set timezone in roundcube.ini 3 years ago
DjVinnii 225160610b Set default TZ in Dockerfiles 3 years ago
DjVinnii 679eae5181 Add TZ to mailu.env 3 years ago
DjVinnii 81e33d3679 Add default TZ to config manager 3 years ago
Alexander Graf 97e79a973f fix sso login button spacing again 3 years ago
Alexander Graf 73ab4327c2 updated database libraries (sqlalchemy etc.)
this is working fine, but introduces a sqlalchemy warning
when using config-import:

  /app/mailu/schemas.py:822:
    SAWarning: Identity map already had an identity for (...),
    replacing it with newly flushed object.
    Are there load operations occurring inside of an event handler
    within the flush?
3 years ago
Alexander Graf 4669374b9e use python wheels 3 years ago
Alexander Graf 85d86d4156 some more libs updated 3 years ago
Alexander Graf ffd99c3fa8 updated flask
ConfigManager should not replace app.config - this is causing trouble
with some other flask modules (swagger).
Updated ConfigManager to only modify app.config and not replace it.
3 years ago
Alexander Graf 87884213c4 update misc helper libs 3 years ago