Dario Ernst
1aa97c9914
Add certificate watcher for external certs to reload nginx
...
In case of TLS_FLAVOR=[mail,cert], the user supplies their own certificates.
However, since nginx is not aware of changes to these files, it cannot
reload itself e.g. when the certs get renewed.
To solve this, let’s add a small daemon in the place of
`letsencrypt.py`, which uses a flexible file-watching framework and
reloads nginx in the case the certificates change ….
6 years ago
Tim Möhlmann
c00910ca4b
Merge remote-tracking branch 'upstream/master' into extend-nginx
6 years ago
Tim Möhlmann
97d338e68a
Rectify 'endif' placement
6 years ago
Tim Möhlmann
425cdd5e77
Fix syntax errors
6 years ago
Tim Möhlmann
20f1faf6d0
Send 404 when nothing server at '/'
...
Prevents Nginx welcome screen
6 years ago
Tim Möhlmann
2de4995fec
Don't redirect when webmail is served on '/'
6 years ago
Tim Möhlmann
f0906073e3
Merge remote-tracking branch 'upstream/master' into feat-subnet2
6 years ago
mergify[bot]
a634c7b72d
Merge pull request #725 from usrpro/fix-outlook2019-smtp
...
Add login method to smtp_auth under ssl
6 years ago
Tim Möhlmann
8172f3eab8
Move the Mailu Docker network to a fixed subnet.
...
This will make network configuration and host based authentication
more robust, across different deployment platforms.
The options `RELAYNETS` and`POD_ADDRESS_RANGE` are kept for compatibility.
However, their usage have become optional.
6 years ago
kaiyou
b6aaf57be1
Merge branch 'refactor-config' of github.com:kaiyou/mailu into refactor-config
6 years ago
kaiyou
d0f07984b0
Merge remote-tracking branch 'upstream/master' into refactor-config
6 years ago
Tim Möhlmann
9dd447e23b
Add login method to smtp_auth under ssl
...
Fixes #704
6 years ago
Patrick Georgi
eac4d553a9
nginx: Allow extending config with overrides
...
To facilitate this, the default redirect at / can be disabled, even if
the default remains at redirecting to the webmailer.
The extensions are within the host scope and are read from
$ROOT/overrides/nginx/*.conf.
6 years ago
mergify[bot]
2d4bac03ad
Merge pull request #723 from usrpro/clean-healthcheck-logs
...
Admin: Prevent redirects during health checking
6 years ago
mergify[bot]
a382f74680
Merge pull request #705 from usrpro/fix-recaptcha
...
Fix recaptcha
6 years ago
mergify[bot]
37027cfce7
Merge pull request #633 from kaiyou/fix-sender-checks
...
Improve sender checks
6 years ago
Tim Möhlmann
d18cf7cb25
Prevent redirects during health checking
6 years ago
Tim Möhlmann
c9df311a0d
Set forward_destination to an empty list
...
The value of `None` resulted in an error, since a list was expected.
6 years ago
Tim Möhlmann
eff6c34632
Catch asterisk before resolve_domain
...
Asterisk results in IDNA error and a 500 return code.
6 years ago
Ionut Filip
7b8835070d
Added tenacity retry fir migrations connection
6 years ago
David Rothera
88c174fb7a
Query alternative table for domain matches
...
At present postfix checks this view for matches in the domain table and is used to accept/deny messages sent into it however it never checks for matches in the alternative table.
Fixes #718
6 years ago
Ionut Filip
436055f02c
Created function for returning email type
6 years ago
Tim Möhlmann
47a3fd47b5
Fix DB_FLAVOR condition testing for models.py
6 years ago
Tim Möhlmann
0f3c1b9d15
Implement CIText as NOCASE alternative in postgresql
6 years ago
Tim Möhlmann
9b9f3731f6
Make current migrations work with postgresql
6 years ago
Tim Möhlmann
8bdc0c71af
Allow for setting a different DB flavor
6 years ago
Ionut Filip
fed7146873
Captcha check on signup form
6 years ago
Tim Möhlmann
4783e61693
Fix password context
...
Fixes the following error:
```
admin_1 | [2018-11-09 09:44:10,533] ERROR in app: Exception on /internal/auth/email [GET]
admin_1 | Traceback (most recent call last):
admin_1 | File "/usr/lib/python3.6/site-packages/flask/app.py", line 2292, in wsgi_app
admin_1 | response = self.full_dispatch_request()
admin_1 | File "/usr/lib/python3.6/site-packages/flask/app.py", line 1815, in full_dispatch_request
admin_1 | rv = self.handle_user_exception(e)
admin_1 | File "/usr/lib/python3.6/site-packages/flask/app.py", line 1718, in handle_user_exception
admin_1 | reraise(exc_type, exc_value, tb)
admin_1 | File "/usr/lib/python3.6/site-packages/flask/_compat.py", line 35, in reraise
admin_1 | raise value
admin_1 | File "/usr/lib/python3.6/site-packages/flask/app.py", line 1813, in full_dispatch_request
admin_1 | rv = self.dispatch_request()
admin_1 | File "/usr/lib/python3.6/site-packages/flask/app.py", line 1799, in dispatch_request
admin_1 | return self.view_functions[rule.endpoint](**req.view_args)
admin_1 | File "/usr/lib/python3.6/site-packages/flask_limiter/extension.py", line 544, in __inner
admin_1 | return obj(*a, **k)
admin_1 | File "/app/mailu/internal/views/auth.py", line 18, in nginx_authentication
admin_1 | headers = nginx.handle_authentication(flask.request.headers)
admin_1 | File "/app/mailu/internal/nginx.py", line 48, in handle_authentication
admin_1 | if user.check_password(password):
admin_1 | File "/app/mailu/models.py", line 333, in check_password
admin_1 | context = User.pw_context
admin_1 | AttributeError: type object 'User' has no attribute 'pw_context'
```
6 years ago
kaiyou
72e1b444ca
Merge alembic migrations
6 years ago
kaiyou
5b769e23da
Merge branch 'master' into refactor-config
6 years ago
kaiyou
02995f0a15
Add a mailu command line to flask
6 years ago
kaiyou
f9e30bd87c
Update the dockerfile and upgrade dependencies
6 years ago
kaiyou
4a7eb1eb6c
Explicitely declare flask migrate
6 years ago
kaiyou
2a8808bdec
Add the configuration table migration
6 years ago
kaiyou
f57d4859f3
Provide an in-context wrapper for getting users
6 years ago
kaiyou
f6013aa29f
Fix an old migration that was reading configuration before migrating
6 years ago
kaiyou
206cce0b47
Finish the configuration bits
6 years ago
Ionut Filip
1bbf3f235d
Using a new class when captcha is enabled
6 years ago
mergify[bot]
12689965bd
Merge pull request #699 from usrpro/fix-admin-bug
...
Fixed admin_1 errors in the logs
6 years ago
hoellen
680ad4b67a
Catching only ValueError
...
Co-Authored-By: ionutfilip <ionut.philip@gmail.com>
6 years ago
mergify[bot]
e08f3e81d0
Merge pull request #680 from usrpro/feat-startup
...
Standarize images
6 years ago
Ionut Filip
6dcc33e390
Fixed admin_1 errors in the logs
...
Fixed errors when trying to log in with an account without domain.
This closes #585
6 years ago
Tim Möhlmann
42e2dbe35d
Standarize image by using shared / similair layers
6 years ago
Tim Möhlmann
5fa2aac569
Fix imap login when no webmail selected
6 years ago
Tim Möhlmann
903bb70c5b
Merge remote-tracking branch 'upstream/master' into standarize-images
6 years ago
Scott
56fb74c502
Fix typo (duplicate self). Fixes #683
6 years ago
Ionut Filip
8a44a44688
Merge branch 'master' into feat-startup
6 years ago
Ionut Filip
1187cac5e1
Finished up switching from .sh to .py
6 years ago
Tim Möhlmann
ed81c076f2
Take out "models" path, as we are already in it
6 years ago
Tim Möhlmann
aed80a74fa
Rectify decleration of domain_name
6 years ago
Tim Möhlmann
2d382f2d67
Merge branch 'master' into fix-sender-checks
6 years ago
Ionut Filip
0e5606d493
Changed start.sh to start.py
6 years ago
Ionut Filip
eb7dfb5771
Cleaning up start.py
6 years ago
Thomas Sänger
603b6e7390
Merge pull request #2 from usrpro/fix-nginx-healthcheck
...
Fix nginx healthcheck
6 years ago
Tim Möhlmann
81b24f61e8
Merge branch 'master' into feat-healthchecks
6 years ago
Tim Möhlmann
a2fea36c79
Increase HEALTHCHECK start time for services that need to wait for host resolving during startup.
...
In Docker Swarm mode the services listed below can get stuck in their start script, while they
are waiting for other services become available. Now, with HEALTHCHECK enabled, docker does not resolve
names of services that not pass HEALTHCHECK yet. Meaning that if one of the depenend services is not yet
available, it will create a chain of failing services.
The services below retry to resolve 100 time, with an average of 3.5 seconds. Hence, the --start-time
flag is now set at 350 seconds.
- dovecot (imap)
- postfix (smtp)
- rspamd (antispam)
6 years ago
Tim Möhlmann
c3e89967fb
Fix front health checking
...
- Specified seperated /health path in order to allow for healthcheck even if webmail and admin are not seletectd. This also allows healthchecking fom external services like DNS load balancers;
- Make curl not to fail on TLS because localhost is not included in the certificates.
6 years ago
mergify[bot]
90b8c3cc1f
Merge pull request #665 from kaiyou/feat-reply-startdate
...
Implement a start date filter for autoreply, fixes #362
6 years ago
mergify[bot]
bce1487338
Merge pull request #576 from hacor/master
...
Kubernetes fixed for production
6 years ago
kaiyou
1fcaef7c7e
Merge branch 'master' into fix-sender-checks
6 years ago
Paul Williams
78bd5aea1c
enable http2, because it's that easy
6 years ago
hoellen
72d4fa2bc9
remove empty line from merge conflict
6 years ago
hoellen
857ad50509
Merge branch 'master' into feat-reply-startdate
6 years ago
mergify[bot]
4a5c0a6d21
Merge pull request #667 from kaiyou/fix-password-performance
...
Improve password checking performance
6 years ago
mergify[bot]
80658c30da
Merge pull request #669 from hoellen/fix-webmail-root
...
Fix nginx conf if webmail is on root path
6 years ago
Hans Cornelis
f10416e85a
Merged with new PRs
6 years ago
mergify[bot]
118ea0f3fb
Merge pull request #604 from ofthesun9/feature-swarm
...
Enabling swarm deployment on master branch
6 years ago
mergify[bot]
727970514d
Merge pull request #527 from ofthesun9/feat-fuzzyhashes
...
Trying to enable fuzzy hashes for rspamd
6 years ago
kaiyou
82069ea3f0
Clean most of the refactored code
6 years ago
kaiyou
f40fcd7ac0
Use click for the manager command
6 years ago
kaiyou
fc24426291
First batch of refactoring, using the app factory pattern
6 years ago
hoellen
d4f32c3e7d
remove rewrite if webmail is on root
6 years ago
kaiyou
01fa179767
Update the user password in database when needed
6 years ago
kaiyou
988e09e65e
Add a profiler in debug mode for improving performance
6 years ago
kaiyou
dba8f1810d
Do not check the password another time in Dovecot
6 years ago
kaiyou
d5162328ec
Allow dovecot to write the source configuration directory for compiling sieve scripts
6 years ago
kaiyou
ce0bf3366d
Learn fuzzy hashes automatically
6 years ago
kaiyou
0a5dbf6230
Re-enable local dovecot sieve scripts
6 years ago
Hans Cornelis
ef55ca525c
Deleted conflicting merge files
...
Signed-off-by: Hans Cornelis <hacornelis@gmail.com>
6 years ago
Hans Cornelis
e67a0d464b
Deleted old folder
6 years ago
Hans Cornelis
3098343360
Merged conflicts
6 years ago
hacor
4ea12deae7
Added kubernetes to Mailu
6 years ago
kaiyou
ed3388ed6e
Merge branch 'master' into feat-reply-startdate
6 years ago
kaiyou
7c82be904f
Merge branch 'master' of github.com:mailu/mailu
6 years ago
Thomas Sänger
a412951a30
simpler healthcheck for postfix
6 years ago
Thomas Sänger
0bc901a722
add healthcheck for dovecot
6 years ago
Thomas Sänger
1fc40bf932
add healthcheck for postfix
6 years ago
Thomas Sänger
39272ab05c
add healthcheck for http services
6 years ago
kaiyou
e784556330
Fix an edge case with old values containing None for coma separated lists
6 years ago
kaiyou
f647d1a0bc
Merge branch 'master' into fix-sender-checks
6 years ago
kaiyou
5ada669f43
Rebase reply startdate on master
6 years ago
mergify[bot]
bee81d1a54
Merge pull request #647 from HorayNarea/bcrypt
...
support bcrypt and use it as default
6 years ago
mergify[bot]
9fd7851cb6
Merge pull request #648 from HorayNarea/apk-no-cache
...
remove apk-warning about cache
6 years ago
kaiyou
15eb2806bf
Merge branch 'master' into feat-reply-startdate
6 years ago
kaiyou
5035975c41
Remove Postfix debugging
6 years ago
kaiyou
c6846fd8db
Merge branch 'master' into feat-reply-startdate
6 years ago
mergify[bot]
a91a54b5f1
Merge pull request #651 from usrpro/fix-certbot
...
Front: move to Alpine:3.8 and fixing #522
6 years ago
Tim Möhlmann
de43060ef8
Move to Alpine:3.8 and fixing #522
6 years ago
Thomas Sänger
bdfcc5b530
pin alpine-version for 'none'-image
6 years ago
Thomas Sänger
6aafef88bd
remove apk-warning about cache
6 years ago
Thomas Sänger
c8b39c5d4a
support bcrypt and use it as default
6 years ago
kaiyou
10ec2f999a
Another (embarrassing) fix for a merge typo
6 years ago
kaiyou
2e1aa079c1
Fix one (hopefully) last merge typo
6 years ago
kaiyou
4b9dbf00a8
Fix yet another merge-time typo
6 years ago
kaiyou
e8e133b53d
Fix a merge typo in postfix build
6 years ago
kaiyou
00b5ae11db
Merge branch 'master' into feat-abstract-db
6 years ago
ofthesun9
13146be57e
Merge branch 'master' into feature-swarm
6 years ago
kaiyou
508e519a34
Refactor the postfix views and implement sender checks
6 years ago
kaiyou
8b189ed145
Separate senderaccess and senderlogin maps
6 years ago
ofthesun9
74796201ec
Merge branch 'master' into feature-swarm
6 years ago
kaiyou
fc99eb7b34
Re-enable sender access check to prevent source spoofing
6 years ago
kaiyou
f3f0b98755
Fix relay restrictions so email gets delivered correctly
6 years ago
Tim Möhlmann
0817629869
Increase attempts as it failed on fresh Swarm host
6 years ago
Tim Möhlmann
716ed16f34
Fix typo
6 years ago
Tim Möhlmann
16469d7282
Upgrade to newer pip version
6 years ago
Tim Möhlmann
1bae5968ad
Import tenacy and fix syntax errors
6 years ago
Tim Möhlmann
c457ccfa60
Use tenacity for resolver retries
6 years ago
Tim Möhlmann
d6c386651d
Merge branch 'master' into fix-swarm-start
6 years ago
ofthesun9
09d77bc2de
Handle the case where the variable REJECT_UNLISTED_RECIPIENT is not set
6 years ago
ofthesun9
cc17962c86
fixes #583
6 years ago
kaiyou
4d70a8737e
Expose the data volume for admin container
6 years ago
kaiyou
2cba045013
Explicitely declare required volumes, fixes #568
6 years ago
kaiyou
fcad52b145
Implement a start date filter for autoreply, fixes #362
6 years ago
kaiyou
82bb8c2fd9
Merge remote-tracking branch 'github/master' into feat-abstract-db
6 years ago
kaiyou
f5668dea51
Handle relays as virtual transports through podop
6 years ago
kaiyou
9890e1fb2a
Fix the dovecot configuration path
6 years ago
kaiyou
42c6bdb4df
Split the internal blueprint into multiple view files
6 years ago
kaiyou
dc4b0d21ea
Clean the dovecot configuration dir
6 years ago
kaiyou
f9c6c98180
Remove fetchmail dependency to the databse
6 years ago
kaiyou
43b6547e1c
Lower the loglevel of podop
6 years ago
kaiyou
542793260b
Handle wildcard aliases using podop
6 years ago
kaiyou
0d52364eac
Fix alias resolution through podop
6 years ago
kaiyou
6d088504bd
Adjust podop debug level based on environment
6 years ago
kaiyou
6ba55ee377
Implement the sieve script name resolution pattern
6 years ago
kaiyou
3c725bf634
Only support generating the default sieve script
6 years ago
kaiyou
ca6c0bc8fd
Fix the user sieve script generation
6 years ago
kaiyou
4d25083847
Move sieve script generation to the admin container
6 years ago
kaiyou
cfeaa189f9
Use proper 404 return codes for missing objects
6 years ago
kaiyou
d8365bfbcf
Use simpler routes for Dovecot
6 years ago
kaiyou
697caaab81
Update podop access and mail restrictions
6 years ago
kaiyou
7143fb8c47
Implement some basic views for podop
6 years ago
kaiyou
39cd0d5034
Upgrade to alpine 3.8 for smtp and imap
6 years ago
kaiyou
68aa797720
Merge branch 'master' into feat-abstract-db
6 years ago
ofthesun9
f5f09fad6e
Reverting the patch for dovecot.conf, as it is not needed
6 years ago
Thomas Sänger
0b885548ab
bind to any protocol
6 years ago
kaiyou
73ca5fb3d3
Provide a more generic skeletton for postfix virtual lookups
6 years ago
ofthesun9
23e288aadc
Enabling swarm deployment on master branch:
...
-Extends the usage of POD_ADDRESS_RANGE
-Provides documentation
6 years ago
kaiyou
5dc9ee9516
Merge pull request #510 from hoellen/spam-trash-fix
...
Dont flag spam as ham if moved to trash
6 years ago
kaiyou
d917f60352
Merge pull request #553 from HorayNarea/compress
...
add optional Maildir-Compression
6 years ago
kaiyou
64269e08c0
Merge pull request #552 from HorayNarea/master
...
add full-text search support
6 years ago
kaiyou
313b79538e
Merge pull request #513 from mprihoda/feature/better-ratelimit-error
...
Return correct status codes from auth rate limiter failure.
6 years ago
Tim Möhlmann
cc8e15748b
Retry 10 times when resolving fails in start.py scripts
6 years ago
Thomas Sänger
0bdb2a16bc
add optional Maildir-Compression
6 years ago
Thomas Sänger
fb62e6b5a2
add full-text search support
6 years ago
kaiyou
f506966abc
Pin Alpine 3.7 to preserve the Postfix version
6 years ago
Tim Möhlmann
9350bb9b9a
Use fixed alpine:3.7 tag to prevent postix upgrade
6 years ago
Pierre Jaury
3dca1a834c
Pin alpine 3.7 until we fix the certbot issue, see #522
6 years ago
Pierre Jaury
18fe8cd9f2
Pin alpine:3.7 for Dovecot since extdata was removed from repos, fixes #528
6 years ago
Pierre Jaury
5ad02ae2e5
Use a more uniform 'Save' for most form submits, fixes #523
6 years ago
Pierre Jaury
c04e58498d
Remove unused postfix sqlite files
6 years ago
Pierre Jaury
bb73933e1e
Switch postfix to Podop
6 years ago
Pierre Jaury
82e738cc53
Remove the old code of postproxy
6 years ago
Pierre Jaury
b5d6b93869
Switch to using Podop in Dovecot
6 years ago
Pierre Jaury
809fe78f82
Add dovecot views to the internal API
6 years ago
Pierre Jaury
28001213d4
Remove the redis-based quota code
6 years ago
Pierre Jaury
76617a3c97
Store the quota status in database
6 years ago
Pierre Jaury
2b2ab864d1
Add support for querying the table in Dovecot proxy
6 years ago
Pierre Jaury
70175f8c28
Add postproxy support for Dovecot dict protocol
6 years ago
Pierre Jaury
262e82a367
Add a postfix socketmap to http proxy
6 years ago
Michal Prihoda
f5e7751835
Return correct status codes from auth rate limiter failure.
6 years ago
hoellen
ca26264d01
Dont flag spam as ham if moved to trash ( fix #474 )
6 years ago
kaiyou
75a1bf967c
Merge pull request #502 from hoellen/webmail-messagesize
...
Use message_size_limit variable from env for webmail client_max_body_size
6 years ago
hoellen
c51e1b9eef
webmail client_max_body_size with message_size_limit and 8M tolerance
6 years ago
kaiyou
74b72375cb
Merge pull request #493 from MFAshby/user_validation
...
Made User and UserSignup validation consistent for the local part of
6 years ago
kaiyou
53bf6085dc
Merge pull request #501 from hoellen/webmail-root
...
Add posibilty to run webmail on root '/'
6 years ago
hoellen
9091e54fda
Hide administration header in sidebar for normal users.
6 years ago
hoellen
81a6a7cbf6
Use message_size variable from env for webmail
6 years ago
hoellen
a1fb8442e3
Add posibilty to run webmail on root '/'
6 years ago
mfashby
0284b6a8e9
Made User and UserSignup validation consistent for the local part of the email address
7 years ago
Pierre Jaury
14687d09ba
Fix announcements for idna domains
7 years ago
Pierre Jaury
e543477c2e
Revert "Only enable milter for incoming emails"
...
This reverts commit cfd233039e
.
7 years ago
Pierre Jaury
cfd233039e
Only enable milter for incoming emails
7 years ago
Pierre Jaury
6828231c28
Fix the path of the nginx pid in startup scripts, fixes #483
7 years ago
Pierre Jaury
1b0b3a2b1e
Only check login mismatch for authenticated users, fixes #309
7 years ago
Pierre Jaury
1371ba5f5e
Add the keep field to fetch forms, fixes #479
7 years ago
Pierre Jaury
ea658a174d
Fix a typo in the base html template
7 years ago
Pierre Jaury
b6c76a5e39
Do not remove openssl when purging build deps, fixes #481
7 years ago
kaiyou
a47ba3474c
Merge pull request #448 from romracer/pod-address
...
Use POD_ADDRESS_RANGE for Dovecot if it exists
7 years ago
kaiyou
3beceb90ec
Merge pull request #429 from mildred/parametrize-hosts
...
Add various environment variables to allow running outside of docker-compose
7 years ago
kaiyou
a9e41960a1
Merge pull request #468 from dtwardow/flex_tls_filenames
...
TLS using configurable filenames
7 years ago
kaiyou
91e51a24c8
Merge pull request #465 from sanduhrs/feature/463
...
Remove services status page
7 years ago
Thomas Sänger
7d661ab80d
don't require BootstrapCDN for FontAwesome (GDPR-compliance)
7 years ago
Mildred Ki'Lya
6bb4c6e2f0
Parametrize front address from dovecot
7 years ago
Mildred Ki'Lya
ae8c9f5a6b
Add various environment variables to allow running outside of docker-compose
7 years ago
Dennis Twardowsky
50f9f379e9
Flexible filenames for TLS via envvars (flavours 'cert' and 'mail' only)
7 years ago
Stefan Auditor
6177571e4d
Remove services status localization
7 years ago
Stefan Auditor
b541d4c257
Remove services status sidebar link
7 years ago
Stefan Auditor
e89b32a3f4
Remove services route
7 years ago
Stefan Auditor
ec8e82aaca
Remove services status template
7 years ago
kaiyou
f55e5e26cd
Update messages.po (POEditor.com)
7 years ago