From 5924b312f3a5c562f6699a692688411f328c0f51 Mon Sep 17 00:00:00 2001 From: milkmaker Date: Thu, 30 Dec 2021 14:24:31 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20mailcow/?= =?UTF-8?q?mailcow-dockerized-docs@aef5e6e8a4f0cef8739d60179cd30d855be8ff0?= =?UTF-8?q?e=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- firststeps-rp/index.html | 148 +++++++++++------------ sitemap.xml | 198 +++++++++++++++---------------- sitemap.xml.gz | Bin 1067 -> 1067 bytes third_party-borgmatic/index.html | 56 ++++----- 4 files changed, 201 insertions(+), 201 deletions(-) diff --git a/firststeps-rp/index.html b/firststeps-rp/index.html index 21e23deb3..273a3bd67 100644 --- a/firststeps-rp/index.html +++ b/firststeps-rp/index.html @@ -2403,47 +2403,47 @@ On many servers logrotate will reload the webserver daily anyway.

Let's Encrypt will follow our rewrite, certificate requests in mailcow will work fine.

Take care of highlighted lines.

-
<VirtualHost *:80>
-  ServerName CHANGE_TO_MAILCOW_HOSTNAME
-  ServerAlias autodiscover.*
-  ServerAlias autoconfig.*
-  RewriteEngine on
+
<VirtualHost *:80>
+  ServerName CHANGE_TO_MAILCOW_HOSTNAME
+  ServerAlias autodiscover.*
+  ServerAlias autoconfig.*
+  RewriteEngine on
 
-  RewriteCond %{HTTPS} off
-  RewriteRule ^/?(.*) https://%{HTTP_HOST}/$1 [R=301,L]
+  RewriteCond %{HTTPS} off
+  RewriteRule ^/?(.*) https://%{HTTP_HOST}/$1 [R=301,L]
 
-  ProxyPass / http://127.0.0.1:8080/
-  ProxyPassReverse / http://127.0.0.1:8080/
-  ProxyPreserveHost On
-  ProxyAddHeaders On
-  RequestHeader set X-Forwarded-Proto "http"
-</VirtualHost>
-<VirtualHost *:443>
-  ServerName CHANGE_TO_MAILCOW_HOSTNAME
-  ServerAlias autodiscover.*
-  ServerAlias autoconfig.*
+  ProxyPass / http://127.0.0.1:8080/
+  ProxyPassReverse / http://127.0.0.1:8080/
+  ProxyPreserveHost On
+  ProxyAddHeaders On
+  RequestHeader set X-Forwarded-Proto "http"
+</VirtualHost>
+<VirtualHost *:443>
+  ServerName CHANGE_TO_MAILCOW_HOSTNAME
+  ServerAlias autodiscover.*
+  ServerAlias autoconfig.*
 
-  # You should proxy to a plain HTTP session to offload SSL processing
-  ProxyPass /Microsoft-Server-ActiveSync http://127.0.0.1:8080/Microsoft-Server-ActiveSync connectiontimeout=4000
-  ProxyPassReverse /Microsoft-Server-ActiveSync http://127.0.0.1:8080/Microsoft-Server-ActiveSync
-  ProxyPass / http://127.0.0.1:8080/
-  ProxyPassReverse / http://127.0.0.1:8080/
-  ProxyPreserveHost On
-  ProxyAddHeaders On
-  RequestHeader set X-Forwarded-Proto "https"
+  # You should proxy to a plain HTTP session to offload SSL processing
+  ProxyPass /Microsoft-Server-ActiveSync http://127.0.0.1:8080/Microsoft-Server-ActiveSync connectiontimeout=4000
+  ProxyPassReverse /Microsoft-Server-ActiveSync http://127.0.0.1:8080/Microsoft-Server-ActiveSync
+  ProxyPass / http://127.0.0.1:8080/
+  ProxyPassReverse / http://127.0.0.1:8080/
+  ProxyPreserveHost On
+  ProxyAddHeaders On
+  RequestHeader set X-Forwarded-Proto "https"
 
-  SSLCertificateFile MAILCOW_PATH/data/assets/ssl/cert.pem
-  SSLCertificateKeyFile MAILCOW_PATH/data/assets/ssl/key.pem
+  SSLCertificateFile MAILCOW_PATH/data/assets/ssl/cert.pem
+  SSLCertificateKeyFile MAILCOW_PATH/data/assets/ssl/key.pem
 
-  # If you plan to proxy to a HTTPS host:
-  #SSLProxyEngine On
+  # If you plan to proxy to a HTTPS host:
+  #SSLProxyEngine On
 
-  # If you plan to proxy to an untrusted HTTPS host:
-  #SSLProxyVerify none
-  #SSLProxyCheckPeerCN off
-  #SSLProxyCheckPeerName off
-  #SSLProxyCheckPeerExpire off
-</VirtualHost>
+  # If you plan to proxy to an untrusted HTTPS host:
+  #SSLProxyVerify none
+  #SSLProxyCheckPeerCN off
+  #SSLProxyCheckPeerName off
+  #SSLProxyCheckPeerExpire off
+</VirtualHost>
 

Nginx

Let's Encrypt will follow our rewrite, certificate requests will work fine.

@@ -2521,48 +2521,48 @@ backend mailcow

So, first of all, we are going to disable the acme-mailcow container since we'll use the certs that traefik will provide us. For this we'll have to set SKIP_LETS_ENCRYPT=y on our mailcow.conf, and run docker-compose up -d to apply the changes.

Then we'll create a docker-compose.override.yml file in order to override the main docker-compose.yml found in your mailcow root folder.

-
version: '2.1'
+
version: '2.1'
 
-services:
-    nginx-mailcow:
-      networks:
-        # add Traefik's network
-        web:
-      labels:
-        - traefik.enable=true
-        # Creates a router called "moo" for the container, and sets up a rule to link the container to certain rule,
-        #   in this case, a Host rule with our MAILCOW_HOSTNAME var.
-        - traefik.http.routers.moo.rule=Host(`${MAILCOW_HOSTNAME}`)
-        # Enables tls over the router we created before.
-        - traefik.http.routers.moo.tls=true
-        # Specifies which kind of cert resolver we'll use, in this case le (Lets Encrypt).
-        - traefik.http.routers.moo.tls.certresolver=le
-        # Creates a service called "moo" for the container, and specifies which internal port of the container
-        #   should traefik route the incoming data to.
-        - traefik.http.services.moo.loadbalancer.server.port=${HTTP_PORT}
-        # Specifies which entrypoint (external port) should traefik listen to, for this container.
-        #   websecure being port 443, check the traefik.toml file liked above.
-        - traefik.http.routers.moo.entrypoints=websecure
-        # Make sure traefik uses the web network, not the mailcowdockerized_mailcow-network
-        - traefik.docker.network=web
+services:
+    nginx-mailcow:
+      networks:
+        # add Traefik's network
+        web:
+      labels:
+        - traefik.enable=true
+        # Creates a router called "moo" for the container, and sets up a rule to link the container to certain rule,
+        #   in this case, a Host rule with our MAILCOW_HOSTNAME var.
+        - traefik.http.routers.moo.rule=Host(`${MAILCOW_HOSTNAME}`)
+        # Enables tls over the router we created before.
+        - traefik.http.routers.moo.tls=true
+        # Specifies which kind of cert resolver we'll use, in this case le (Lets Encrypt).
+        - traefik.http.routers.moo.tls.certresolver=le
+        # Creates a service called "moo" for the container, and specifies which internal port of the container
+        #   should traefik route the incoming data to.
+        - traefik.http.services.moo.loadbalancer.server.port=${HTTP_PORT}
+        # Specifies which entrypoint (external port) should traefik listen to, for this container.
+        #   websecure being port 443, check the traefik.toml file liked above.
+        - traefik.http.routers.moo.entrypoints=websecure
+        # Make sure traefik uses the web network, not the mailcowdockerized_mailcow-network
+        - traefik.docker.network=web
 
-    certdumper:
-        image: humenius/traefik-certs-dumper
-        container_name: traefik_certdumper
-        network_mode: none
-        volumes:
-          # mount the folder which contains Traefik's `acme.json' file
-          #   in this case Traefik is started from its own docker-compose in ../traefik
-          - ../traefik/data:/traefik:ro
-          # mount mailcow's SSL folder
-          - ./data/assets/ssl/:/output:rw
-        environment:
-          # only change this, if you're using another domain for mailcow's web frontend compared to the standard config
-          - DOMAIN=${MAILCOW_HOSTNAME}
+    certdumper:
+        image: humenius/traefik-certs-dumper
+        container_name: traefik_certdumper
+        network_mode: none
+        volumes:
+          # mount the folder which contains Traefik's `acme.json' file
+          #   in this case Traefik is started from its own docker-compose in ../traefik
+          - ../traefik/data:/traefik:ro
+          # mount mailcow's SSL folder
+          - ./data/assets/ssl/:/output:rw
+        environment:
+          # only change this, if you're using another domain for mailcow's web frontend compared to the standard config
+          - DOMAIN=${MAILCOW_HOSTNAME}
 
-networks:
-  web:
-    external: true
+networks:
+  web:
+    external: true
 

Start the new containers with docker-compose up -d.

Now, there's only one thing left to do, which is setup the certs so that the mail services can use them as well, since Traefik 2 uses an acme v2 format to save ALL the license from all the domains we have, we'll need to find a way to dump the certs, lucky we have this tiny container which grabs the acme.json file trough a volume, and a variable DOMAIN=example.org, and with these, the container will output the cert.pem and key.pem files, for this we'll simply run the traefik-certs-dumper container binding the /traefik volume to the folder where our acme.json is saved, bind the /output volume to our mailcow data/assets/ssl/ folder, and set up the DOMAIN=example.org variable to the domain we want the certs dumped from.

diff --git a/sitemap.xml b/sitemap.xml index cd31ab37d..bf7bf8f5b 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -2,497 +2,497 @@ https://mailcow.github.io/mailcow-dockerized-docs/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/b_n_r-accidental_deletion/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/b_n_r-backup/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/b_n_r-coldstandby/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/b_n_r-restore/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/client/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/debug-admin_login_sogo/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/debug-asan_rspamd/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/debug-attach_service/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/debug-common_problems/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/debug-logs/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/debug-mysql_aria/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/debug-mysql_upgrade/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/debug-reset_pw/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/debug-reset_tls/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/debug-rm_volumes/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/debug/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/firststeps-disable_ipv6/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/firststeps-dmarc_reporting/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/firststeps-ip_bindings/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/firststeps-local_mta/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/firststeps-logging/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/firststeps-rp/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/firststeps-rspamd_ui/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/firststeps-snat/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/firststeps-ssl/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/firststeps-sync_jobs_migration/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/i_u_m_deinstall/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/i_u_m_install/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/i_u_m_migration/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/i_u_m_update/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/model-acl/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/model-passwd/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/model-sender_rcv/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/prerequisite-dns/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/prerequisite-system/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/restrictions_ip_accss/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/third_party-borgmatic/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/third_party-exchange_onprem/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/third_party-gitea/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/third_party-gogs/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/third_party-mailman3/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/third_party-mailpiler_integration/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/third_party-nextcloud/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/third_party-portainer/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/third_party-roundcube/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-80_to_443/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-autodiscover_config/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-backup_restore-maildir/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-backup_restore-mysql/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-docker-cust_dockerfiles/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-docker-dc_bash_compl/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-dovecot-any_acl/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-dovecot-catchall_vacation/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-dovecot-expunge/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-dovecot-extra_conf/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-dovecot-fts/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-dovecot-idle_interval/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-dovecot-mail-crypt/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-dovecot-more/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-dovecot-public_folder/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-dovecot-static_master/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-dovecot-vmail-volume/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-fido2/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-mailcow_ui-bl_wl/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-mailcow_ui-config/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-mailcow_ui-css/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-mailcow_ui-pushover/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-mailcow_ui-spamalias/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-mailcow_ui-spamfilter/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-mailcow_ui-tagging/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-mailcow_ui-tfa/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-nginx/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-postfix-attachment_size/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-postfix-custom_transport/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-postfix-disable_sender_verification/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-postfix-extra_cf/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-postfix-pflogsumm/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-postfix-postscreen_whitelist/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-postfix-relayhost/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-postfix-trust_networks/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-redis/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-reeanble-weak-protocols/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-rspamd/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-sogo/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-unbound-fwd/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-update-hooks/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-watchdog-thresholds/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-webmail-site/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/u_e-why_unbound/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/client/client-android/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/client/client-apple/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/client/client-emclient/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/client/client-kontact/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/client/client-manual/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/client/client-outlook/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/client/client-thunderbird/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/client/client-windows/ - 2021-12-22 + 2021-12-30 daily https://mailcow.github.io/mailcow-dockerized-docs/client/client-windowsphone/ - 2021-12-22 + 2021-12-30 daily \ No newline at end of file diff --git a/sitemap.xml.gz b/sitemap.xml.gz index 0df034fc8130aa2b5ecc68ebd05cd2361e544e87..190397d4ef01263e2d201158b8825cc82f3089bf 100644 GIT binary patch literal 1067 zcmV+`1l0Qi*ySTe@wJ2EtM1Kxi<2mf@UERN&*=4Jc5d7^08 zx;VdY{`~%J__FzW__VLt3zesqIm-KHDJA`}+pX)m6;~+eBwNn&PR!EY$nKuFd*1%O zIedC*M=#)Zbv^c;&7qeft(c&lH@t3VSC%?%9e<<@md%l}`-^P9l-+*UzxP;-mJ-+= zUY}oIhL_jj?YU*Sr#)mdi;go*nSLH@EBdnEJ*3?DcK-nWH>jhEDi7KiXDJr#l_gK5 zJ!Cu)qc+Ey@VE_oD@8{;Uhv>EN#RUL;KsXF)scuTjddQh4K6Crb9)t@8Bl@fR%ayX zU;*Jv(PmLX`Q!}Y@f!|-qe_`aPeJemw3-h{9WL_IE1jK2Wv^+@+5*=2);Cd6X+vJlDjRMOqm)1W8B>WzO z&(3s{D9sC0+8BX){$+95s-$zd3?t_`H1lpy1N7vcu`;u{Ug57rQOeabu%(ZW?5U3488xxDlu<=U>7gPO8W^sK)3qVoR?VPkn4INTH0b+h zs=8tHYW2YUnEu(L01;sNRAuRYGO&ccc0+ro1zbb(D+}}wQ8e7*rGG1!G#Y(ukNk`V zomk4`&i5?|fnrh8a-hoS!66Q+xsy?Pyc$)<$3oou1b*ul+~hE06d#iAPX2_-pQgTR zq=o=1pq<5JqNvuz74lAC+eap^FAL)eD7lBRBbAl&5pKMcsTn9dXwtD6)nO%l98%`O zhCQAPxJ{3p8f}+pXRdMVGseTT!aeTW>d;|f#xpK!pOvvZ4`s>Jd}43$B+z&b#PwBx zaO}%P-D^JJR{Yy((9vdg$O2OGgo{rB@2?SlRdD3kJYrx0LC1H(|8r?{Wo=<_E_iKh0M(q&lHxWH#_#(SQ``+R>{e=%V%S@r zAUUgKscmb~zg4#|;lVWpDrRwtm8zJQ1XQY<8C2{z63I63wg(WQcV3RpfaetBRm%Kad`uCoT(JUd^ zjhEstno~XDN#I%91B( z4;fFysLiQnJZ_V`Wzo@&S3LMaEU6F@xbd!4btGa-W1R z9_O1ER=b$j&(EX%H{Jfs1kxMMit7bNb~4GRk*B17rRT!pbA<6 z%>@jiVfp77xBirj3Vs{XtLi}cIch;gXOBvLjYfS>Bdg%r023|d z3l3aeYPMRSJgG)Ne$d9_L1)dpT0Cy1XsM`T&PeRJP%FH;KBqF+$gu2uZT(X~!tXKo z;!HP*+`K@gjbW(gFN-TyWnJVtjH%3_nRkOKfG+pjsT5ni3aBz#Zql&uV4>n?_MRu` z_!*f$JKuUR7lio=YSdg64PRfCB=zOXXEbnK zC0WNNom(3=DNb%ilW<=Oq8^JAZYIgPg07;^#-VArrwyjEsQdNQ`UVD-VT~F!FRfLC z4ER%=$s`$cyecq<{u$qBY4`J9owb1*TRaP)ORnv1xcE}^t$#pOFbSigJKHCG+xWVi zHEc`nc?MIiSzr}_Eq#1u&vo?9s400%1yuw~4;872o|5h+*H2T;c`2`I+ zCzi=w9$OLuMN!;xpvvgMp%heeCnNWGHL8w}g}9Fi{MIeF$zjGQJ|sPy{0WsmPkq-& z4FOg_JF_W7QLT#;@{VEKM5!}s`%D@;R

Create or amend docker-compose.override.yml

In the mailcow-dockerized root folder create or edit docker-compose.override.yml and insert the following configuration:

-
version: '2.1'
+
version: '2.1'
 
-services:
-  borgmatic-mailcow:
-    image: b3vis/borgmatic
-    hostname: mailcow
-    restart: always
-    dns: ${IPV4_NETWORK:-172.22.1}.254
-    volumes:
-      - vmail-vol-1:/mnt/source/vmail:ro
-      - crypt-vol-1:/mnt/source/crypt:ro
-      - redis-vol-1:/mnt/source/redis:ro,z
-      - rspamd-vol-1:/mnt/source/rspamd:ro,z
-      - postfix-vol-1:/mnt/source/postfix:ro,z
-      - mysql-socket-vol-1:/var/run/mysqld/:z
-      - borg-config-vol-1:/root/.config/borg:Z
-      - borg-cache-vol-1:/root/.cache/borg:Z
-      - ./data/conf/borgmatic/etc:/etc/borgmatic.d:Z
-      - ./data/conf/borgmatic/ssh:/root/.ssh:Z
-    environment:
-      - TZ=${TZ}
-      - BORG_PASSPHRASE=YouBetterPutSomethingRealGoodHere
-    networks:
-      mailcow-network:
-        aliases:
-          - borgmatic
+services:
+  borgmatic-mailcow:
+    image: b3vis/borgmatic
+    hostname: mailcow
+    restart: always
+    dns: ${IPV4_NETWORK:-172.22.1}.254
+    volumes:
+      - vmail-vol-1:/mnt/source/vmail:ro
+      - crypt-vol-1:/mnt/source/crypt:ro
+      - redis-vol-1:/mnt/source/redis:ro,z
+      - rspamd-vol-1:/mnt/source/rspamd:ro,z
+      - postfix-vol-1:/mnt/source/postfix:ro,z
+      - mysql-socket-vol-1:/var/run/mysqld/:z
+      - borg-config-vol-1:/root/.config/borg:Z
+      - borg-cache-vol-1:/root/.cache/borg:Z
+      - ./data/conf/borgmatic/etc:/etc/borgmatic.d:Z
+      - ./data/conf/borgmatic/ssh:/root/.ssh:Z
+    environment:
+      - TZ=${TZ}
+      - BORG_PASSPHRASE=YouBetterPutSomethingRealGoodHere
+    networks:
+      mailcow-network:
+        aliases:
+          - borgmatic
 
-volumes:
-  borg-cache-vol-1:
-  borg-config-vol-1:
+volumes:
+  borg-cache-vol-1:
+  borg-config-vol-1:
 

Ensure that you change the BORG_PASSPHRASE to a secure passphrase of your choosing.

For security reasons we mount the maildir as read-only. If you later want to restore data you will need to remove