diff --git a/docker-compose.yml b/docker-compose.yml index 6fb24f74..dfbab8a1 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,8 +3,8 @@ version: '3.8' services: mailserver: image: docker.io/mailserver/docker-mailserver:latest - hostname: # <-- CHANGE THIS - 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 + diff --git a/docs/content/config/advanced/auth-ldap.md b/docs/content/config/advanced/auth-ldap.md index 930a8ea1..ae418fee 100644 --- a/docs/content/config/advanced/auth-ldap.md +++ b/docs/content/config/advanced/auth-ldap.md @@ -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" diff --git a/docs/content/config/advanced/full-text-search.md b/docs/content/config/advanced/full-text-search.md index dc23df4a..efcb4674 100644 --- a/docs/content/config/advanced/full-text-search.md +++ b/docs/content/config/advanced/full-text-search.md @@ -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/ } ``` diff --git a/docs/content/config/advanced/kubernetes.md b/docs/content/config/advanced/kubernetes.md index 893f179c..44b2f6ca 100644 --- a/docs/content/config/advanced/kubernetes.md +++ b/docs/content/config/advanced/kubernetes.md @@ -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: diff --git a/docs/content/config/advanced/override-defaults/dovecot.md b/docs/content/config/advanced/override-defaults/dovecot.md index deac8504..6247cf09 100644 --- a/docs/content/config/advanced/override-defaults/dovecot.md +++ b/docs/content/config/advanced/override-defaults/dovecot.md @@ -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 diff --git a/docs/content/config/security/ssl.md b/docs/content/config/security/ssl.md index 812fab6f..ef2e5d67 100644 --- a/docs/content/config/security/ssl.md +++ b/docs/content/config/security/ssl.md @@ -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: # <-- change this - 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`)" ``` diff --git a/docs/content/config/setup.sh.md b/docs/content/config/setup.sh.md index 5ca13f75..d457ccdd 100644 --- a/docs/content/config/setup.sh.md +++ b/docs/content/config/setup.sh.md @@ -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. diff --git a/docs/content/examples/tutorials/basic-installation.md b/docs/content/examples/tutorials/basic-installation.md index 8362a513..ebd39604 100644 --- a/docs/content/examples/tutorials/basic-installation.md +++ b/docs/content/examples/tutorials/basic-installation.md @@ -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: diff --git a/docs/content/examples/tutorials/mailserver-behind-proxy.md b/docs/content/examples/tutorials/mailserver-behind-proxy.md index 6c9f4201..62e53088 100644 --- a/docs/content/examples/tutorials/mailserver-behind-proxy.md +++ b/docs/content/examples/tutorials/mailserver-behind-proxy.md @@ -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 diff --git a/docs/content/faq.md b/docs/content/faq.md index 2aac0d63..c211df3a 100644 --- a/docs/content/faq.md +++ b/docs/content/faq.md @@ -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