docs: Update all docker-compose files to use the same version and examples (#2159)

Initial pass for achieving more consistency with docker-compose related configs.

* Set DMS_DEBUG to 0
* align with default docker-compose.yml

Co-authored-by: Casper <casperklein@users.noreply.github.com>
Co-authored-by: Georg Lauterbach <44545919+georglauterbach@users.noreply.github.com>
Co-authored-by: Brennan Kinney <5098581+polarathene@users.noreply.github.com>
This commit is contained in:
William Desportes 2021-09-20 09:27:55 +02:00 committed by GitHub
parent ddd97274e0
commit 4d3fade23b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 78 additions and 70 deletions

View file

@ -3,8 +3,8 @@ version: '3.8'
services:
mailserver:
image: docker.io/mailserver/docker-mailserver:latest
hostname: <HOSTNAME> # <-- CHANGE THIS
domainname: <DOMAINNAME> # <-- CHANGE THIS
hostname: mail
domainname: example.com
container_name: mailserver
env_file: mailserver.env
# To avoid conflicts with yaml base-60 float, DO NOT remove the quotation marks.
@ -24,4 +24,7 @@ services:
- ./config/:/tmp/docker-mailserver/
restart: always
stop_grace_period: 1m
cap_add: [ "NET_ADMIN", "SYS_PTRACE" ]
cap_add:
- NET_ADMIN
- SYS_PTRACE

View file

@ -126,13 +126,13 @@ To enable LDAP over StartTLS (on port 389), you need to set the following enviro
???+ example "Basic Setup"
```yaml
version: '2'
version: '3.8'
services:
mail:
image: mailserver/docker-mailserver:latest
mailserver:
image: docker.io/mailserver/docker-mailserver:latest
hostname: mail
domainname: example.org
container_name: mail
domainname: example.com
container_name: mailserver
ports:
- "25:25"
@ -172,7 +172,7 @@ To enable LDAP over StartTLS (on port 389), you need to set the following enviro
- DOVECOT_PASS_ATTRS=uid=user,userPassword=password
- DOVECOT_USER_ATTRS==home=/var/mail/%{ldap:uid},=mail=maildir:~/Maildir,uidNumber=uid,gidNumber=gid
# <<< Dovecot LDAP Integration
# >>> SASL LDAP Authentication
- ENABLE_SASLAUTHD=1
- SASLAUTHD_MECHANISMS=ldap
@ -191,14 +191,14 @@ To enable LDAP over StartTLS (on port 389), you need to set the following enviro
??? example "Kopano / Zarafa"
```yaml
version: '2'
version: '3.8'
services:
mail:
image: mailserver/docker-mailserver:latest
mailserver:
image: docker.io/mailserver/docker-mailserver:latest
hostname: mail
domainname: domain.com
container_name: mail
domainname: example.com
container_name: mailserver
ports:
- "25:25"

View file

@ -28,22 +28,22 @@ While indexing is memory intensive, you can configure the plugin to limit the am
plugin {
fts = xapian
fts_xapian = partial=3 full=20 verbose=0
fts_autoindex = yes
fts_enforced = yes
# disable indexing of folders
# fts_autoindex_exclude = \Trash
# Index attachements
# fts_decoder = decode2text
}
service indexer-worker {
# limit size of indexer-worker RAM usage, ex: 512MB, 1GB, 2GB
vsz_limit = 1GB
}
# service decode2text {
# executable = script /usr/libexec/dovecot/decode2text.sh
# user = dovecot
@ -62,7 +62,7 @@ While indexing is memory intensive, you can configure the plugin to limit the am
version: '3.8'
services:
mailserver:
image: mailserver/docker-mailserver:latest
image: docker.io/mailserver/docker-mailserver:latest
hostname: mail
domainname: example.com
container_name: mailserver
@ -82,7 +82,9 @@ While indexing is memory intensive, you can configure the plugin to limit the am
- ./fts-xapian-plugin.conf:/etc/dovecot/conf.d/10-plugin.conf:ro
restart: always
stop_grace_period: 1m
cap_add: [ "NET_ADMIN", "SYS_PTRACE" ]
cap_add:
- NET_ADMIN
- SYS_PTRACE
```
3. Recreate containers:
@ -126,7 +128,7 @@ However, Solr also requires a fair bit of RAM. While Solr is [highly tuneable](h
mailserver:
depends_on:
- solr
image: mailserver/docker-mailserver:latest
image: docker.io/mailserver/docker-mailserver:latest
...
volumes:
...
@ -146,7 +148,7 @@ However, Solr also requires a fair bit of RAM. While Solr is [highly tuneable](h
plugin {
fts = solr
fts_autoindex = yes
fts_solr = url=http://solr:8983/solr/dovecot/
fts_solr = url=http://solr:8983/solr/dovecot/
}
```

View file

@ -176,7 +176,7 @@ spec:
hostname: mailserver
containers:
- name: mailserver
image: ghcr.io/docker-mailserver/docker-mailserver:10.0.0
image: ghcr.io/docker-mailserver/docker-mailserver:latest
imagePullPolicy: IfNotPresent
securityContext:

View file

@ -36,7 +36,7 @@ You will need to first obtain the configuration from the running container: `mkd
```yaml
services:
mail:
mailserver:
volumes:
- maildata:/var/mail
- ./config/dovecot/10-master.conf:/etc/dovecot/conf.d/10-master.conf

View file

@ -140,7 +140,7 @@ The following `docker-compose.yml` is the basic setup you need for using `letsen
version: "2"
services:
nginx:
nginx:
image: nginx
container_name: nginx
ports:
@ -191,12 +191,12 @@ The second part of the setup is the actual mail container. So, in another folder
???+ example "Example Code"
```yaml
version: '2'
version: '3.8'
services:
mailserver:
image: mailserver/docker-mailserver:latest
hostname: <HOSTNAME> # <-- change this
domainname: <DOMAINNAME> # <-- change this
image: docker.io/mailserver/docker-mailserver:latest
hostname: mail
domainname: example.com
container_name: mailserver
ports:
- "25:25"
@ -380,14 +380,12 @@ This setup only comes with one caveat: The domain has to be configured on anothe
``` YAML
version: '3.8'
services:
mailserver:
image: docker.io/mailserver/docker-mailserver:latest
container_name: mailserver
hostname: mail
domainname: domain.tld
domainname: example.com
container_name: mailserver
volumes:
- /traefik/acme.json:/etc/letsencrypt/acme.json:ro
environment:
@ -395,9 +393,9 @@ This setup only comes with one caveat: The domain has to be configured on anothe
SSL_DOMAIN: mail.example.com"
# for a wildcard certificate, use
# SSL_DOMAIN: example.com
traefik:
image: docker.io/traefik:v2.4.8
image: docker.io/traefik:v2.5
ports:
- "80:80"
- "443:443"
@ -416,7 +414,7 @@ This setup only comes with one caveat: The domain has to be configured on anothe
- /var/run/docker.sock:/var/run/docker.sock:ro
whoami:
image: docker.io/traefik/whoami:latest
image: docker.io/traefik/whoami:latest
labels:
- "traefik.http.routers.whoami.rule=Host(`mail.domain.tld`)"
```

View file

@ -44,7 +44,7 @@ DESCRIPTION
see the tagging convention in the README under
https://github.com/docker-mailserver/docker-mailserver/blob/master/README.md
You will be able to see detailed information about the script you are invoking and
You will be able to see detailed information about the script you're invoking and
its arguments by appending help after your command. Currently, this
does not work with all scripts.

View file

@ -25,37 +25,39 @@ We are going to use this docker based mailserver:
!!! example
```yaml
version: '2'
version: '3.8'
services:
mail:
image: mailserver/docker-mailserver:latest
mailserver:
image: docker.io/mailserver/docker-mailserver:latest
hostname: mail
domainname: example.org
container_name: mail
domainname: example.com
container_name: mailserver
ports:
- "25:25"
- "587:587"
- "465:465"
- "25:25"
- "587:587"
- "465:465"
volumes:
- ./data/:/var/mail/
- ./state/:/var/mail-state/
- ./config/:/tmp/docker-mailserver/
- /var/ds/wsproxy/letsencrypt/:/etc/letsencrypt/
- ./data/maildata:/var/mail
- ./data/mailstate:/var/mail-state
- ./data/maillogs:/var/log/mail
- /etc/localtime:/etc/localtime:ro
- ./config/:/tmp/docker-mailserver/
- /var/ds/wsproxy/letsencrypt/:/etc/letsencrypt/
environment:
- PERMIT_DOCKER=network
- SSL_TYPE=letsencrypt
- ONE_DIR=1
- DMS_DEBUG=1
- SPOOF_PROTECTION=0
- REPORT_RECIPIENT=1
- ENABLE_SPAMASSASSIN=0
- ENABLE_CLAMAV=0
- ENABLE_FAIL2BAN=1
- ENABLE_POSTGREY=0
- PERMIT_DOCKER=network
- SSL_TYPE=letsencrypt
- ONE_DIR=1
- DMS_DEBUG=0
- SPOOF_PROTECTION=0
- REPORT_RECIPIENT=1
- ENABLE_SPAMASSASSIN=0
- ENABLE_CLAMAV=0
- ENABLE_FAIL2BAN=1
- ENABLE_POSTGREY=0
cap_add:
- NET_ADMIN
- SYS_PTRACE
- NET_ADMIN
- SYS_PTRACE
```
For more details about the environment variables that can be used, and their meaning and possible values, check also these:

View file

@ -54,13 +54,16 @@ Feel free to add your configuration if you archived the same goal using differen
[...]
```
Truncated list of neccessary labels on the mailserver container:
Truncated list of necessary labels on the mailserver container:
```yaml
version: '2'
version: '3.8'
services:
mail:
image: mailserver/docker-mailserver:latest
mailserver:
image: docker.io/mailserver/docker-mailserver:latest
hostname: mail
domainname: example.com
container_name: mailserver
restart: always
networks:
- proxy

View file

@ -209,8 +209,8 @@ The following configuration works nicely:
```yaml
services:
mail:
image: mailserver/docker-mailserver:latest
mailserver:
image: docker.io/mailserver/docker-mailserver:latest
volumes:
- ./cron/sa-learn:/etc/cron.d/sa-learn
```
@ -221,8 +221,8 @@ The following configuration works nicely:
version: "3.3"
services:
mail:
image: mailserver/docker-mailserver:latest
mailserver:
image: docker.io/mailserver/docker-mailserver:latest
# ...
configs:
- source: my_sa_crontab