Commit graph

596 commits

Author SHA1 Message Date
Dennis Stumm 3ec1fb202d Add ldap auth for postfix and dovecot (#352)
* Add ldap support for postfix and dovecot

* Add SASLAUTHD

* Update README.md

* Add necessary packages to dockerfile

* Add config files for ldap

* Add tests for ldap auth
2016-10-30 14:11:36 +01:00
Thomas VIAL 5298271bfd Fixes #364 - hostname/domainame is required. (#368) 2016-10-30 12:42:29 +01:00
Thomas VIAL 05f993ceb8 Fixes #362 by removing unused parameter (#363) 2016-10-27 14:59:38 +02:00
Kai Ren 9111a92b18 improve OpenDKIM and OpenDMARC milters integration (#361) 2016-10-25 08:57:08 +02:00
Kai Ren a62062c382 make Postfix -> Dovecot delivery over LMTP (was LDA) (#305) (#360) 2016-10-24 15:03:08 +02:00
Alexander Neu 50a3418d7f Fixes #339 (#356)
Overwrite message with the actual logged message.
2016-10-13 20:40:22 +02:00
Thomas VIAL 08dc28e304 Fixes #346 and added a virusmail wiper triggered by a CRON (#347)
* Fixes #346 and added a virusmail wiper triggered by a CRON

* Renamed env to something more explicit VIRUSMAILS_DELETE_DELAY
2016-10-08 19:02:47 +02:00
Dennis Stumm 986dc97f1a Fix rm erros in tests (#342) 2016-09-30 23:37:09 +02:00
Thomas VIAL a97c8075ee Fixes #340 - amavis_duration is now a number and not a string anmymore (#341)
Fixes #340 - amavis_duration is now a number and not a string anymore
2016-09-30 13:54:50 +02:00
Pablo Castorino e4bab5b996 add ELK support (#331)
* add support to forward logs to ELK stack.
* from docker elk customize image with
* https://github.com/whyscream/postfix-grok-patterns
* custom imput
* override syslog filter.
* fix typo.
* Explicit forwarder vars and messages.
* add amavis grok
* add dovecot grok
* add geoip db
* add logstash geoip plugin
* add custom amavis grok from @tomav.
* switch to filebeats input
* refactor syslog filter
* add filebeat
* add template config
* replace rsyslog with filebeat.
2016-09-29 22:52:05 +02:00
Thomas VIAL c2eb975ace Fixes #329 (#330) 2016-09-23 08:22:57 +02:00
Josef Friedrich bd14a1d8bf Revert "Fix for multiple ipv4" (#306 #310) (#325)
This reverts commit e5d14fd0bc.
172.0.0.0-172.15.255.255 and 172.32.0.0-172.255.255.255 are valid
external IP addresses. Try PERMIT_DOCKER: network instead.
2016-09-19 12:34:57 +02:00
Josef Friedrich f42a0c1935 Improve 'make clean' (#323)
Remove also all temporary test files. A new test can be started without
reclone the repository.
2016-09-12 17:49:46 +02:00
Thomas VIAL 535f809c5b Added .dockerignore to avoid having 120+ Mo pushed into the image (#321) 2016-09-11 20:12:42 +02:00
Thomas VIAL ab263b2ec3 Added check on logs regarding permission that occured sometimes... (#320)
* Added check on logs regarding permission that occured sometimes...

* Fixed test container
2016-09-11 14:26:04 +02:00
Josef Friedrich c8086135a4 Avoid many escaped slashes in sed scripts (#317)
Many escaped slashes can be avoided by changing the deliminter in sed
replace statements. This increases readability a little bit.
2016-09-09 12:29:15 +02:00
Thomas VIAL 540ff3b600 Added SLack configuration for Travis notifications (#316) 2016-09-07 22:40:02 +02:00
Josef Friedrich cc2043ba88 Add syntax highlighting for YAML code snippets. (#314)
Fenced code blocks support YAML syntax highlighting.
2016-09-07 19:39:27 +02:00
Kai Ren d9e1c0ad61 remove unnecessary spamd process (#312) 2016-09-06 13:06:25 +02:00
Josef Friedrich 2241f9b61e Merge pull request #310 from Zehir/master
Fix for multiple IPV4
2016-09-05 08:09:27 +02:00
Zehir e5d14fd0bc Fix for multiple IPV4 2016-09-04 23:26:10 +02:00
Josef Friedrich 06125e1f1a Show debug message when config/dovecot.cf gets loaded (#307) (#308) 2016-09-04 20:38:30 +02:00
Josef Friedrich fce98eaecb Use COPY instead of ADD in Dockerfile (#301) (#304)
For other items (files, directories) that do not require ADD’s tar
auto-extraction capability, you should always use COPY.

  docker run --rm -i lukasmartinelli/hadolint < Dockerfile

shows:

  /dev/stdin:49 DL3020 Use COPY instead of ADD for files and folders
  /dev/stdin:50 DL3020 Use COPY instead of ADD for files and folders
  /dev/stdin:62 DL3020 Use COPY instead of ADD for files and folders
  /dev/stdin:63 DL3020 Use COPY instead of ADD for files and folders
  /dev/stdin:77 DL3020 Use COPY instead of ADD for files and folders
  /dev/stdin:78 DL3020 Use COPY instead of ADD for files and folders
  /dev/stdin:81 DL3020 Use COPY instead of ADD for files and folders
  /dev/stdin:82 DL3020 Use COPY instead of ADD for files and folders
  /dev/stdin:85 DL3020 Use COPY instead of ADD for files and folders
  /dev/stdin:89 DL3020 Use COPY instead of ADD for files and folders
  /dev/stdin:107 DL3020 Use COPY instead of ADD for files and folders
  /dev/stdin:109 DL3020 Use COPY instead of ADD for files and folders
2016-09-04 20:37:16 +02:00
bigpigeon 0baf7954c5 missing with relayhost (#303)
* add AWS_SES_PORT env

* issue: relayhost port
2016-09-02 14:25:15 +02:00
Morgan Kesler 02f854f4e9 Allow user to provide Amavis configuration (#299)
* Add the option of manually specifying paths to SSL certificates

* Adding tests for manual SSL changes

* Allow user provided configuration of amavis
2016-09-02 09:08:41 +02:00
Josef Friedrich 4e253a098d Simplify Dockerfile (#300)
The 'ADD' instruction can handle directories as source. It is no need
to add every script in 'target/bin' explicitly. New scripts can be
added without touching the Dockerfile.
2016-09-02 09:08:05 +02:00
Josef Friedrich ac36272d97 Improve and extend setup.sh (#295)
* Improve and extend setup.sh

Add subcommands 'debug show-mail-logs', 'inspect', 'login'. Add option
'-c' to specify the name of the running container. Add option '-i' to
specify the image name.

* Add tests for setup.sh
2016-09-01 12:10:23 +02:00
Morgan Kesler ee0c4244cc Add the option of manually specifying paths to SSL certificates (#296)
* Add the option of manually specifying paths to SSL certificates

* Adding tests for manual SSL changes
2016-08-31 15:15:39 +02:00
Josef Friedrich afb8c05cf9 Refactor Dockerfile (#293)
Split long "oneliner" in multiple lines to increase readability. Sort
installed packages alphabetically. Replace tabs with to two spaces.
2016-08-30 09:59:46 +02:00
Josef Friedrich 81f42d096a Improve script 'debug-fetchmail' (#292)
The option '--check' checks for new mails without actually fetching
or deleting mail. Without '--check' 'debug-fetchmail' throws errors if
the external mail accout has new mails and the smtp daemon is not
running.
2016-08-30 09:58:45 +02:00
Josef Friedrich 0064a19c68 Let Travis CI test on all branches (#291)
Most developers implement new docker-mailserver features on feature
branches before they create a pull request. This commit enables Travis
CI testing on all branches except 'donttestme'. Developers now can
'pre-test' their features branches without permanentaly hacking
'.travis.yml'. More testing is good!
2016-08-30 09:58:22 +02:00
Jack Twilley dbc6c6dffa Actually use the key. (#290)
This code was mistakenly not committed, and is required for the feature to work.
2016-08-30 09:57:44 +02:00
Josef Friedrich 6c9901e260 Improve fetchmail support (#289)
Fetchmail is now configured by a script called 'setup-fetchmail'.
The script 'debug-fetchmail' is used inside the 'setup.sh' script.
2016-08-29 19:03:45 +02:00
Jack Twilley cd7bc5f6bc Minor tweaks to letsencrypt configuration. (#288)
The letsencrypt-auto client creates cert.pem, chain.pem, fullchain.pem, and
privkey.pem in its default settings.  The simp_le client creates cert.pem,
fullchain.pem, and key.pem in its default settings.

A check for either privkey.pem or key.pem was added.

The chain.pem file was only used by the letsencrypt code for the creation of
combined.pem, which is not used by either postfix or dovecot.

The code to create a combined.pem file for letsencrypt was removed, as was the
corresponding test.
2016-08-29 13:46:16 +02:00
Josef Friedrich 98e59a7abe Implement ./setup.sh email list (#287)
This commit adds a script nammed 'listmailuser'. './setup.sh' uses this
this script for its subcommand './setup.sh email list'. A test have
been added too.
2016-08-29 13:44:36 +02:00
Josef Friedrich 69ee54513e Fix build (#286)
The Refactoring of the scripts 'addmailuser' and 'delmailuser'
destroyed the build process.
2016-08-29 07:13:36 +02:00
Josef Friedrich 61cf0bfc6f Add wrapper script for easier setup of the docker-mailserver (#280)
To setup the mailserver large snippets of shell code had to past in a
console. Instead of:

  mkdir -p config
  touch config/postfix-accounts.cf
  docker run --rm \
    -e MAIL_USER=user1@domain.tld \
    -e MAIL_PASS=mypassword \
    -ti tvial/docker-mailserver:latest \
    /bin/sh -c 'echo "$MAIL_USER|$(doveadm pw -s SHA512-CRYPT -u
  $MAIL_USER -p $MAIL_PASS)"' >> config/postfix-accounts.cf

you can specify:

  ./setup.sh email add user1@domain.tld mypassword

This wrapper script can be easily extended. It uses the scripts already
builtin.
2016-08-28 21:10:25 +02:00
Josef Friedrich 76d2c779df Adjust coding style in "bin" scripts (#279)
The main shell script (start-mailserver.sh) uses two spaces for
indentation. All other shell scripts should use this coding
style.
2016-08-28 21:08:37 +02:00
bigpigeon 46278ec890 add AWS_SES_PORT env (#278) 2016-08-28 21:07:16 +02:00
Jack Twilley 6d2d9dd738 Handle missing files more gracefully. (#265)
* Wrote functional tests for desired behavior.

Redoing the pull request, starting from current master.

The tests now fail where expected.

* Updated commands to handle missing files better.

The functional tests now pass.
2016-08-24 10:06:59 +02:00
Josef Friedrich f707a11c98 Add notice to docker-compose version in README (#268 #276) (#277) 2016-08-23 11:51:05 +02:00
Josef Friedrich 859df6866b Delete orphaned configuration file (#273)
The config file target/dovecot/dovecot.conf is not used to build the
docker-mailserver image. All tests are working without this file. The
additional config file config/dovecot.cf won’t be loaded if
target/dovecot/dovecot.conf is used.
2016-08-22 17:37:45 +02:00
Josef Friedrich e7de8b9245 Implement fetchmail (#260) (#271)
To retrieve emails from external mail accounts.
2016-08-21 22:13:13 +02:00
Zehir 8b289f6717 Adding the PERMIT_DOCKER option (#270)
* Adding the PERMIT_DOCKER option

See README.md for more informations

* Adding some test for PERMIT_DOCKER option

* Fix test cases

* Opendkim and Openmarc configuration

Fix docker network range
Adding opendkim and openmarc configuration

* Adding some options for tests

* Update log message

* Update tests
2016-08-21 22:10:13 +02:00
Jack Twilley 0e8934c151 Minor corrections to README.md (#264)
One example was missing a useful line, which was present in the wiki's example and without which the example does not run.

A typographical error was found in a file.
2016-08-18 09:54:17 +02:00
Kyle Ondy 4872d0e777 selective service disable (#250)
* Allow disabling amavis service

Setting the `DISABLE_AMAVIS=1` env var will skip the starting of the
amavis process.

* Enable option to not run spamassassin

Setting the `DISABLE_SPAMASSASSIN=1` env var will start this container
without spamassain.

* Allow starting of the container without clamav

Setting the `DISABLE_CLAMAV=1` env var will start this container without
starting clamav.
2016-08-04 21:04:26 +02:00
Thomas VIAL bfecb65947
Merge branch 'master' of github.com:tomav/docker-mailserver 2016-08-02 14:27:53 +02:00
Thomas VIAL 4964e4dce6
Added shields 2016-08-02 14:24:02 +02:00
Thomas VIAL 3014b9efcd Merge pull request #247 from KyleOndy/startup_logging
Startup logging
2016-07-29 14:21:09 +02:00
Kyle Ondy f4f70899c9
Add echo when sieve managemnt is enabled 2016-07-28 14:35:09 -04:00