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 0df034fc8..190397d4e 100644 Binary files a/sitemap.xml.gz and b/sitemap.xml.gz differ diff --git a/third_party-borgmatic/index.html b/third_party-borgmatic/index.html index 6f22e602b..5de0159a5 100644 --- a/third_party-borgmatic/index.html +++ b/third_party-borgmatic/index.html @@ -2586,36 +2586,36 @@ This guide only covers the basics.

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