Commit Graph

3477 Commits (238daef6d8b0b853fb38e4d2b4a5d8a4b25c4abd)
 

Author SHA1 Message Date
Alexander Graf eda0e3a226
Merge remote-tracking branch 'upstream/master' into update_roundcube
Alexander Graf aa1d605665
Merge remote-tracking branch 'upstream/master' into passlib
Dimitri Huisman b20d0a83d5 Doh!
Dimitri Huisman b391692698 It is handy to close strings.
Dimitri Huisman e2512c7cdc Testing images are pushed to DOCKER_ORG_TESTS again.
bors[bot] 7d7accae1c
Merge
2052: Update reverse proxy documentation (see ). r=mergify[bot] a=Diman0

## What type of PR?

Bug-fix / documentation

## What does this PR do?
PR  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  

## 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>
bors[bot] f20247d27b
Merge
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 

## 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>
Dimitri Huisman d7d02152bb Make fetchid file not hidden.
Dimitri Huisman 5911ee6056 Reworded changelog that it is very important to set the new configuration parameters
bors[bot] 1675399047
Merge
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>
bors[bot] ecf425470e
Merge
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>
Dimitri Huisman c3dd7330cb Update reverse proxy documentation (see ).
Alexander Graf 84a5514a97
fixed auto reply form
Alexander Graf cf7914d050
fixed field iteration
Alexander Graf fd5bdc8650
added localized date output
Alexander Graf 0315ed78d9
Merge remote-tracking branch 'upstream/master' into update_deps
Dimitri Huisman c81aa67dfa Use a better location for storing the fetchmail data.
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.
bors[bot] d8c6a2d15e
Merge
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>
Dimitri Huisman 2404cf2e3d Fix for issue
Till Skrodzki c48e00ee26 Do not call .split() on RELAYNETS if not specified
bors[bot] 56cbc56df7
Merge
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>
bors[bot] 78dd13a217
Merge
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)
- 

## 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>
Florent Daigniere 6bf1a178b9 Go with ghostwheel42's suggestion
Florent Daigniere b68033eb43 only parse it once
Alexander Graf 423b8a6b9b
Merge branch 'master' into update_roundcube
Alexander Graf 82e14f1292
Merge branch 'master' into update_deps
bors[bot] f0188d9623
Merge
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  

## 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>
Florent Daigniere dc6e970a7f handle HTTP too
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/ ...
Florent Daigniere 6c6b0b161c Set the right flags on the rate_limit cookie
Florent Daigniere f9373eacab Merge remote-tracking branch 'upstream/master' into misc
Florent Daigniere 5714b4f4b0 introduce MESSAGE_RATELIMIT_EXEMPTION
DjVinnii 30d7e72765 Move TZ to Advanced settings
DjVinnii 548077c465 Update docs
DjVinnii a6beb234ff Set timezone in roundcube.ini
DjVinnii 225160610b Set default TZ in Dockerfiles
DjVinnii 679eae5181 Add TZ to mailu.env
DjVinnii 81e33d3679 Add default TZ to config manager
Alexander Graf 97e79a973f fix sso login button spacing again
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?
Alexander Graf 4669374b9e use python wheels
Alexander Graf 85d86d4156 some more libs updated
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.
Alexander Graf 87884213c4 update misc helper libs
Alexander Graf 56f65d724d update babel
Alexander Graf 5238b00f0b update alembic
Alexander Graf f613205fe1 update tenacity
Alexander Graf 833ccb5544 reload page using GET when selecting language
Alexander Graf 8b15820b01 fix sso login button spacing