diff --git a/404.html b/404.html index 2338d3076..8e020465d 100644 --- a/404.html +++ b/404.html @@ -62,6 +62,23 @@
+ +
@@ -2419,7 +2436,7 @@
- + diff --git a/assets/images/i_u_m/nightly_footer.png b/assets/images/i_u_m/nightly_footer.png new file mode 100644 index 000000000..fd489abea Binary files /dev/null and b/assets/images/i_u_m/nightly_footer.png differ diff --git a/assets/stylesheets/extra.css b/assets/stylesheets/extra.css index bb0477669..11a533573 100644 --- a/assets/stylesheets/extra.css +++ b/assets/stylesheets/extra.css @@ -47,6 +47,7 @@ font-size: 14px; line-height: 1.5; } + code { display: inline-block; white-space: pre-wrap; diff --git a/backup_restore/b_n_r-accidental_deletion/index.html b/backup_restore/b_n_r-accidental_deletion/index.html index 58579a7dd..83382bef8 100644 --- a/backup_restore/b_n_r-accidental_deletion/index.html +++ b/backup_restore/b_n_r-accidental_deletion/index.html @@ -69,6 +69,23 @@
+ +
@@ -2440,10 +2457,10 @@

Make sure the user you want to restore exists in your mailcow. Re-create them if they are missing.

Copy the file named after the user you want to restore to __MAILCOW_DIRECTORY__/data/conf/sogo.

1. Copy the backup: cp /var/lib/docker/volumes/mailcowdockerized_sogo-userdata-backup-vol-1/_data/restoreme@example.org __MAILCOW_DIRECTORY__/data/conf/sogo

-

2. Run docker-compose exec -u sogo sogo-mailcow sogo-tool restore -F ALL /etc/sogo restoreme@example.org

+

2. Run docker compose exec -u sogo sogo-mailcow sogo-tool restore -F ALL /etc/sogo restoreme@example.org

Run sogo-tool without parameters to check for possible restore options.

3. Delete the copied backup by running rm __MAILCOW_DIRECTORY__/data/conf/sogo

-

4. Restart SOGo and Memcached: docker-compose restart sogo-mailcow memcached-mailcow

+

4. Restart SOGo and Memcached: docker compose restart sogo-mailcow memcached-mailcow

Mail

In case of an accidental deletion of a mailbox, you will be able to recover for (by default) 5 days. This depends on the MAILDIR_GC_TIME parameter in mailcow.conf.

A deleted mailbox is copied in its encrypted form to /var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data/_garbage.

@@ -2451,8 +2468,8 @@

To restore make sure you are actually restoring to the same mailcow it was deleted from or you use the same encryption keys in crypt-vol-1.

Make sure the user you want to restore exists in your mailcow. Re-create them if they are missing.

Copy the folders from /var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data/_garbage/[timestamp]_[domain_sanitized][user_sanitized] back to /var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data/[domain]/[user] and resync the folder and recalc the quota:

-
docker-compose exec dovecot-mailcow doveadm force-resync -u restoreme@example.net '*'
-docker-compose exec dovecot-mailcow doveadm quota recalc -u restoreme@example.net
+
docker compose exec dovecot-mailcow doveadm force-resync -u restoreme@example.net '*'
+docker compose exec dovecot-mailcow doveadm quota recalc -u restoreme@example.net
 

@@ -2460,7 +2477,7 @@ docker-compose exec dovecot-mailcow doveadm quota recalc -u restoreme@example.ne Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2576,7 +2593,7 @@ docker-compose exec dovecot-mailcow doveadm quota recalc -u restoreme@example.ne
- + diff --git a/backup_restore/b_n_r-backup/index.html b/backup_restore/b_n_r-backup/index.html index 005d2a035..8d170e1f5 100644 --- a/backup_restore/b_n_r-backup/index.html +++ b/backup_restore/b_n_r-backup/index.html @@ -69,6 +69,23 @@
+ +
@@ -2540,7 +2557,7 @@ fi

On the destination (in this case /external_share/backups) you may want to have snapshot capabilities (ZFS, Btrfs etc.). Snapshot daily and keep for n days for a consistent backup. Do not rsync to a Samba share, you need to keep the correct permissions!

-

To restore you'd simply need to run rsync the other way round and restart Docker to re-read the volumes. Run docker-compose pull and docker-compose up -d.

+

To restore you'd simply need to run rsync the other way round and restart Docker to re-read the volumes. Run docker compose pull and docker compose up -d.

If you are lucky Redis and MariaDB can automatically fix the inconsistent databases (if they are inconsistent). In case of a corrupted database you'd need to use the helper script to restore the inconsistent elements. If a restore fails, try to extract the backups and copy the files back manually. Keep the file permissions!

@@ -2549,7 +2566,7 @@ In case of a corrupted database you'd need to use the helper script to restore t Last update: - 2022-07-11 21:14:01 + 2022-08-31 14:45:46 @@ -2665,7 +2682,7 @@ In case of a corrupted database you'd need to use the helper script to restore t
- + diff --git a/backup_restore/b_n_r-backup_restore-maildir/index.html b/backup_restore/b_n_r-backup_restore-maildir/index.html index 7f3ced73a..d25c19e09 100644 --- a/backup_restore/b_n_r-backup_restore-maildir/index.html +++ b/backup_restore/b_n_r-backup_restore-maildir/index.html @@ -69,6 +69,23 @@
+ +
@@ -2436,13 +2453,13 @@

Backup

This line backups the vmail directory to a file backup_vmail.tar.gz in the mailcow root directory:

cd /path/to/mailcow-dockerized
-docker run --rm -i -v $(docker inspect --format '{{ range .Mounts }}{{ if eq .Destination "/var/vmail" }}{{ .Name }}{{ end }}{{ end }}' $(docker-compose ps -q dovecot-mailcow)):/vmail -v ${PWD}:/backup debian:stretch-slim tar cvfz /backup/backup_vmail.tar.gz /vmail
+docker run --rm -i -v $(docker inspect --format '{{ range .Mounts }}{{ if eq .Destination "/var/vmail" }}{{ .Name }}{{ end }}{{ end }}' $(docker compose ps -q dovecot-mailcow)):/vmail -v ${PWD}:/backup debian:stretch-slim tar cvfz /backup/backup_vmail.tar.gz /vmail
 

You can change the path by adjusting ${PWD} (which equals to the current directory) to any path you have write-access to. Set the filename backup_vmail.tar.gz to any custom name, but leave the path as it is. Example: [...] tar cvfz /backup/my_own_filename_.tar.gz

Restore

cd /path/to/mailcow-dockerized
-docker run --rm -it -v $(docker inspect --format '{{ range .Mounts }}{{ if eq .Destination "/var/vmail" }}{{ .Name }}{{ end }}{{ end }}' $(docker-compose ps -q dovecot-mailcow)):/vmail -v ${PWD}:/backup debian:stretch-slim tar xvfz /backup/backup_vmail.tar.gz
+docker run --rm -it -v $(docker inspect --format '{{ range .Mounts }}{{ if eq .Destination "/var/vmail" }}{{ .Name }}{{ end }}{{ end }}' $(docker compose ps -q dovecot-mailcow)):/vmail -v ${PWD}:/backup debian:stretch-slim tar xvfz /backup/backup_vmail.tar.gz
 

@@ -2450,7 +2467,7 @@ docker run --rm -it -v $(docker inspect --format '{{ range .Mounts }}{{ if e Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2566,7 +2583,7 @@ docker run --rm -it -v $(docker inspect --format '{{ range .Mounts }}{{ if e
- + diff --git a/backup_restore/b_n_r-backup_restore-mysql/index.html b/backup_restore/b_n_r-backup_restore-mysql/index.html index 3bae4a8c8..8dc901f38 100644 --- a/backup_restore/b_n_r-backup_restore-mysql/index.html +++ b/backup_restore/b_n_r-backup_restore-mysql/index.html @@ -69,6 +69,23 @@
+ +
@@ -2437,16 +2454,16 @@
cd /path/to/mailcow-dockerized
 source mailcow.conf
 DATE=$(date +"%Y%m%d_%H%M%S")
-docker-compose exec -T mysql-mailcow mysqldump --default-character-set=utf8mb4 -u${DBUSER} -p${DBPASS} ${DBNAME} > backup_${DBNAME}_${DATE}.sql
+docker compose exec -T mysql-mailcow mysqldump --default-character-set=utf8mb4 -u${DBUSER} -p${DBPASS} ${DBNAME} > backup_${DBNAME}_${DATE}.sql
 

Restore

Warning

-

You should redirect the SQL dump without docker-compose to prevent parsing errors.

+

You should redirect the SQL dump without docker compose to prevent parsing errors.

cd /path/to/mailcow-dockerized
 source mailcow.conf
-docker exec -i $(docker-compose ps -q mysql-mailcow) mysql -u${DBUSER} -p${DBPASS} ${DBNAME} < backup_file.sql
+docker exec -i $(docker compose ps -q mysql-mailcow) mysql -u${DBUSER} -p${DBPASS} ${DBNAME} < backup_file.sql
 

@@ -2454,7 +2471,7 @@ docker exec -i $(docker-compose ps -q mysql-mailcow) mysql -u${DBUSER} -p${DBPAS Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2570,7 +2587,7 @@ docker exec -i $(docker-compose ps -q mysql-mailcow) mysql -u${DBUSER} -p${DBPAS
- + diff --git a/backup_restore/b_n_r-coldstandby/index.html b/backup_restore/b_n_r-coldstandby/index.html index 7d5705bdc..32051fbe2 100644 --- a/backup_restore/b_n_r-coldstandby/index.html +++ b/backup_restore/b_n_r-coldstandby/index.html @@ -69,6 +69,23 @@
+ +
@@ -2473,7 +2490,7 @@

To find the paths of your source volumes we use docker inspect and read the destination directory of every volume related to your mailcow compose project. This means we will also transfer volumes you may have added in an override file. Local bind mounts may or may not work.

The script uses rsync with the --delete flag. The destination will be an exact copy of the source.

mariabackup is used to create a consistent copy of the SQL data directory.

-

After rsync'ing the data we will run docker-compose pull and remove old image tags from the destination.

+

After rsync'ing the data we will run docker compose pull and remove old image tags from the destination.

Your source will not be changed at any time.

You may want to make sure to use the same /etc/docker/daemon.json on the remote target.

You should not run disk snapshots (e.g. via ZFS, LVM etc.) on the target at the very same time as this script is run.

@@ -2488,7 +2505,7 @@ export REMOTE_SSH_HOST=mailcow-backup.host.name

The key must be owned and readable by root only.

Both the source and destination require rsync >= v3.1.0. -The destination must have Docker and docker-compose v2 available.

+The destination must have Docker and docker compose v2 available.

The script will detect errors automatically and exit.

You may want to test the connection by running ssh mailcow-backup.host.name -p22 -i /path/to/keyfile.

Backup and refresh the cold-standby

@@ -2521,7 +2538,7 @@ The destination must have Docker and docker-compose v2 availabl Last update: - 2022-06-27 19:14:02 + 2022-08-31 14:45:46 @@ -2637,7 +2654,7 @@ The destination must have Docker and docker-compose v2 availabl
- + diff --git a/backup_restore/b_n_r-restore/index.html b/backup_restore/b_n_r-restore/index.html index 2b099f427..3762a012d 100644 --- a/backup_restore/b_n_r-restore/index.html +++ b/backup_restore/b_n_r-restore/index.html @@ -69,6 +69,23 @@
+ +
@@ -2548,7 +2565,7 @@
- + diff --git a/client/client-android/index.html b/client/client-android/index.html index 4f57365ae..152c32137 100644 --- a/client/client-android/index.html +++ b/client/client-android/index.html @@ -64,6 +64,23 @@
+ +
@@ -2497,7 +2514,7 @@
- + diff --git a/client/client-apple/index.html b/client/client-apple/index.html index 2a3c81ed4..a4acfb1d9 100644 --- a/client/client-apple/index.html +++ b/client/client-apple/index.html @@ -69,6 +69,23 @@
+ +
@@ -2605,7 +2622,7 @@
- + diff --git a/client/client-emclient/index.html b/client/client-emclient/index.html index 2d5a961dc..44943b882 100644 --- a/client/client-emclient/index.html +++ b/client/client-emclient/index.html @@ -64,6 +64,23 @@
+ +
@@ -2499,7 +2516,7 @@
- + diff --git a/client/client-kontact/index.html b/client/client-kontact/index.html index a8819e8f1..196294e88 100644 --- a/client/client-kontact/index.html +++ b/client/client-kontact/index.html @@ -64,6 +64,23 @@
+ +
@@ -2507,7 +2524,7 @@
- + diff --git a/client/client-manual/index.html b/client/client-manual/index.html index e13174051..19b5bfc6a 100644 --- a/client/client-manual/index.html +++ b/client/client-manual/index.html @@ -69,6 +69,23 @@
+ +
@@ -2611,7 +2628,7 @@
- + diff --git a/client/client-outlook/index.html b/client/client-outlook/index.html index cd3cc21e0..ed0bf5096 100644 --- a/client/client-outlook/index.html +++ b/client/client-outlook/index.html @@ -69,6 +69,23 @@
+ +
@@ -2637,7 +2654,7 @@
- + diff --git a/client/client-thunderbird/index.html b/client/client-thunderbird/index.html index c2f54f519..e1ca7e957 100644 --- a/client/client-thunderbird/index.html +++ b/client/client-thunderbird/index.html @@ -64,6 +64,23 @@
+ +
@@ -2516,7 +2533,7 @@
- + diff --git a/client/client-windows/index.html b/client/client-windows/index.html index 180594bef..7ab91b397 100644 --- a/client/client-windows/index.html +++ b/client/client-windows/index.html @@ -64,6 +64,23 @@
+ +
@@ -2500,7 +2517,7 @@
- + diff --git a/client/client/index.html b/client/client/index.html index e89ebc8c9..dadc3b732 100644 --- a/client/client/index.html +++ b/client/client/index.html @@ -64,6 +64,23 @@
+ +
@@ -2514,7 +2531,7 @@ Since you accessed this page after logging into your mailcow server, all of the
- + diff --git a/de/assets/images/i_u_m/nightly_footer.png b/de/assets/images/i_u_m/nightly_footer.png new file mode 100644 index 000000000..fd489abea Binary files /dev/null and b/de/assets/images/i_u_m/nightly_footer.png differ diff --git a/de/assets/stylesheets/extra.css b/de/assets/stylesheets/extra.css index bb0477669..11a533573 100644 --- a/de/assets/stylesheets/extra.css +++ b/de/assets/stylesheets/extra.css @@ -47,6 +47,7 @@ font-size: 14px; line-height: 1.5; } + code { display: inline-block; white-space: pre-wrap; diff --git a/de/backup_restore/b_n_r-accidental_deletion/index.html b/de/backup_restore/b_n_r-accidental_deletion/index.html index a6fe6fb27..a580a2d4f 100644 --- a/de/backup_restore/b_n_r-accidental_deletion/index.html +++ b/de/backup_restore/b_n_r-accidental_deletion/index.html @@ -69,6 +69,23 @@
+ +
@@ -2440,10 +2457,10 @@

Stellen Sie sicher, dass der Benutzer, den Sie wiederherstellen wollen, in Ihrem Mailcow-Backend existiert. Legen Sie diesen neu an, falls nicht mehr existent.

Kopieren Sie die Datei mit dem Namen des Benutzers, den Sie wiederherstellen wollen, nach __MAILCOW_DIRECTORY__/data/conf/sogo.

1. Kopieren Sie die Sicherung: cp /var/lib/docker/volumes/mailcowdockerized_sogo-userdata-backup-vol-1/_data/restoreme@example.org __MAILCOW_DIRECTORY__/data/conf/sogo

-

2. Starten Sie docker-compose exec -u sogo sogo-mailcow sogo-tool restore -F ALL /etc/sogo restoreme@example.org.

+

2. Starten Sie docker compose exec -u sogo sogo-mailcow sogo-tool restore -F ALL /etc/sogo restoreme@example.org.

Führen Sie sogo-tool ohne Parameter aus, um nach möglichen Wiederherstellungsoptionen zu suchen.

3. Löschen Sie die kopierte Sicherung, indem Sie rm __MAILCOW_DIRECTORY__/data/conf/sogo ausführen

-

4. Starten Sie SOGo und Memcached neu: docker-compose restart sogo-mailcow memcached-mailcow

+

4. Starten Sie SOGo und Memcached neu: docker compose restart sogo-mailcow memcached-mailcow

Mail

Im Falle einer versehentlichen Löschung einer Mailbox, können Sie diese (standardmäßig) 5 Tage lang wiederherstellen. Dies hängt von dem MAILDIR_GC_TIME Parameter in mailcow.conf ab.

Eine gelöschte Mailbox wird in ihrer verschlüsselten Form nach /var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data/_garbage kopiert.

@@ -2451,8 +2468,8 @@

Um die Mailbox wiederherzustellen, stellen Sie sicher, dass Sie tatsächlich auf die gleiche Mailcow wiederherstellen, von der sie gelöscht wurde, oder Sie die gleichen Verschlüsselungsschlüssel in crypt-vol-1 verwenden.

Stellen Sie sicher, dass der Benutzer, den Sie wiederherstellen wollen, in Ihrer Mailcow existiert. Legen Sie diesen neu an, wenn der Benutzer fehlt.

Kopieren Sie die Ordner von /var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data/_garbage/[timestamp]_[domain_sanitized][user_sanitized] zurück nach /var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data/[domain]/[user] und synchronisieren Sie die Ordner neu und berechnen Sie die Quota (Speicherplatz) neu:

-
docker-compose exec dovecot-mailcow doveadm force-resync -u restoreme@example.net '*'
-docker-compose exec dovecot-mailcow doveadm quota recalc -u restoreme@example.net
+
docker compose exec dovecot-mailcow doveadm force-resync -u restoreme@example.net '*'
+docker compose exec dovecot-mailcow doveadm quota recalc -u restoreme@example.net
 

@@ -2460,7 +2477,7 @@ docker-compose exec dovecot-mailcow doveadm quota recalc -u restoreme@example.ne Letztes Update: - 2022-06-27 19:14:02 + 2022-08-31 14:45:46 @@ -2576,7 +2593,7 @@ docker-compose exec dovecot-mailcow doveadm quota recalc -u restoreme@example.ne
- + diff --git a/de/backup_restore/b_n_r-backup/index.html b/de/backup_restore/b_n_r-backup/index.html index e32bd295a..06655640f 100644 --- a/de/backup_restore/b_n_r-backup/index.html +++ b/de/backup_restore/b_n_r-backup/index.html @@ -69,6 +69,23 @@
+ +
@@ -2540,7 +2557,7 @@ fi

Am Zielort (in diesem Fall /external_share/backups) möchten Sie vielleicht Snapshot-Möglichkeiten haben (ZFS, Btrfs usw.). Machen Sie täglich einen Snapshot und bewahren Sie ihn für n Tage auf, um ein konsistentes Backup zu erhalten. Führen Sie kein rsync auf eine Samba-Freigabe durch, Sie müssen die richtigen Berechtigungen behalten!

-

Zum Wiederherstellen müssen Sie rsync einfach in umgekehrter Richtung ausführen und Docker neu starten, um die Volumes erneut zu lesen. Führen Sie docker-compose pull und docker-compose up -d aus.

+

Zum Wiederherstellen müssen Sie rsync einfach in umgekehrter Richtung ausführen und Docker neu starten, um die Volumes erneut zu lesen. Führen Sie docker compose pull und docker compose up -d aus.

Wenn Sie Glück haben, können Redis und MariaDB die inkonsistenten Datenbanken automatisch reparieren (wenn sie inkonsistent sind). Im Falle einer beschädigten Datenbank müssen Sie das Hilfsskript verwenden, um die inkonsistenten Elemente wiederherzustellen. Wenn die Wiederherstellung fehlschlägt, versuchen Sie, die Sicherungen zu extrahieren und die Dateien manuell zurück zu kopieren. Behalten Sie die Dateiberechtigungen bei!

@@ -2549,7 +2566,7 @@ Im Falle einer beschädigten Datenbank müssen Sie das Hilfsskript verwenden, um Letztes Update: - 2022-07-11 21:14:01 + 2022-08-31 14:45:46 @@ -2665,7 +2682,7 @@ Im Falle einer beschädigten Datenbank müssen Sie das Hilfsskript verwenden, um
- + diff --git a/de/backup_restore/b_n_r-backup_restore-maildir/index.html b/de/backup_restore/b_n_r-backup_restore-maildir/index.html index 5797d762c..cf1a64b16 100644 --- a/de/backup_restore/b_n_r-backup_restore-maildir/index.html +++ b/de/backup_restore/b_n_r-backup_restore-maildir/index.html @@ -69,6 +69,23 @@
+ +
@@ -2436,13 +2453,13 @@

Sicherung

Diese Zeile sichert das vmail-Verzeichnis in eine Datei backup_vmail.tar.gz im mailcow-Root-Verzeichnis:

cd /pfad/zu/mailcow-dockerized
-docker run --rm -i -v $(docker inspect --format '{{ range .Mounts }}{{ if eq .Destination "/var/vmail" }}{{ .Name }}{{ end }}{{ end }}' $(docker-compose ps -q dovecot-mailcow)):/vmail -v ${PWD}:/backup debian:stretch-slim tar cvfz /backup/backup_vmail.tar.gz /vmail
+docker run --rm -i -v $(docker inspect --format '{{ range .Mounts }}{{ if eq .Destination "/var/vmail" }}{{ .Name }}{{ end }}{{ end }}' $(docker compose ps -q dovecot-mailcow)):/vmail -v ${PWD}:/backup debian:stretch-slim tar cvfz /backup/backup_vmail.tar.gz /vmail
 

Sie können den Pfad ändern, indem Sie ${PWD} (das dem aktuellen Verzeichnis entspricht) zu einem beliebigen Pfad ändern, auf den Sie Schreibzugriff haben. Setzen Sie den Dateinamen backup_vmail.tar.gz auf einen beliebigen Namen, aber lassen Sie den Pfad so wie er ist. Beispiel: [...] tar cvfz /backup/mein_eigener_dateiname_.tar.gz

Wiederherstellen

cd /pfad/zu/mailcow-dockerized
-docker run --rm -it -v $(docker inspect --format '{{ range .Mounts }}{{ if eq .Destination "/var/vmail" }}{{ .Name }}{{ end }}{{ end }}' $(docker-compose ps -q dovecot-mailcow)):/vmail -v ${PWD}:/backup debian:stretch-slim tar xvfz /backup/backup_vmail.tar.gz
+docker run --rm -it -v $(docker inspect --format '{{ range .Mounts }}{{ if eq .Destination "/var/vmail" }}{{ .Name }}{{ end }}{{ end }}' $(docker compose ps -q dovecot-mailcow)):/vmail -v ${PWD}:/backup debian:stretch-slim tar xvfz /backup/backup_vmail.tar.gz
 

@@ -2450,7 +2467,7 @@ docker run --rm -it -v $(docker inspect --format '{{ range .Mounts }}{{ if e Letztes Update: - 2022-06-27 19:14:02 + 2022-08-31 14:45:46 @@ -2566,7 +2583,7 @@ docker run --rm -it -v $(docker inspect --format '{{ range .Mounts }}{{ if e
- + diff --git a/de/backup_restore/b_n_r-backup_restore-mysql/index.html b/de/backup_restore/b_n_r-backup_restore-mysql/index.html index 9aaf6a6c2..61e68cef2 100644 --- a/de/backup_restore/b_n_r-backup_restore-mysql/index.html +++ b/de/backup_restore/b_n_r-backup_restore-mysql/index.html @@ -69,6 +69,23 @@
+ +
@@ -2437,16 +2454,16 @@
cd /pfad/zu/mailcow-dockerized
 source mailcow.conf
 DATE=$(date +"%Y%m%d_%H%M%S")
-docker-compose exec -T mysql-mailcow mysqldump --default-character-set=utf8mb4 -u${DBUSER} -p${DBPASS} ${DBNAME} > backup_${DBNAME}_${DATE}.sql
+docker compose exec -T mysql-mailcow mysqldump --default-character-set=utf8mb4 -u${DBUSER} -p${DBPASS} ${DBNAME} > backup_${DBNAME}_${DATE}.sql
 

Wiederherstellen

Warning

-

Sie sollten den SQL-Dump ohne docker-compose umleiten, um Parsing-Fehler zu vermeiden.

+

Sie sollten den SQL-Dump ohne docker compose umleiten, um Parsing-Fehler zu vermeiden.

cd /pfad/zu/mailcow-dockerized
 source mailcow.conf
-docker exec -i $(docker-compose ps -q mysql-mailcow) mysql -u${DBUSER} -p${DBPASS} ${DBNAME} < backup_file.sql
+docker exec -i $(docker compose ps -q mysql-mailcow) mysql -u${DBUSER} -p${DBPASS} ${DBNAME} < backup_file.sql
 

@@ -2454,7 +2471,7 @@ docker exec -i $(docker-compose ps -q mysql-mailcow) mysql -u${DBUSER} -p${DBPAS Letztes Update: - 2022-06-27 19:14:02 + 2022-08-31 14:45:46 @@ -2570,7 +2587,7 @@ docker exec -i $(docker-compose ps -q mysql-mailcow) mysql -u${DBUSER} -p${DBPAS
- + diff --git a/de/backup_restore/b_n_r-coldstandby/index.html b/de/backup_restore/b_n_r-coldstandby/index.html index 3db7ddeec..505c4b975 100644 --- a/de/backup_restore/b_n_r-coldstandby/index.html +++ b/de/backup_restore/b_n_r-coldstandby/index.html @@ -69,6 +69,23 @@
+ +
@@ -2473,7 +2490,7 @@

Um die Pfade Ihrer Quellvolumes zu finden, verwenden wir docker inspect und lesen das Zielverzeichnis jedes Volumes, das mit Ihrem mailcow compose Projekt verbunden ist. Das bedeutet, dass wir auch Volumes übertragen, die Sie in einer Override-Datei hinzugefügt haben. Lokale Bind-Mounts können funktionieren, müssen aber nicht.

Das Skript verwendet rsync mit dem --delete Flag. Das Ziel wird eine exakte Kopie der Quelle sein.

mariabackup wird verwendet, um eine konsistente Kopie des SQL-Datenverzeichnisses zu erstellen.

-

Nach dem Rsync der Daten führen wir docker-compose pull aus und entfernen alte Image-Tags aus dem Ziel.

+

Nach dem Rsync der Daten führen wir docker compose pull aus und entfernen alte Image-Tags aus dem Ziel.

Ihre Quelle wird zu keinem Zeitpunkt verändert.

Sie sollten sicherstellen, dass Sie die gleiche /etc/docker/daemon.json auf dem entfernten Ziel verwenden.

Sie sollten keine Festplatten-Snapshots (z. B. über ZFS, LVM usw.) auf dem Ziel ausführen, während dieses Skript ausgeführt wird.

@@ -2488,7 +2505,7 @@ export REMOTE_SSH_HOST=mailcow-backup.host.name

Der Schlüssel muss im Besitz von root sein und darf nur von diesem gelesen werden können.

Sowohl die Quelle als auch das Ziel benötigen rsync >= v3.1.0. -Das Ziel muss über Docker und docker-compose v2 verfügen.

+Das Ziel muss über Docker und docker compose v2 verfügen.

Das Skript wird Fehler automatisch erkennen und sich beenden.

Sie können die Verbindung testen, indem Sie ssh mailcow-backup.host.name -p22 -i /path/to/keyfile ausführen.

Backup und Aktualisierung des Cold-Standby

@@ -2521,7 +2538,7 @@ Das Ziel muss über Docker und docker-compose v2 verfügen.

Letztes Update: - 2022-06-27 19:14:02 + 2022-08-31 14:45:46 @@ -2637,7 +2654,7 @@ Das Ziel muss über Docker und docker-compose v2 verfügen.

- + diff --git a/de/backup_restore/b_n_r-restore/index.html b/de/backup_restore/b_n_r-restore/index.html index 274a883ee..091091952 100644 --- a/de/backup_restore/b_n_r-restore/index.html +++ b/de/backup_restore/b_n_r-restore/index.html @@ -69,6 +69,23 @@
+ +
@@ -2548,7 +2565,7 @@
- + diff --git a/de/client/client-android/index.html b/de/client/client-android/index.html index b0e3df50b..e6fa8514b 100644 --- a/de/client/client-android/index.html +++ b/de/client/client-android/index.html @@ -64,6 +64,23 @@
+ +
@@ -2497,7 +2514,7 @@
- + diff --git a/de/client/client-apple/index.html b/de/client/client-apple/index.html index bfc086b11..38b5d314f 100644 --- a/de/client/client-apple/index.html +++ b/de/client/client-apple/index.html @@ -69,6 +69,23 @@
+ +
@@ -2605,7 +2622,7 @@
- + diff --git a/de/client/client-emclient/index.html b/de/client/client-emclient/index.html index 3ca6a0a4d..0b1c6616e 100644 --- a/de/client/client-emclient/index.html +++ b/de/client/client-emclient/index.html @@ -64,6 +64,23 @@
+ +
@@ -2499,7 +2516,7 @@
- + diff --git a/de/client/client-kontact/index.html b/de/client/client-kontact/index.html index c36f09b15..bae45309f 100644 --- a/de/client/client-kontact/index.html +++ b/de/client/client-kontact/index.html @@ -64,6 +64,23 @@
+ +
@@ -2507,7 +2524,7 @@
- + diff --git a/de/client/client-manual/index.html b/de/client/client-manual/index.html index 74270d207..5a86b49fc 100644 --- a/de/client/client-manual/index.html +++ b/de/client/client-manual/index.html @@ -69,6 +69,23 @@
+ +
@@ -2611,7 +2628,7 @@
- + diff --git a/de/client/client-outlook/index.html b/de/client/client-outlook/index.html index 475867a80..02fcd4ff0 100644 --- a/de/client/client-outlook/index.html +++ b/de/client/client-outlook/index.html @@ -69,6 +69,23 @@
+ +
@@ -2620,7 +2637,7 @@
- + diff --git a/de/client/client-thunderbird/index.html b/de/client/client-thunderbird/index.html index 08dbacf44..67db32047 100644 --- a/de/client/client-thunderbird/index.html +++ b/de/client/client-thunderbird/index.html @@ -64,6 +64,23 @@
+ +
@@ -2516,7 +2533,7 @@
- + diff --git a/de/client/client-windows/index.html b/de/client/client-windows/index.html index 6f8e0a111..b56d56180 100644 --- a/de/client/client-windows/index.html +++ b/de/client/client-windows/index.html @@ -64,6 +64,23 @@
+ +
@@ -2500,7 +2517,7 @@
- + diff --git a/de/client/client/index.html b/de/client/client/index.html index e03ee414b..92bb326fd 100644 --- a/de/client/client/index.html +++ b/de/client/client/index.html @@ -64,6 +64,23 @@
+ +
@@ -2514,7 +2531,7 @@ Da Sie diese Seite aufgerufen haben, nachdem Sie sich in Ihren Mailcow-Server ei
- + diff --git a/de/i_u_m/i_u_m_deinstall/index.html b/de/i_u_m/i_u_m_deinstall/index.html index 2f24b227f..2077b5522 100644 --- a/de/i_u_m/i_u_m_deinstall/index.html +++ b/de/i_u_m/i_u_m_deinstall/index.html @@ -64,6 +64,23 @@
+ +
@@ -2369,7 +2386,7 @@

Deinstallation

Um mailcow: dockerized mit all seinen Volumes, Images und Containern zu entfernen, tun Sie dies:

-
docker-compose down -v --rmi all --remove-orphans
+
docker compose down -v --rmi all --remove-orphans
 

Info

@@ -2377,7 +2394,7 @@
  • -v Entfernt benannte Volumes, die im Abschnitt volumes der Compose-Datei deklariert sind, und anonyme Volumes, die an Container angehängt sind.
  • --rmi Images entfernen. Der Typ muss einer der folgenden sein: all: Entfernt alle Images, die von einem beliebigen Dienst verwendet werden. local: Entfernt nur Bilder, die kein benutzerdefiniertes Tag haben, das durch das Feld "image" gesetzt wurde.
  • --remove-orphans Entfernt Container für Dienste, die nicht in der Compose-Datei definiert sind.
  • -
  • Standardmäßig entfernt docker-compose down nur derzeit aktive Container und Netzwerke, die in der Datei docker-compose.yml definiert sind.
  • +
  • Standardmäßig entfernt docker compose down nur derzeit aktive Container und Netzwerke, die in der Datei docker compose.yml definiert sind.
  • @@ -2386,7 +2403,7 @@ Letztes Update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2502,7 +2519,7 @@
    - + diff --git a/de/i_u_m/i_u_m_install/index.html b/de/i_u_m/i_u_m_install/index.html index fd6879ae5..c95d5dfa2 100644 --- a/de/i_u_m/i_u_m_install/index.html +++ b/de/i_u_m/i_u_m_install/index.html @@ -61,9 +61,31 @@
    + + + Zum Inhalt + +
    + +
    @@ -358,10 +380,134 @@ + + Installation + + + + @@ -2350,6 +2496,116 @@ + + + @@ -2368,31 +2624,55 @@

    Installation

    +

    Docker und Docker Compose Installation

    Sie benötigen Docker (eine Version >= 20.10.2 ist erforderlich) und Docker Compose (eine Version >= 2.0 ist erforderlich).

    -

    1. Erfahren Sie, wie Sie Docker und Docker Compose installieren.

    +

    Erfahren Sie, wie Sie Docker und Docker Compose installieren.

    Schnelle Installation für die meisten Betriebssysteme:

    - + +Bitte verwenden Sie die neueste verfügbare Docker-Engine und nicht die Engine, die mit Ihrem Distros-Repository ausgeliefert wird.

    +

    docker compose

    Achtung

    -

    mailcow benötigt die neueste Version von docker-compose v2. Es wird dringend empfohlen, die untenstehenden Befehle zu verwenden, um docker-compose zu installieren. Paket-Manager (z.B. apt, yum) werden wahrscheinlich nicht die richtige Version liefern. -Hinweis: Dieser Befehl lädt docker-compose aus dem offiziellen Docker-Github-Repository herunter und ist eine sichere Methode. Das Snippet ermittelt die neueste unterstützte Version von mailcow. In fast allen Fällen ist dies die letzte verfügbare Version (Ausnahmen sind kaputte Versionen oder größere Änderungen, die noch nicht von mailcow unterstützt werden).

    +

    mailcow benötigt eine Version von Docker Compose >= v2. +
    Sollte die Installation von Docker über das obenstehende Skript erfolgt sein wird das Docker Compose Plugin bereits automatisch +in einer Version >=2.0 installiert.
    +Ist die mailcow Installation älter oder Docker wurde auf einem anderen Weg installiert, muss das Compose Plugin bzw. die Standalone Version von Docker manuell installiert werden.

    -
    curl -L https://github.com/docker/compose/releases/download/v$(curl -Ls https://www.servercow.de/docker-compose/latest.php)/docker-compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker-compose
    -chmod +x /usr/local/bin/docker-compose
    +

    Installation via Paketmanager (Plugin)

    +
    +

    Hinweis

    +

    Diese Vorgehensweise mit den Paketquellen ist nur dann möglich, wenn das Docker Repository eingebunden wurde. Dies kann entweder durch die Anleitung oben (siehe Docker) oder durch eine manuelle Einbindung passieren.

    +
    +

    Auf Debian/Ubuntu Systemen: +

    apt update
    +apt install docker compose-plugin
    +

    +

    Auf Centos 7 Systemen: +

    yum update
    +yum install docker compose-plugin
    +

    +
    +

    Achtung

    +

    Die Syntax der Docker Compose Befehle lautet docker compose bei der Plugin Variante von Docker Compose!!

    +
    +

    Installation via Script (Standalone)

    +
    +

    Hinweis

    +

    Diese Installation ist die alt bekannte Weise. Sie installiert Docker Compose als Standalone Programm und ist nicht auf die Art und weise der Docker Installation angewiesen.

    +
    +
    curl -L https://github.com/docker/compose/releases/download/v$(curl -Ls https://www.servercow.de/docker compose/latest.php)/docker compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker compose
    +chmod +x /usr/local/bin/docker compose
     
    -

    Bitte verwenden Sie die neueste verfügbare Docker-Engine und nicht die Engine, die mit Ihrem Distros-Repository ausgeliefert wird.

    -

    1.1.1. Auf SELinux-aktivierten Systemen, z.B. CentOS 7:

    +
    +

    Achtung

    +

    Die Syntax der Docker Compose Befehle lautet docker compose bei der Standalone Variante von Docker Compose!!

    +
    +

    SELinux Besonderheiten prüfen

    +

    Auf SELinux-aktivierten Systemen, z.B. CentOS 7:

    • Prüfen Sie, ob das Paket "container-selinux" auf Ihrem System vorhanden ist:
    @@ -2412,7 +2692,8 @@ chmod +x /usr/local/bin/docker-compose

    Starten Sie den Docker-Daemon neu und überprüfen Sie, ob SELinux nun aktiviert ist.

    Dieser Schritt ist erforderlich, um sicherzustellen, dass die mailcows-Volumes richtig gekennzeichnet sind, wie in der Compose-Datei angegeben. Wenn Sie daran interessiert sind, wie das funktioniert, können Sie sich die Readme-Datei von https://github.com/containers/container-selinux ansehen, die auf viele nützliche Informationen zu diesem Thema verweist.

    -

    2. Klonen Sie den Master-Zweig des Repositorys und stellen Sie sicher, dass Ihre umask gleich 0022 ist. Bitte klonen Sie das Repository als root-Benutzer und kontrollieren Sie auch den Stack als root. Wir werden die Attribute - wenn nötig - ändern, während wir die Container automatisch bereitstellen und sicherstellen, dass alles gesichert ist. Das update.sh-Skript muss daher ebenfalls als root ausgeführt werden. Es kann notwendig sein, den Besitzer und andere Attribute von Dateien zu ändern, auf die Sie sonst keinen Zugriff haben. Wir geben die Berechtigungen für jede exponierte Anwendung auf und führen einen exponierten Dienst nicht als root aus! Wenn Sie den Docker-Daemon als Nicht-Root-Benutzer steuern, erhalten Sie keine zusätzliche Sicherheit. Der unprivilegierte Benutzer wird die Container ebenfalls als root spawnen. Das Verhalten des Stacks ist identisch.

    +

    mailcow Installieren

    +

    Klonen Sie den Master-Zweig des Repositorys und stellen Sie sicher, dass Ihre umask gleich 0022 ist. Bitte klonen Sie das Repository als root-Benutzer und kontrollieren Sie auch den Stack als root. Wir werden die Attribute - wenn nötig - ändern, während wir die Container automatisch bereitstellen und sicherstellen, dass alles gesichert ist. Das update.sh-Skript muss daher ebenfalls als root ausgeführt werden. Es kann notwendig sein, den Besitzer und andere Attribute von Dateien zu ändern, auf die Sie sonst keinen Zugriff haben. Wir geben die Berechtigungen für jede exponierte Anwendung auf und führen einen exponierten Dienst nicht als root aus! Wenn Sie den Docker-Daemon als Nicht-Root-Benutzer steuern, erhalten Sie keine zusätzliche Sicherheit. Der unprivilegierte Benutzer wird die Container ebenfalls als root spawnen. Das Verhalten des Stacks ist identisch.

    $ su
     # umask
     0022 # <- Überprüfen, dass es 0022 ist
    @@ -2420,18 +2701,20 @@ Wenn Sie daran interessiert sind, wie das funktioniert, können Sie sich die Rea
     # git clone https://github.com/mailcow/mailcow-dockerized
     # cd mailcow-dockerized
     
    -

    3. Erzeugen Sie eine Konfigurationsdatei. Verwenden Sie einen FQDN (host.domain.tld) als Hostname, wenn Sie gefragt werden. +

    mailcow Initialisieren

    +

    Erzeugen Sie eine Konfigurationsdatei. Verwenden Sie einen FQDN (host.domain.tld) als Hostname, wenn Sie gefragt werden.

    ./generate_config.sh
     

    -

    4. Ändern Sie die Konfiguration, wenn Sie das wollen oder müssen. +

    Ändern Sie die Konfiguration, wenn Sie wollen oder müssen.

    nano mailcow.conf
     
    Wenn Sie planen, einen Reverse Proxy zu verwenden, können Sie zum Beispiel HTTPS an 127.0.0.1 auf Port 8443 und HTTP an 127.0.0.1 auf Port 8080 binden.

    Möglicherweise müssen Sie einen vorinstallierten MTA stoppen, der Port 25/tcp blockiert. Siehe dieses Kapitel, um zu erfahren, wie man Postfix rekonfiguriert, um nach einer erfolgreichen Installation neben mailcow laufen zu lassen.

    Einige Updates modifizieren mailcow.conf und fügen neue Parameter hinzu. Es ist schwer, in der Dokumentation den Überblick zu behalten. Bitte überprüfen Sie deren Beschreibung und fragen Sie, wenn Sie unsicher sind, in den bekannten Kanälen nach Rat.

    -

    4.1. Benutzer mit einer MTU ungleich 1500 (z.B. OpenStack):

    +

    Problembehandlungen

    +

    Benutzer mit einer MTU ungleich 1500 (z.B. OpenStack)

    Wenn Sie auf Probleme und seltsame Phänomene stoßen, überprüfen Sie bitte Ihre MTU.

    -

    Bearbeiten Sie docker-compose.yml und ändern Sie die Netzwerkeinstellungen entsprechend Ihrer MTU. +

    Bearbeiten Sie docker compose.yml und ändern Sie die Netzwerkeinstellungen entsprechend Ihrer MTU. Fügen Sie den neuen Parameter driver_opts wie folgt hinzu:

    networks:
       mailcow-network:
    @@ -2440,12 +2723,13 @@ Fügen Sie den neuen Parameter driver_opts wie folgt hinzu:
           com.docker.network.driver.mtu: 1450
         ...
     

    -

    4.2. Benutzer ohne ein IPv6-aktiviertes Netzwerk auf ihrem Hostsystem:

    -

    Einschalten von IPv6. Endlich.

    -

    Wenn Sie kein IPv6-fähiges Netzwerk auf Ihrem Host haben und Sie sich nicht um ein besseres Internet kümmern (hehe), ist es empfehlenswert, IPv6 für das mailcow-Netzwerk zu deaktivieren, um unvorhergesehene Probleme zu vermeiden.

    -

    5. LAden Sie die Images herunter und führen Sie die Compose-Datei aus. Der Parameter -d wird mailcow: dockerized starten: -

    docker-compose pull
    -docker-compose up -d
    +

    Benutzer ohne ein IPv6-aktiviertes Netzwerk auf ihrem Hostsystem

    +

    Schalten Sie IPv6 bitte nicht ab, auch wenn es Ihnen nicht gefällt. IPv6 ist die Zukunft und sollte nicht ignoriert werden.

    +

    Sollten Sie jedoch kein IPv6-fähiges Netzwerk auf Ihrem Host haben und Sie sich nicht um ein besseres Internet kümmern wollen (hehe), ist es empfehlenswert, IPv6 für das mailcow-Netzwerk zu deaktivieren, um unvorhergesehene Probleme zu vermeiden.

    +

    mailcow starten

    +

    Laden Sie die Images herunter und führen Sie die Compose-Datei aus. Der Parameter -d wird ihre mailcow dann im Hintergrund starten: +

    docker compose pull
    +docker compose up -d
     

    Geschafft!

    Sie können nun auf https://${MAILCOW_HOSTNAME} mit den Standard-Zugangsdaten admin + Passwort moohoo zugreifen.

    @@ -2454,14 +2738,14 @@ docker-compose up -d

    Wenn Sie mailcow nicht hinter einem Reverse Proxy verwenden, sollten Sie alle HTTP-Anfragen auf HTTPS umleiten.

    Die Datenbank wird sofort initialisiert, nachdem eine Verbindung zu MySQL hergestellt werden kann.

    -

    Ihre Daten bleiben in mehreren Docker-Volumes erhalten, die nicht gelöscht werden, wenn Sie Container neu erstellen oder löschen. Führen Sie docker volume ls aus, um eine Liste aller Volumes zu sehen. Sie können docker-compose down sicher ausführen, ohne persistente Daten zu entfernen.

    +

    Ihre Daten bleiben in mehreren Docker-Volumes erhalten, die nicht gelöscht werden, wenn Sie Container neu erstellen oder löschen. Führen Sie docker volume ls aus, um eine Liste aller Volumes zu sehen. Sie können docker compose down sicher ausführen, ohne persistente Daten zu entfernen.


    Letztes Update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2577,7 +2861,7 @@ docker-compose up -d
    - + diff --git a/de/i_u_m/i_u_m_migration/index.html b/de/i_u_m/i_u_m_migration/index.html index 5d280fb1c..7b0713c9c 100644 --- a/de/i_u_m/i_u_m_migration/index.html +++ b/de/i_u_m/i_u_m_migration/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2377,7 +2394,7 @@

    Alternativ können Sie das Skript ./helper-scripts/backup_and_restore.sh verwenden, um ein vollständiges Backup auf der Quellmaschine zu erstellen, dann installieren Sie mailcow auf der Zielmaschine wie gewohnt, kopieren Sie Ihre mailcow.conf und verwenden Sie das gleiche Skript, um Ihr Backup auf der Zielmaschine wiederherzustellen.

    1. -Installieren Sie Docker und docker-compose auf Ihrem neuen Server.

    +Installieren Sie Docker und docker compose auf Ihrem neuen Server.

    Schnelle Installation für die meisten Betriebssysteme:

    @@ -2405,7 +2422,7 @@ rsync -aHhP --numeric-ids --delete /var/lib/docker/volumes/ root@target-machine.

    4. Schalten Sie mailcow ab und stoppen Sie Docker auf dem Quellrechner.

    cd /opt/mailcow-dockerized
    -docker-compose herunterfahren
    +docker compose herunterfahren
     systemctl stop docker.service
     

    **Wiederholen Sie Schritt 3 mit denselben Befehlen. Dies wird viel schneller gehen als beim ersten Mal.

    @@ -2414,10 +2431,10 @@ systemctl stop docker.service

    7. Ziehen Sie nun die mailcow Docker-Images auf den Zielrechner.

    cd /opt/mailcow-dockerized
    -docker-compose pull
    +docker compose pull
     

    8. Starten Sie den gesamten mailcow-Stack und alles sollte fertig sein! -

    docker-compose up -d
    +
    docker compose up -d
     

    9. Zum Schluss ändern Sie Ihre DNS-Einstellungen so, dass sie auf den Zielserver zeigen.

    @@ -2426,7 +2443,7 @@ docker-compose pull Letztes Update: - 2022-06-24 11:27:36 + 2022-08-31 14:45:46 @@ -2542,7 +2559,7 @@ docker-compose pull
    - + diff --git a/de/i_u_m/i_u_m_update/index.html b/de/i_u_m/i_u_m_update/index.html index ab757d75e..829f140a8 100644 --- a/de/i_u_m/i_u_m_update/index.html +++ b/de/i_u_m/i_u_m_update/index.html @@ -62,13 +62,30 @@
    - + Zum Inhalt
    + +
    @@ -400,11 +417,11 @@

    Fehlersuche

    Prüfen Sie, wann der Berichtsplan zuletzt ausgeführt wurde:

    -
    docker-compose exec rspamd-mailcow date -r /var/lib/rspamd/dmarc_reports_last_log
    +
    docker compose exec rspamd-mailcow date -r /var/lib/rspamd/dmarc_reports_last_log
     

    Sehen Sie sich die letzte Berichtsausgabe an:

    -
    docker-compose exec rspamd-mailcow cat /var/lib/rspamd/dmarc_reports_last_log
    +
    docker compose exec rspamd-mailcow cat /var/lib/rspamd/dmarc_reports_last_log
     

    Manuelles Auslösen eines DMARC-Berichts:

    -
    docker-compose exec rspamd-mailcow rspamadm dmarc_report
    +
    docker compose exec rspamd-mailcow rspamadm dmarc_report
     

    Bestätigen Sie, dass Rspamd Daten in Redis aufgezeichnet hat: Ändern Sie 20220428 in ein anderes interessantes Datum zum schauen.

    -
    docker-compose exec redis-mailcow redis-cli SMEMBERS "dmarc_idx;20220428"
    +
    docker compose exec redis-mailcow redis-cli SMEMBERS "dmarc_idx;20220428"
     

    Nehmen Sie eine der Zeilen aus der Ausgabe, die Sie interessiert, und fordern Sie sie an, z. B.:

    -
    docker-compose exec redis-mailcow redis-cli ZRANGE "dmarc_rpt;microsoft.com;mailto:d@rua.agari.com;20220428" 0 49
    +
    docker compose exec redis-mailcow redis-cli ZRANGE "dmarc_rpt;microsoft.com;mailto:d@rua.agari.com;20220428" 0 49
     

    Ändern Sie die Häufigkeit der DMARC-Berichte

    Im obigen Beispiel werden die Berichte einmal alle 24 Stunden gesendet.

    @@ -2563,13 +2580,13 @@ services:

    Um den Zeitplan zu ändern:

    1. -

      Bearbeiten Sie docker-compose.override.yml und stellen Sie ofelia.job-exec.rspamd_dmarc_reporting.schedule: "@every 24h" auf einen gewünschten Wert, zum Beispiel auf "@midnight"

      +

      Bearbeiten Sie docker compose.override.yml und stellen Sie ofelia.job-exec.rspamd_dmarc_reporting.schedule: "@every 24h" auf einen gewünschten Wert, zum Beispiel auf "@midnight"

    2. -

      Führen Sie docker-compose up -d aus.

      +

      Führen Sie docker compose up -d aus.

    3. -

      Führen Sie docker-compose restart ofelia-mailcow aus

      +

      Führen Sie docker compose restart ofelia-mailcow aus

    DMARC-Berichterstattung deaktivieren

    @@ -2579,10 +2596,10 @@ services:

    Setzen Sie enabled auf false in data/conf/rspamd/local.d/dmarc.conf.

  • -

    Machen Sie Änderungen in docker-compose.override.yml an rspamd-mailcow und ofelia-mailcow rückgängig

    +

    Machen Sie Änderungen in docker compose.override.yml an rspamd-mailcow und ofelia-mailcow rückgängig

  • -

    Führen Sie docker-compose up -d aus

    +

    Führen Sie docker compose up -d aus

  • @@ -2591,7 +2608,7 @@ services: Letztes Update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2707,7 +2724,7 @@ services:
    - + diff --git a/de/post_installation/firststeps-ip_bindings/index.html b/de/post_installation/firststeps-ip_bindings/index.html index 54a05cf3d..e1aa8af2d 100644 --- a/de/post_installation/firststeps-ip_bindings/index.html +++ b/de/post_installation/firststeps-ip_bindings/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2463,11 +2480,11 @@ DOVEADM_PORT=127.0.0.1:19991 SQL_PORT=127.0.0.1:13306 SOLR_PORT=127.0.0.1:18983
    -

    Um Ihre Änderungen zu übernehmen, führen Sie docker-compose down gefolgt von docker-compose up -d aus.

    +

    Um Ihre Änderungen zu übernehmen, führen Sie docker compose down gefolgt von docker compose up -d aus.

    IPv6-Binding

    Das Ändern von IPv6-Bindings ist anders als bei IPv4. Auch dies hat einen technischen Hintergrund.

    -

    Eine docker-compose.override.yml Datei wird verwendet, anstatt die docker-compose.yml Datei direkt zu bearbeiten. Dies geschieht, um die Aktualisierbarkeit zu erhalten, da die Datei docker-compose.yml regelmäßig aktualisiert wird und Ihre Änderungen höchstwahrscheinlich überschrieben werden.

    -

    Bearbeiten Sie die Datei "docker-compose.override.yml" und erstellen Sie sie mit dem folgenden Inhalt. Ihr Inhalt wird mit der produktiven Datei "docker-compose.yml" zusammengeführt.

    +

    Eine docker compose.override.yml Datei wird verwendet, anstatt die docker compose.yml Datei direkt zu bearbeiten. Dies geschieht, um die Aktualisierbarkeit zu erhalten, da die Datei docker compose.yml regelmäßig aktualisiert wird und Ihre Änderungen höchstwahrscheinlich überschrieben werden.

    +

    Bearbeiten Sie die Datei "docker compose.override.yml" und erstellen Sie sie mit dem folgenden Inhalt. Ihr Inhalt wird mit der produktiven Datei "docker compose.yml" zusammengeführt.

    Es wird eine beispielhafte IPv6 2001:db8:dead:beef::123 in [] angegeben. Das erste Suffix :PORT1 definiert den externen Port, während das zweite Suffix :PORT2 zu dem entsprechenden Port innerhalb des Containers führt und nicht verändert werden darf.

    version: '2.1'
     services:
    @@ -2491,14 +2508,14 @@ services:
             - '[2001:db8:dead:beef::123]:80:80'
             - '[2001:db8:dead:beef::123]:443:443'
     
    -

    Um Ihre Änderungen zu übernehmen, führen Sie docker-compose down gefolgt von docker-compose up -d aus.

    +

    Um Ihre Änderungen zu übernehmen, führen Sie docker compose down gefolgt von docker compose up -d aus.


    Letztes Update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2614,7 +2631,7 @@ services:
    - + diff --git a/de/post_installation/firststeps-local_mta/index.html b/de/post_installation/firststeps-local_mta/index.html index 3d33a53b7..c81e25a4c 100644 --- a/de/post_installation/firststeps-local_mta/index.html +++ b/de/post_installation/firststeps-local_mta/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2505,7 +2522,7 @@ Das Relaying über diese Schnittstelle ist notwendig (anstatt - zum Beispiel - d
    - + diff --git a/de/post_installation/firststeps-logging/index.html b/de/post_installation/firststeps-logging/index.html index a4abfdf86..e1c8e1424 100644 --- a/de/post_installation/firststeps-logging/index.html +++ b/de/post_installation/firststeps-logging/index.html @@ -69,6 +69,23 @@
    + +
    @@ -562,10 +579,10 @@
  • - Über docker-compose.override.yml + Über docker compose.override.yml -
  • @@ -2350,6 +2496,116 @@ + + + @@ -2368,31 +2624,54 @@

    Installation

    +

    Docker und Docker Compose Installation

    You need Docker (a version >= 20.10.2 is required) and Docker Compose (a version >= 2.0 is required).

    -

    1. Learn how to install Docker and Docker Compose.

    +

    Learn how to install Docker and Docker Compose.

    Quick installation for most operation systems:

    -
      -
    • -

      Docker +

      Docker

      curl -sSL https://get.docker.com/ | CHANNEL=stable sh
       # After the installation process is finished, you may need to enable the service and make sure it is started (e.g. CentOS 7)
       systemctl enable --now docker
      -

      -
    • -
    • -

      Docker-Compose

      -
    • -
    +
    +

    docker compose

    Danger

    -

    mailcow requires the latest version of docker-compose v2. It is highly recommended to use the commands below to install docker-compose. Package managers (e.g. apt, yum) likely won't give you the correct version. -Note: This command downloads docker-compose from the official Docker Github repository and is a safe method. The snippet will determine the latest supported version by mailcow. In almost all cases this is the latest version available (exceptions are broken releases or major changes not yet supported by mailcow).

    +

    mailcow requires the latest version of docker compose v2.
    +If Docker was installed using the script above, the Docker Compose plugin is already automatically installed in a version >=2.0.
    +Is your mailcow installation older or Docker was installed in a different way, the Compose plugin or the standalone version of Docker must be installed manually.

    -
    curl -L https://github.com/docker/compose/releases/download/v$(curl -Ls https://www.servercow.de/docker-compose/latest.php)/docker-compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker-compose
    -chmod +x /usr/local/bin/docker-compose
    +

    Installation via Paketmanager (plugin)

    +
    +

    Info

    +

    This approach with the package sources is only possible if the Docker repository has been included. This can happen either through the instructions above (see Docker) or through a manually integration.

    +
    +

    On Debian/Ubuntu systems: +

    apt update
    +apt install docker compose-plugin
    +

    +

    On Centos 7 systems: +

    yum update
    +yum install docker compose-plugin
    +

    +
    +

    Danger

    +

    The Docker Compose command syntax is docker compose for the plugin variant of Docker Compose!!!

    +
    +

    Installation via Script (standalone)

    +
    +

    Info

    +

    This installation is the old familiar way. It installs Docker Compose as a standalone program and does not rely on the Docker installation way.

    +
    +
    curl -L https://github.com/docker/compose/releases/download/v$(curl -Ls https://www.servercow.de/docker compose/latest.php)/docker compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker compose
    +chmod +x /usr/local/bin/docker compose
     
    +
    +

    Danger

    +

    The Docker Compose command syntax is docker compose for the standalone variant of Docker Compose!!!

    +

    Please use the latest Docker engine available and do not use the engine that ships with your distros repository.

    -

    1.1. On SELinux enabled systems, e.g. CentOS 7:

    +

    Check SELinux specifics

    +

    On SELinux enabled systems, e.g. CentOS 7:

    • Check if "container-selinux" package is present on your system:
    @@ -2412,7 +2691,8 @@ chmod +x /usr/local/bin/docker-compose

    Restart the docker daemon and verify SELinux is now enabled.

    This step is required to make sure mailcows volumes are properly labeled as declared in the compose file. If you are interested in how this works, you can check out the readme of https://github.com/containers/container-selinux which links to a lot of useful information on that topic.

    -

    2. Clone the master branch of the repository, make sure your umask equals 0022. Please clone the repository as root user and also control the stack as root. We will modify attributes - if necessary - while bootstrapping the containers automatically and make sure everything is secured. The update.sh script must therefore also be run as root. It might be necessary to change ownership and other attributes of files you will otherwise not have access to. We drop permissions for every exposed application and will not run an exposed service as root! Controlling the Docker daemon as non-root user does not give you additional security. The unprivileged user will spawn the containers as root likewise. The behaviour of the stack is identical.

    +

    Install mailcow

    +

    Clone the master branch of the repository, make sure your umask equals 0022. Please clone the repository as root user and also control the stack as root. We will modify attributes - if necessary - while bootstrapping the containers automatically and make sure everything is secured. The update.sh script must therefore also be run as root. It might be necessary to change ownership and other attributes of files you will otherwise not have access to. We drop permissions for every exposed application and will not run an exposed service as root! Controlling the Docker daemon as non-root user does not give you additional security. The unprivileged user will spawn the containers as root likewise. The behaviour of the stack is identical.

    $ su
     # umask
     0022 # <- Verify it is 0022
    @@ -2420,18 +2700,20 @@ If you are interested in how this works, you can check out the readme of 
    -

    3. Generate a configuration file. Use a FQDN (host.domain.tld) as hostname when asked. +

    Initialize mailcow

    +

    Generate a configuration file. Use a FQDN (host.domain.tld) as hostname when asked.

    ./generate_config.sh
     

    -

    4. Change configuration if you want or need to. +

    Change configuration if you want or need to.

    nano mailcow.conf
     
    If you plan to use a reverse proxy, you can, for example, bind HTTPS to 127.0.0.1 on port 8443 and HTTP to 127.0.0.1 on port 8080.

    You may need to stop an existing pre-installed MTA which blocks port 25/tcp. See this chapter to learn how to reconfigure Postfix to run besides mailcow after a successful installation.

    Some updates modify mailcow.conf and add new parameters. It is hard to keep track of them in the documentation. Please check their description and, if unsure, ask at the known channels for advise.

    -

    4.1. Users with a MTU not equal to 1500 (e.g. OpenStack):

    +

    Troubleshooting

    +

    Users with a MTU not equal to 1500 (e.g. OpenStack)

    Whenever you run into trouble and strange phenomena, please check your MTU.

    -

    Edit docker-compose.yml and change the network settings according to your MTU. +

    Edit docker compose.yml and change the network settings according to your MTU. Add the new driver_opts parameter like this:

    networks:
       mailcow-network:
    @@ -2440,12 +2722,13 @@ Add the new driver_opts parameter like this:
           com.docker.network.driver.mtu: 1450
         ...
     

    -

    4.2. Users without an IPv6 enabled network on their host system:

    -

    Enable IPv6. Finally.

    +

    Users without an IPv6 enabled network on their host system

    +

    Please don't turn off IPv6, even if you don't like it. IPv6 is the future and should not be ignored.

    If you do not have an IPv6 enabled network on your host and you don't care for a better internet (thehe), it is recommended to disable IPv6 for the mailcow network to prevent unforeseen issues.

    -

    5. Pull the images and run the compose file. The parameter -d will start mailcow: dockerized detached: -

    docker-compose pull
    -docker-compose up -d
    +

    Start mailcow

    +

    Pull the images and run the compose file. The parameter -d will start mailcow: dockerized detached: +

    docker compose pull
    +docker compose up -d
     

    Done!

    You can now access https://${MAILCOW_HOSTNAME} with the default credentials admin + password moohoo.

    @@ -2454,14 +2737,14 @@ docker-compose up -d

    If you are not using mailcow behind a reverse proxy, you should redirect all HTTP requests to HTTPS.

    The database will be initialized right after a connection to MySQL can be established.

    -

    Your data will persist in multiple Docker volumes, that are not deleted when you recreate or delete containers. Run docker volume ls to see a list of all volumes. You can safely run docker-compose down without removing persistent data.

    +

    Your data will persist in multiple Docker volumes, that are not deleted when you recreate or delete containers. Run docker volume ls to see a list of all volumes. You can safely run docker compose down without removing persistent data.


    Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2577,7 +2860,7 @@ docker-compose up -d
    - + diff --git a/en/i_u_m/i_u_m_migration/index.html b/en/i_u_m/i_u_m_migration/index.html index 491df35dd..ac1ac50e4 100644 --- a/en/i_u_m/i_u_m_migration/index.html +++ b/en/i_u_m/i_u_m_migration/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2377,7 +2394,7 @@

    Alternatively, you can use the ./helper-scripts/backup_and_restore.sh script to create a full backup on the source machine, then install mailcow on the target machine as usual, copy over your mailcow.conf and use the same script to restore your backup to the target machine.

    1. -Install Docker and docker-compose on your new server.

    +Install Docker and docker compose on your new server.

    Quick installation for most operation systems:

    • @@ -2388,9 +2405,9 @@ systemctl enable docker.service

    • -

      docker-compose -

      curl -L https://github.com/docker/compose/releases/download/v$(curl -Ls https://www.servercow.de/docker-compose/latest.php)/docker-compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker-compose
      -chmod +x /usr/local/bin/docker-compose
      +

      docker compose +

      curl -L https://github.com/docker/compose/releases/download/v$(curl -Ls https://www.servercow.de/docker compose/latest.php)/docker compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker compose
      +chmod +x /usr/local/bin/docker compose
       

    @@ -2405,7 +2422,7 @@ rsync -aHhP --numeric-ids --delete /var/lib/docker/volumes/ root@target-machine.

    4. Shut down mailcow and stop Docker on the source machine.

    cd /opt/mailcow-dockerized
    -docker-compose down
    +docker compose down
     systemctl stop docker.service
     

    5. Repeat step 3 with the same commands. This will be much quicker than the first time.

    @@ -2414,10 +2431,10 @@ systemctl stop docker.service

    7. Now pull the mailcow Docker images on the target machine.

    cd /opt/mailcow-dockerized
    -docker-compose pull
    +docker compose pull
     

    8. Start the whole mailcow stack and everything should be done! -

    docker-compose up -d
    +
    docker compose up -d
     

    9. Finally, change your DNS settings to point to the target server.

    @@ -2426,7 +2443,7 @@ docker-compose pull Last update: - 2022-06-24 11:27:36 + 2022-08-31 14:45:46 @@ -2542,7 +2559,7 @@ docker-compose pull
    - + diff --git a/en/i_u_m/i_u_m_update/index.html b/en/i_u_m/i_u_m_update/index.html index 38412ac23..33ed130fd 100644 --- a/en/i_u_m/i_u_m_update/index.html +++ b/en/i_u_m/i_u_m_update/index.html @@ -69,6 +69,23 @@
    + +
    @@ -445,6 +462,47 @@ Update Cycle + + +
  • + + Update variants + + +
  • + +
  • + + NEW: Get Nightly Updates + + + +
  • @@ -2477,6 +2535,47 @@ Update Cycle + + +
  • + + Update variants + + +
  • + +
  • + + NEW: Get Nightly Updates + + + +
  • @@ -2520,8 +2619,12 @@ Some minor conflicts will be auto-corrected (in favour for the mailcow-dockerize # - Skip ICMP Check to public DNS resolvers (Use it only if you´ve blocked any ICMP Connections to your mailcow machine) ./update.sh --skip-ping-check -# - Skips the Docker-Compose update process, update is done by the user manually -./update.sh --no-update-compose +# - Switch your mailcow updates to the unstable (nightly) branch. +FOR TESTING PURPOSES ONLY!!!! NOT READY FOR PRODUCTION!!! +./update.sh --nightly + +# - Switch your mailcow updates to the stable (master) branch. Default unless you changed it with --nightly. +./update.sh --stable # - Force update (unattended, but unsupported, use at own risk) ./update.sh --force @@ -2545,11 +2648,11 @@ dacd4fb9b51e9e1c8a37d84485b92ffaf6c59353 Before update on 2020-08-07_13_31_31

    Can I roll back?

    Yes.

    See the topic above, instead of a diff, you run checkout:

    -
    docker-compose down
    +
    docker compose down
     # Replace commit ID 22cd00b5e28893ef9ddef3c2b5436453cc5223ab by your ID
     git checkout 22cd00b5e28893ef9ddef3c2b5436453cc5223ab
    -docker-compose pull
    -docker-compose up -d
    +docker compose pull
    +docker compose up -d
     

    Hooks

    You can hook into the update mechanism by adding scripts called pre_commit_hook.sh and post_commit_hook.sh to your mailcows root directory. See this for more details.

    @@ -2559,13 +2662,40 @@ docker-compose up -d
  • The releases are numbered like this: YYYY-MM (e.g. 2022-05)
  • Fixes for a main Update will be stated as "Revisions" like a,b,c (e.g. 2022-05a, 2022-05b etc.)
  • +

    Update variants

    +

    stable (stable updates): These updates are suitable for productive usage. They appear in a cycle of at least 1x per month.

    +

    nightly (unstable updates): These updates are NOT suitable for production use and are for testing only. The nightly updates are ahead of the stable updates, since in these updates we test newer and more extensive features before they go live for all users.

    +

    NEW: Get Nightly Updates

    +

    Info about the Nightly Updates

    +

    Since the 2022-08 update there is the possibility to change the update sources. Until now, the master branch on GitHub served as the only (official) update source. With the August 2022 update, however, there is now the Nightly Branch which contains unstable and major changes for testing and feedback.

    +

    The Nightly Branch always gets new updates when something is finished on the mailcow project that will be included in the new main version.

    +

    Besides the obvious changes that will be included in the next major update anyway, it also contains exclusive features that need a longer testing time (e.g. the UI update to Bootstrap 5).

    +

    How do I get Nightly Updates?

    +

    The process is relatively simple. With the 2022-08 update (assuming an update to the version) it is possible to run update.sh with the parameter --nightly.

    +
    +

    Danger

    Please make a backup before or follow the Best Practice Nightly Update section before switching to mailcow nightly builds. We are not responsible for any data loss/corruption, so work with caution!

    +

    +
    +

    The script will now change the branch with git checkout nightly, which means it will ask for the IPv6 settings again. But this is normal.

    +

    If everything worked fine (for which we made a backup before) the mailcow UI should now show the current version number and date stamp in the lower right corner:
    +nightly footer

    +

    Best Practice Nightly Update

    +
    +

    Info

    We recommend using the Nightly Update only if you have another machine or VM and NOT use it productively.

    +

    +
    +
      +
    1. use the cold standby script to copy the machine before the switch to the nightly builds on another system.
    2. +
    3. run the update.sh script on the new machine with the parameter --nightly and confirm.
    4. +
    5. experience/test the nightly updates on the secondary machine.
    6. +

    Last update: - 2022-06-23 15:19:13 + 2022-08-31 14:45:46 @@ -2681,7 +2811,7 @@ docker-compose up -d
    - + diff --git a/en/index.html b/en/index.html index fa9f4a1ab..7a05a8d21 100644 --- a/en/index.html +++ b/en/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2708,7 +2725,7 @@ Each container represents a single application.

    - + diff --git a/en/manual-guides/ClamAV/u_e-clamav-additional_dbs/index.html b/en/manual-guides/ClamAV/u_e-clamav-additional_dbs/index.html index 44d3c5848..7e3643b4d 100644 --- a/en/manual-guides/ClamAV/u_e-clamav-additional_dbs/index.html +++ b/en/manual-guides/ClamAV/u_e-clamav-additional_dbs/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2519,7 +2536,7 @@ MaxZipTypeRcg 50M

  • Restart ClamAV container: -
    docker-compose restart clamd-mailcow
    +
    docker compose restart clamd-mailcow
     
  • Please note:

    @@ -2538,7 +2555,7 @@ DatabaseCustomURL http://sigs.interserver.net/shell.ldb DatabaseCustomURL http://sigs.interserver.net/whitelist.fp
  • Restart ClamAV container: -
    docker-compose restart clamd-mailcow
    +
    docker compose restart clamd-mailcow
     
  • @@ -2547,7 +2564,7 @@ DatabaseCustomURL http://sigs.interserver.net/whitelist.fp Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2663,7 +2680,7 @@ DatabaseCustomURL http://sigs.interserver.net/whitelist.fp
    - + diff --git a/en/manual-guides/ClamAV/u_e-clamav-whitelist/index.html b/en/manual-guides/ClamAV/u_e-clamav-whitelist/index.html index 21a4e1f28..efe867af7 100644 --- a/en/manual-guides/ClamAV/u_e-clamav-whitelist/index.html +++ b/en/manual-guides/ClamAV/u_e-clamav-whitelist/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2421,7 +2438,7 @@

    Whitelist specific ClamAV signatures

    You may find that legitimate (clean) mail is being blocked by ClamAV (Rspamd will flag the mail with VIRUS_FOUND). For instance, interactive PDF form attachments are blocked by default because the embedded Javascript code may be used for nefarious purposes. Confirm by looking at the clamd logs, e.g.:

    -
    docker-compose logs clamd-mailcow | grep "FOUND"
    +
    docker compose logs clamd-mailcow | grep "FOUND"
     

    This line confirms that such was identified:

    clamd-mailcow_1      | Sat Sep 28 07:43:24 2019 -> instream(local): PUA.Pdf.Trojan.EmbeddedJavaScript-1(e887d2ac324ce90750768b86b63d0749:363325) FOUND
    @@ -2429,11 +2446,11 @@
     

    To whitelist this particular signature (and enable sending this type of file attached), add it to the ClamAV signature whitelist file:

    echo 'PUA.Pdf.Trojan.EmbeddedJavaScript-1' >> data/conf/clamav/whitelist.ign2
     
    -

    Then restart the clamd-mailcow service container in the mailcow UI or using docker-compose:

    -
    docker-compose restart clamd-mailcow
    +

    Then restart the clamd-mailcow service container in the mailcow UI or using docker compose:

    +
    docker compose restart clamd-mailcow
     

    Cleanup cached ClamAV results in Redis:

    -
    # docker-compose exec redis-mailcow  /bin/sh
    +
    # docker compose exec redis-mailcow  /bin/sh
     /data # redis-cli KEYS rs_cl* | xargs redis-cli DEL
     /data # exit
     
    @@ -2443,7 +2460,7 @@ Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2559,7 +2576,7 @@
    - + diff --git a/en/manual-guides/Docker/u_e-docker-cust_dockerfiles/index.html b/en/manual-guides/Docker/u_e-docker-cust_dockerfiles/index.html index c056cd4d9..906a20a04 100644 --- a/en/manual-guides/Docker/u_e-docker-cust_dockerfiles/index.html +++ b/en/manual-guides/Docker/u_e-docker-cust_dockerfiles/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2371,13 +2388,13 @@

    Customize Dockerfiles

    You need to copy the override file with corresponding build tags to the mailcow: dockerized root folder (i.e. /opt/mailcow-dockerized):

    -
    cp helper-scripts/docker-compose.override.yml.d/BUILD_FLAGS/docker-compose.override.yml docker-compose.override.yml
    +
    cp helper-scripts/docker compose.override.yml.d/BUILD_FLAGS/docker compose.override.yml docker compose.override.yml
     

    Make your changes in data/Dockerfiles/$service and build the image locally:

    docker build data/Dockerfiles/service -t mailcow/$service
     

    Now auto-recreate modified containers:

    -
    docker-compose up -d
    +
    docker compose up -d
     

    @@ -2385,7 +2402,7 @@ Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2501,7 +2518,7 @@
    - + diff --git a/en/manual-guides/Dovecot/u_e-dovecot-any_acl/index.html b/en/manual-guides/Dovecot/u_e-dovecot-any_acl/index.html index 5d2735155..982b0aa7b 100644 --- a/en/manual-guides/Dovecot/u_e-dovecot-any_acl/index.html +++ b/en/manual-guides/Dovecot/u_e-dovecot-any_acl/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2374,14 +2391,14 @@

    This function can be re-enabled by setting ACL_ANYONE to allow in mailcow.conf:

    ACL_ANYONE=allow
     
    -

    Apply the changes by running docker-compose up -d.

    +

    Apply the changes by running docker compose up -d.


    Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2497,7 +2514,7 @@
    - + diff --git a/en/manual-guides/Dovecot/u_e-dovecot-catchall_vacation/index.html b/en/manual-guides/Dovecot/u_e-dovecot-catchall_vacation/index.html index dc2cb3081..2472c75f4 100644 --- a/en/manual-guides/Dovecot/u_e-dovecot-catchall_vacation/index.html +++ b/en/manual-guides/Dovecot/u_e-dovecot-catchall_vacation/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2494,7 +2511,7 @@
    - + diff --git a/en/manual-guides/Dovecot/u_e-dovecot-expunge/index.html b/en/manual-guides/Dovecot/u_e-dovecot-expunge/index.html index 180c67f0f..2e1d92099 100644 --- a/en/manual-guides/Dovecot/u_e-dovecot-expunge/index.html +++ b/en/manual-guides/Dovecot/u_e-dovecot-expunge/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2477,16 +2494,16 @@

    The manual way

    That said, let's dive in:

    Delete a user's mails inside the junk folder that are read and older than 4 hours

    -
    docker-compose exec dovecot-mailcow doveadm expunge -u 'mailbox@example.com' mailbox 'Junk' SEEN not SINCE 4h
    +
    docker compose exec dovecot-mailcow doveadm expunge -u 'mailbox@example.com' mailbox 'Junk' SEEN not SINCE 4h
     

    Delete all user's mails in the junk folder that are older than 7 days

    -
    docker-compose exec dovecot-mailcow doveadm expunge -A mailbox 'Junk' savedbefore 7d
    +
    docker compose exec dovecot-mailcow doveadm expunge -A mailbox 'Junk' savedbefore 7d
     

    Delete all mails (of all users) in all folders that are older than 52 weeks (internal date of the mail, not the date it was saved on the system => before instead of savedbefore). Useful for deleting very old mails on all users and folders (thus especially useful for GDPR-compliance).

    -
    docker-compose exec dovecot-mailcow doveadm expunge -A mailbox % before 52w
    +
    docker compose exec dovecot-mailcow doveadm expunge -A mailbox % before 52w
     

    Delete mails inside a custom folder inside a user's inbox that are not flagged and older than 2 weeks

    -
    docker-compose exec dovecot-mailcow doveadm expunge -u 'mailbox@example.com' mailbox 'INBOX/custom-folder' not FLAGGED not SINCE 2w
    +
    docker compose exec dovecot-mailcow doveadm expunge -u 'mailbox@example.com' mailbox 'INBOX/custom-folder' not FLAGGED not SINCE 2w
     

    Info

    @@ -2499,8 +2516,8 @@ # Path to mailcow-dockerized, e.g. /opt/mailcow-dockerized cd /path/to/your/mailcow-dockerized -/usr/local/bin/docker-compose exec -T dovecot-mailcow doveadm expunge -A mailbox 'Junk' savedbefore 2w -/usr/local/bin/docker-compose exec -T dovecot-mailcow doveadm expunge -A mailbox 'Junk' SEEN not SINCE 12h +/usr/local/bin/docker compose exec -T dovecot-mailcow doveadm expunge -A mailbox 'Junk' savedbefore 2w +/usr/local/bin/docker compose exec -T dovecot-mailcow doveadm expunge -A mailbox 'Junk' SEEN not SINCE 12h [...]

    To create a cron job you may execute crontab -e and insert something like the following to execute a script:

    @@ -2508,7 +2525,7 @@ cd /path/to/your/mailcow-dockerized 0 4 * * * /path/to/your/expunge_mailboxes.sh

    via Docker job scheduler

    -

    To archive this with a docker job scheduler use this docker-compose.override.yml with your mailcow:

    +

    To archive this with a docker job scheduler use this docker compose.override.yml with your mailcow:

    version: '2.1'
     
     services:
    @@ -2529,7 +2546,7 @@ services:
           - "ofelia.job-exec.dovecot-expunge-trash.tty=false"
     

    The job controller just need access to the docker control socket to be able to emulate the behavior of "exec". Then we add a few label to our dovecot-container to activate the job scheduler and tell him in a cron compatible scheduling format when to run. If you struggle with that schedule string you can use crontab guru. -This docker-compose.override.yml deletes all mails older then 2 weeks from the "Junk" folder every day at 4 am. To see if things ran proper, you can not only see in your mailbox but also check Ofelia's docker log if it looks something like this:

    +This docker compose.override.yml deletes all mails older then 2 weeks from the "Junk" folder every day at 4 am. To see if things ran proper, you can not only see in your mailbox but also check Ofelia's docker log if it looks something like this:

    common.go:124 ▶ NOTICE [Job "dovecot-expunge-trash" (8759567efa66)] Started - doveadm expunge -A mailbox 'Junk' savedbefore 2w,
     common.go:124 ▶ NOTICE [Job "dovecot-expunge-trash" (8759567efa66)] Finished in "285.032291ms", failed: false, skipped: false, error: none,
     
    @@ -2541,7 +2558,7 @@ common.go:124 ▶ NOTICE [Job "dovecot-expunge-trash" (8759567efa66)] Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2657,7 +2674,7 @@ common.go:124 ▶ NOTICE [Job "dovecot-expunge-trash" (8759567efa66)]
    - + diff --git a/en/manual-guides/Dovecot/u_e-dovecot-extra_conf/index.html b/en/manual-guides/Dovecot/u_e-dovecot-extra_conf/index.html index ce0907409..6466c19b8 100644 --- a/en/manual-guides/Dovecot/u_e-dovecot-extra_conf/index.html +++ b/en/manual-guides/Dovecot/u_e-dovecot-extra_conf/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2372,7 +2389,7 @@

    Create a file data/conf/dovecot/extra.conf - if missing - and add your additional content here.

    Restart dovecot-mailcow to apply your changes:

    -
    docker-compose restart dovecot-mailcow
    +
    docker compose restart dovecot-mailcow
     

    @@ -2380,7 +2397,7 @@ Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2496,7 +2513,7 @@
    - + diff --git a/en/manual-guides/Dovecot/u_e-dovecot-fts/index.html b/en/manual-guides/Dovecot/u_e-dovecot-fts/index.html index d2a4684d9..fc1c80959 100644 --- a/en/manual-guides/Dovecot/u_e-dovecot-fts/index.html +++ b/en/manual-guides/Dovecot/u_e-dovecot-fts/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2467,17 +2484,17 @@

    Since we run in Docker and create our containers with the "restart: always" flag, a oom situation will at least only trigger a restart of the container.

    # single user
    -docker-compose exec dovecot-mailcow doveadm fts rescan -u user@domain
    +docker compose exec dovecot-mailcow doveadm fts rescan -u user@domain
     # all users
    -docker-compose exec dovecot-mailcow doveadm fts rescan -A
    +docker compose exec dovecot-mailcow doveadm fts rescan -A
     

    Dovecot Wiki: "Scan what mails exist in the full text search index and compare those to what actually exist in mailboxes. This removes mails from the index that have already been expunged and makes sure that the next doveadm index will index all the missing mails (if any)."

    This does not re-index a mailbox. It basically repairs a given index.

    If you want to re-index data immediately, you can run the followig command, where '*' can also be a mailbox mask like 'Sent'. You do not need to run these commands, but it will speed things up a bit:

    # single user
    -docker-compose exec dovecot-mailcow doveadm index -u user@domain '*'
    +docker compose exec dovecot-mailcow doveadm index -u user@domain '*'
     # all users, but obviously slower and more dangerous
    -docker-compose exec dovecot-mailcow doveadm index -A '*'
    +docker compose exec dovecot-mailcow doveadm index -A '*'
     

    This will take some time depending on your machine and Solr can run oom, monitor it!

    Because re-indexing is very sensible, we did not include it to mailcow UI. You will need to take care of any errors while re-indexing a mailbox.

    @@ -2489,7 +2506,7 @@ docker-compose exec dovecot-mailcow doveadm index -A '*' Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2605,7 +2622,7 @@ docker-compose exec dovecot-mailcow doveadm index -A '*'
    - + diff --git a/en/manual-guides/Dovecot/u_e-dovecot-idle_interval/index.html b/en/manual-guides/Dovecot/u_e-dovecot-idle_interval/index.html index 0f639d79f..9206a5b61 100644 --- a/en/manual-guides/Dovecot/u_e-dovecot-idle_interval/index.html +++ b/en/manual-guides/Dovecot/u_e-dovecot-idle_interval/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2494,12 +2511,12 @@ Insert the setting followed by the new value. For example, to set the interval t

    Reload Dovecot

    Now reload Dovecot: -

    docker-compose exec dovecot-mailcow dovecot reload
    +
    docker compose exec dovecot-mailcow dovecot reload
     

    Info

    You can check the value of this setting with -

    docker-compose exec dovecot-mailcow dovecot -a | grep "imap_idle_notify_interval"
    +
    docker compose exec dovecot-mailcow dovecot -a | grep "imap_idle_notify_interval"
     
    If you didn't change it, it should be at 2m. If you did change it, you should see your new value.

    @@ -2509,7 +2526,7 @@ If you didn't change it, it should be at 2m. If you did change it, you should se Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2625,7 +2642,7 @@ If you didn't change it, it should be at 2m. If you did change it, you should se
    - + diff --git a/en/manual-guides/Dovecot/u_e-dovecot-mail-crypt/index.html b/en/manual-guides/Dovecot/u_e-dovecot-mail-crypt/index.html index 8844e4900..58316091a 100644 --- a/en/manual-guides/Dovecot/u_e-dovecot-mail-crypt/index.html +++ b/en/manual-guides/Dovecot/u_e-dovecot-mail-crypt/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2375,7 +2392,7 @@

    Mails are stored compressed (lz4) and encrypted. The key pair can be found in crypt-vol-1.

    If you want to decode/encode existing maildir files, you can use the following script at your own risk:

    -

    Enter Dovecot by running docker-compose exec dovecot-mailcow /bin/bash in the mailcow-dockerized location.

    +

    Enter Dovecot by running docker compose exec dovecot-mailcow /bin/bash in the mailcow-dockerized location.

    # Decrypt /var/vmail
     find /var/vmail/ -type f -regextype egrep -regex '.*S=.*W=.*' | while read -r file; do
     if [[ $(head -c7 "$file") == "CRYPTED" ]]; then
    @@ -2407,7 +2424,7 @@ done
       
         
           Last update:
    -      2022-07-23 01:17:49
    +      2022-08-31 14:45:46
           
         
       
    @@ -2523,7 +2540,7 @@ done
           
    - + diff --git a/en/manual-guides/Dovecot/u_e-dovecot-more/index.html b/en/manual-guides/Dovecot/u_e-dovecot-more/index.html index 85cf7d38f..31f05edf2 100644 --- a/en/manual-guides/Dovecot/u_e-dovecot-more/index.html +++ b/en/manual-guides/Dovecot/u_e-dovecot-more/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2589,7 +2606,7 @@
    - + diff --git a/en/manual-guides/Dovecot/u_e-dovecot-public_folder/index.html b/en/manual-guides/Dovecot/u_e-dovecot-public_folder/index.html index 91b6a3346..1e28cebe0 100644 --- a/en/manual-guides/Dovecot/u_e-dovecot-public_folder/index.html +++ b/en/manual-guides/Dovecot/u_e-dovecot-public_folder/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2435,7 +2452,7 @@

    :INDEXPVT=~/public can be omitted if per-user seen flags are not wanted.

    The new mailbox in the public namespace will be auto-subscribed by users.

    To allow all authenticated users access full to that new mailbox (not the whole namespace), run:

    -
    docker-compose exec dovecot-mailcow doveadm acl set -A "Public/Develcow" "authenticated" lookup read write write-seen write-deleted insert post delete expunge create
    +
    docker compose exec dovecot-mailcow doveadm acl set -A "Public/Develcow" "authenticated" lookup read write write-seen write-deleted insert post delete expunge create
     

    Adjust the command to your needs if you like to assign more granular rights per user (use -u user@domain instead of -A for example).

    Allow authenticated users access to the whole public namespace

    @@ -2452,7 +2469,7 @@ Last update: - 2022-07-28 08:45:52 + 2022-08-31 14:45:46 @@ -2568,7 +2585,7 @@
    - + diff --git a/en/manual-guides/Dovecot/u_e-dovecot-static_master/index.html b/en/manual-guides/Dovecot/u_e-dovecot-static_master/index.html index 54b892aee..4b936af83 100644 --- a/en/manual-guides/Dovecot/u_e-dovecot-static_master/index.html +++ b/en/manual-guides/Dovecot/u_e-dovecot-static_master/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2377,7 +2394,7 @@
    DOVECOT_MASTER_USER=mymasteruser
     DOVECOT_MASTER_PASS=mysecretpass
     
    -

    Run docker-compose up -d to apply your changes.

    +

    Run docker compose up -d to apply your changes.

    The static master username will be expanded to DOVECOT_MASTER_USER@mailcow.local.

    To login as test@example.org this would equal to test@example.org*mymasteruser@mailcow.local with the specified password above.

    A login to SOGo is not possible with this username. A click-to-login function for SOGo is available for admins as described here @@ -2388,7 +2405,7 @@ No master user is required.

    Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2504,7 +2521,7 @@ No master user is required.

    - + diff --git a/en/manual-guides/Dovecot/u_e-dovecot-vmail-volume/index.html b/en/manual-guides/Dovecot/u_e-dovecot-vmail-volume/index.html index cd60c594f..9e6e7f546 100644 --- a/en/manual-guides/Dovecot/u_e-dovecot-vmail-volume/index.html +++ b/en/manual-guides/Dovecot/u_e-dovecot-vmail-volume/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2464,14 +2481,14 @@

    Warning

    Newer Docker versions seem to complain about existing volumes. You can fix this temporarily by removing the existing volume and start mailcow with the override file. But it seems to be problematic after a reboot (needs to be confirmed).

    -

    An easy, dirty, yet stable workaround is to stop mailcow (docker-compose down), remove /var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data and create a new link to your remote filesystem location, for example:

    +

    An easy, dirty, yet stable workaround is to stop mailcow (docker compose down), remove /var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data and create a new link to your remote filesystem location, for example:

    mv /var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data /var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data_backup
     ln -s /mnt/volume-xy/vmail_data /var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data
     

    Start mailcow afterwards.


    The "old" way

    -

    If you want to use another folder for the vmail-volume, you can create a docker-compose.override.yml file and add the following content:

    +

    If you want to use another folder for the vmail-volume, you can create a docker compose.override.yml file and add the following content:

    version: '2.1'
     volumes:
       vmail-vol-1:
    @@ -2502,10 +2519,10 @@ volumes:
     
    • Copy the content of the Mountpoint folder to the new location (e.g. /data/mailcow/vmail) using cp -a, rsync -a or a similar non strcuture breaking copy command
    • -
    • Stop mailcow by executing docker-compose down from within your mailcow root folder (e.g. /opt/mailcow-dockerized)
    • -
    • Create the file docker-compose.override.yml, edit the device path accordingly
    • +
    • Stop mailcow by executing docker compose down from within your mailcow root folder (e.g. /opt/mailcow-dockerized)
    • +
    • Create the file docker compose.override.yml, edit the device path accordingly
    • Delete the current vmail folder: docker volume rm mailcowdockerized_vmail-vol-1
    • -
    • Start mailcow by executing docker-compose up -d from within your mailcow root folder (e.g. /opt/mailcow-dockerized)
    • +
    • Start mailcow by executing docker compose up -d from within your mailcow root folder (e.g. /opt/mailcow-dockerized)

    @@ -2513,7 +2530,7 @@ volumes: Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2629,7 +2646,7 @@ volumes:
    - + diff --git a/en/manual-guides/Nginx/u_e-nginx_custom/index.html b/en/manual-guides/Nginx/u_e-nginx_custom/index.html index e125b68ac..66fb2a450 100644 --- a/en/manual-guides/Nginx/u_e-nginx_custom/index.html +++ b/en/manual-guides/Nginx/u_e-nginx_custom/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2551,8 +2568,8 @@

    This filename does not need to have a ".conf" extension but follows the pattern site.*.custom, where * is a custom name.

    If PHP is to be included in a custom site, please use the PHP-FPM listener on phpfpm:9002 or create a new listener in data/conf/phpfpm/php-fpm.d/pools.conf.

    Restart Nginx (and PHP-FPM, if a new listener was created):

    -
    docker-compose restart nginx-mailcow
    -docker-compose restart php-fpm-mailcow
    +
    docker compose restart nginx-mailcow
    +docker compose restart php-fpm-mailcow
     

    @@ -2560,7 +2577,7 @@ docker-compose restart php-fpm-mailcow Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2676,7 +2693,7 @@ docker-compose restart php-fpm-mailcow
    - + diff --git a/en/manual-guides/Nginx/u_e-nginx_webmail-site/index.html b/en/manual-guides/Nginx/u_e-nginx_webmail-site/index.html index c7f56f482..ad38344f4 100644 --- a/en/manual-guides/Nginx/u_e-nginx_webmail-site/index.html +++ b/en/manual-guides/Nginx/u_e-nginx_webmail-site/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2393,19 +2410,19 @@ } }
    -

    Save and restart Nginx: docker-compose restart nginx-mailcow.

    +

    Save and restart Nginx: docker compose restart nginx-mailcow.

    Now open mailcow.conf and find ADDITIONAL_SAN. Add webmail.example.org to this array, don't use quotes!

    ADDITIONAL_SAN=webmail.example.org
     
    -

    Run docker-compose up -d. See "acme-mailcow" and "nginx-mailcow" logs if anything fails.

    +

    Run docker compose up -d. See "acme-mailcow" and "nginx-mailcow" logs if anything fails.


    Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2521,7 +2538,7 @@ Add webmail.example.org to this array, don't use quotes!

    - + diff --git a/en/manual-guides/Postfix/u_e-postfix-attachment_size/index.html b/en/manual-guides/Postfix/u_e-postfix-attachment_size/index.html index 7918f86e2..0e18694d0 100644 --- a/en/manual-guides/Postfix/u_e-postfix-attachment_size/index.html +++ b/en/manual-guides/Postfix/u_e-postfix-attachment_size/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2372,7 +2389,7 @@

    Open data/conf/postfix/extra.cf and set the message_size_limit accordingly in bytes. See main.cf for the default value.

    Restart Postfix:

    -
    docker-compose restart postfix-mailcow
    +
    docker compose restart postfix-mailcow
     

    @@ -2380,7 +2397,7 @@ Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2496,7 +2513,7 @@
    - + diff --git a/en/manual-guides/Postfix/u_e-postfix-custom_transport/index.html b/en/manual-guides/Postfix/u_e-postfix-custom_transport/index.html index 88aaeb22a..bac6c936f 100644 --- a/en/manual-guides/Postfix/u_e-postfix-custom_transport/index.html +++ b/en/manual-guides/Postfix/u_e-postfix-custom_transport/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2495,7 +2512,7 @@
    - + diff --git a/en/manual-guides/Postfix/u_e-postfix-disable_sender_verification/index.html b/en/manual-guides/Postfix/u_e-postfix-disable_sender_verification/index.html index bf80e9014..0cf0e508c 100644 --- a/en/manual-guides/Postfix/u_e-postfix-disable_sender_verification/index.html +++ b/en/manual-guides/Postfix/u_e-postfix-disable_sender_verification/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2445,7 +2462,7 @@
    smtpd_sender_restrictions = check_sasl_access hash:/opt/postfix/conf/check_sasl_access reject_authenticated_sender_login_mismatch [...]
     

    Run postmap on check_sasl_access:

    -
    docker-compose exec postfix-mailcow postmap /opt/postfix/conf/check_sasl_access
    +
    docker compose exec postfix-mailcow postmap /opt/postfix/conf/check_sasl_access
     

    Restart the Postfix container.

    @@ -2454,7 +2471,7 @@ Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2570,7 +2587,7 @@
    - + diff --git a/en/manual-guides/Postfix/u_e-postfix-extra_cf/index.html b/en/manual-guides/Postfix/u_e-postfix-extra_cf/index.html index e1e36afc6..1c7c783dd 100644 --- a/en/manual-guides/Postfix/u_e-postfix-extra_cf/index.html +++ b/en/manual-guides/Postfix/u_e-postfix-extra_cf/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2374,7 +2391,7 @@

    Postfix will complain about duplicate values once after starting postfix-mailcow, this is intended.

    Syslog-ng was configured to hide those warnings while Postfix is running, to not spam the log files with unnecessary information every time a service is used.

    Restart postfix-mailcow to apply your changes:

    -
    docker-compose restart postfix-mailcow
    +
    docker compose restart postfix-mailcow
     

    @@ -2382,7 +2399,7 @@ Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2498,7 +2515,7 @@
    - + diff --git a/en/manual-guides/Postfix/u_e-postfix-pflogsumm/index.html b/en/manual-guides/Postfix/u_e-postfix-pflogsumm/index.html index 8c6a85671..7cac4c3c2 100644 --- a/en/manual-guides/Postfix/u_e-postfix-pflogsumm/index.html +++ b/en/manual-guides/Postfix/u_e-postfix-pflogsumm/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2503,7 +2520,7 @@
    - + diff --git a/en/manual-guides/Postfix/u_e-postfix-postscreen_whitelist/index.html b/en/manual-guides/Postfix/u_e-postfix-postscreen_whitelist/index.html index 0b24eb913..6ee2026af 100644 --- a/en/manual-guides/Postfix/u_e-postfix-postscreen_whitelist/index.html +++ b/en/manual-guides/Postfix/u_e-postfix-postscreen_whitelist/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2504,7 +2521,7 @@
    - + diff --git a/en/manual-guides/Postfix/u_e-postfix-relayhost/index.html b/en/manual-guides/Postfix/u_e-postfix-relayhost/index.html index abe30716b..52802cc0e 100644 --- a/en/manual-guides/Postfix/u_e-postfix-relayhost/index.html +++ b/en/manual-guides/Postfix/u_e-postfix-relayhost/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2603,7 +2620,7 @@ Keep in mind the credentials will be stored in plain text.

    - + diff --git a/en/manual-guides/Postfix/u_e-postfix-trust_networks/index.html b/en/manual-guides/Postfix/u_e-postfix-trust_networks/index.html index c2d862f5b..ab896320c 100644 --- a/en/manual-guides/Postfix/u_e-postfix-trust_networks/index.html +++ b/en/manual-guides/Postfix/u_e-postfix-trust_networks/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2472,14 +2489,14 @@

    Edit data/conf/postfix/extra.cf:

    mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 [fe80::]/10 172.22.1.0/24 [fd4d:6169:6c63:6f77::]/64 192.168.2.0/24
     
    -

    Run docker-compose restart postfix-mailcow to apply your new settings.

    +

    Run docker compose restart postfix-mailcow to apply your new settings.

    IPv6 hosts/subnets

    Adding IPv6 hosts is done the same as IPv4, however the subnet needs to be placed in brackets [] with the netmask appended.

    To add the subnet 2001:db8::/32 to the trusted networks you may use the following configuration, depending on your IPV4_NETWORK and IPV6_NETWORK scopes:

    Edit data/conf/postfix/extra.cf:

    mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 [fe80::]/10 172.22.1.0/24 [fd4d:6169:6c63:6f77::]/64 [2001:db8::]/32
     
    -

    Run docker-compose restart postfix-mailcow to apply your new settings.

    +

    Run docker compose restart postfix-mailcow to apply your new settings.

    Info

    More information about mynetworks can be found in the Postfix documentation.

    @@ -2490,7 +2507,7 @@ Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2606,7 +2623,7 @@
    - + diff --git a/en/manual-guides/Redis/u_e-redis/index.html b/en/manual-guides/Redis/u_e-redis/index.html index 6ee0b8fdb..b1dc8db13 100644 --- a/en/manual-guides/Redis/u_e-redis/index.html +++ b/en/manual-guides/Redis/u_e-redis/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2500,13 +2517,13 @@

    Redis is used as a key-value store for rspamd's and (some of) mailcow's settings and data. If you are unfamiliar with redis please read the introduction to redis and maybe visit this wonderful guide on how to use it.

    Client

    To connect to the redis cli execute:

    -
    docker-compose exec redis-mailcow redis-cli
    +
    docker compose exec redis-mailcow redis-cli
     

    Debugging

    Here are some useful commands for the redis-cli for debugging:

    MONITOR

    Listens for all requests received by the server in real time:

    -
    # docker-compose exec redis-mailcow redis-cli
    +
    # docker compose exec redis-mailcow redis-cli
     127.0.0.1:6379> monitor
     OK
     1494077286.401963 [0 172.22.1.253:41228] "SMEMBERS" "BAYES_SPAM_keys"
    @@ -2529,7 +2546,7 @@ PONG
       
         
           Last update:
    -      2022-06-23 15:17:00
    +      2022-08-31 14:45:46
           
         
       
    @@ -2645,7 +2662,7 @@ PONG
           
    - + diff --git a/en/manual-guides/Rspamd/u_e-rspamd/index.html b/en/manual-guides/Rspamd/u_e-rspamd/index.html index 2b220e386..649b937f2 100644 --- a/en/manual-guides/Rspamd/u_e-rspamd/index.html +++ b/en/manual-guides/Rspamd/u_e-rspamd/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2580,11 +2597,11 @@ This is achieved by using the Sieve plugin "sieve_imapsieve" and parser scripts.

    Learn Spam or Ham from existing directory

    You can use a one-liner to learn mail in plain-text (uncompressed) format:

    # Ham
    -for file in /my/folder/cur/*; do docker exec -i $(docker-compose ps -q rspamd-mailcow) rspamc learn_ham < $file; done
    +for file in /my/folder/cur/*; do docker exec -i $(docker compose ps -q rspamd-mailcow) rspamc learn_ham < $file; done
     # Spam
    -for file in /my/folder/.Junk/cur/*; do docker exec -i $(docker-compose ps -q rspamd-mailcow) rspamc learn_spam < $file; done
    +for file in /my/folder/.Junk/cur/*; do docker exec -i $(docker compose ps -q rspamd-mailcow) rspamc learn_spam < $file; done
     
    -

    Consider attaching a local folder as new volume to rspamd-mailcow in docker-compose.yml and learn given files inside the container. This can be used as workaround to parse compressed data with zcat. Example:

    +

    Consider attaching a local folder as new volume to rspamd-mailcow in docker compose.yml and learn given files inside the container. This can be used as workaround to parse compressed data with zcat. Example:

    for file in /data/old_mail/.Junk/cur/*; do rspamc learn_spam < zcat $file; done
     

    Reset learned data (Bayes, Neural)

    @@ -2594,15 +2611,15 @@ This is achieved by using the Sieve plugin "sieve_imapsieve" and parser scripts. cp /var/lib/docker/volumes/mailcowdockerized_redis-vol-1/_data/dump.rdb /root/

    Reset Bayes data

    -
    docker-compose exec redis-mailcow sh -c 'redis-cli --scan --pattern BAYES_* | xargs redis-cli del'
    -docker-compose exec redis-mailcow sh -c 'redis-cli --scan --pattern RS* | xargs redis-cli del'
    +
    docker compose exec redis-mailcow sh -c 'redis-cli --scan --pattern BAYES_* | xargs redis-cli del'
    +docker compose exec redis-mailcow sh -c 'redis-cli --scan --pattern RS* | xargs redis-cli del'
     

    Reset Neural data

    -
    docker-compose exec redis-mailcow sh -c 'redis-cli --scan --pattern rn_* | xargs redis-cli del'
    +
    docker compose exec redis-mailcow sh -c 'redis-cli --scan --pattern rn_* | xargs redis-cli del'
     

    Reset Fuzzy data

    # We need to enter the redis-cli first:
    -docker-compose exec redis-mailcow redis-cli
    +docker compose exec redis-mailcow redis-cli
     # In redis-cli:
     127.0.0.1:6379> EVAL "for i, name in ipairs(redis.call('KEYS', ARGV[1])) do redis.call('DEL', name); end" 0 fuzzy*
     
    @@ -2612,8 +2629,8 @@ docker-compose exec redis-mailcow redis-cli

    ...the key pattern was not found and thus no data is available to delete - it is fine.

    CLI tools

    -
    docker-compose exec rspamd-mailcow rspamc --help
    -docker-compose exec rspamd-mailcow rspamadm --help
    +
    docker compose exec rspamd-mailcow rspamc --help
    +docker compose exec rspamd-mailcow rspamadm --help
     

    Disable Greylisting

    Only messages with a higher score will be considered to be greylisted (soft rejected). It is bad practice to disable greylisting.

    @@ -2622,26 +2639,26 @@ docker-compose exec rspamd-mailcow rspamadm --help

    Add the line:

    enabled = false;
     
    -

    Save the file and restart "rspamd-mailcow": docker-compose restart rspamd-mailcow

    +

    Save the file and restart "rspamd-mailcow": docker compose restart rspamd-mailcow

    Spam filter thresholds (global)

    Each user is able to change their spam rating individually. To define a new server-wide limit, edit data/conf/rspamd/local.d/actions.conf:

    reject = 15;
     add_header = 8;
     greylist = 7;
     
    -

    Save the file and restart "rspamd-mailcow": docker-compose restart rspamd-mailcow

    +

    Save the file and restart "rspamd-mailcow": docker compose restart rspamd-mailcow

    Existing settings of users will not be overwritten!

    To reset custom defined thresholds, run:

    source mailcow.conf
    -docker-compose exec mysql-mailcow mysql -umailcow -p$DBPASS mailcow -e "delete from filterconf where option = 'highspamlevel' or option = 'lowspamlevel';"
    +docker compose exec mysql-mailcow mysql -umailcow -p$DBPASS mailcow -e "delete from filterconf where option = 'highspamlevel' or option = 'lowspamlevel';"
     # or:
    -# docker-compose exec mysql-mailcow mysql -umailcow -p$DBPASS mailcow -e "delete from filterconf where option = 'highspamlevel' or option = 'lowspamlevel' and object = 'only-this-mailbox@example.org';"
    +# docker compose exec mysql-mailcow mysql -umailcow -p$DBPASS mailcow -e "delete from filterconf where option = 'highspamlevel' or option = 'lowspamlevel' and object = 'only-this-mailbox@example.org';"
     

    Custom reject messages

    The default spam reject message can be changed by adding a new file data/conf/rspamd/override.d/worker-proxy.custom.inc with the following content:

    reject_message = "My custom reject message";
     
    -

    Save the file and restart Rspamd: docker-compose restart rspamd-mailcow.

    +

    Save the file and restart Rspamd: docker compose restart rspamd-mailcow.

    While the above works for rejected mails with a high spam score, prefilter reject actions will ignore this setting. For these maps, the multimap module in Rspamd needs to be adjusted:

    1. @@ -2661,27 +2678,27 @@ docker-compose exec mysql-mailcow mysql -umailcow -p$DBPASS mailcow -e "del }
      -
    1. Save the file and restart Rspamd: docker-compose restart rspamd-mailcow.
    2. +
    3. Save the file and restart Rspamd: docker compose restart rspamd-mailcow.

    Discard instead of reject

    If you want to silently drop a message, create or edit the file data/conf/rspamd/override.d/worker-proxy.custom.inc and add the following content:

    discard_on_reject = true;
     

    Restart Rspamd:

    -
    docker-compose restart rspamd-mailcow
    +
    docker compose restart rspamd-mailcow
     

    Wipe all ratelimit keys

    If you don't want to use the UI and instead wipe all keys in the Redis database, you can use redis-cli for that task:

    -
    docker-compose exec redis-mailcow sh
    +
    docker compose exec redis-mailcow sh
     # Unlink (available in Redis >=4.) will delete in the backgronud
     redis-cli --scan --pattern RL* | xargs redis-cli unlink
     

    Restart Rspamd:

    -
    docker-compose restart rspamd-mailcow
    +
    docker compose restart rspamd-mailcow
     

    Trigger a resend of quarantine notifications

    Should be used for debugging only!

    -
    docker-compose exec dovecot-mailcow bash
    +
    docker compose exec dovecot-mailcow bash
     mysql -umailcow -p$DBPASS mailcow -e "update quarantine set notified = 0;"
     redis-cli -h redis DEL Q_LAST_NOTIFIED
     quarantine_notify.py
    @@ -2693,14 +2710,14 @@ quarantine_notify.py
     

    Edit data/conf/rspamd/local.d/history_redis.conf:

    nrows = 1000; # change this value
     
    -

    Restart Rspamd afterwards: docker-compose restart rspamd-mailcow

    +

    Restart Rspamd afterwards: docker compose restart rspamd-mailcow


    Last update: - 2022-08-06 22:09:53 + 2022-08-31 14:45:46 @@ -2816,7 +2833,7 @@ quarantine_notify.py
    - + diff --git a/en/manual-guides/SOGo/u_e-sogo/index.html b/en/manual-guides/SOGo/u_e-sogo/index.html index 1373725ed..b6f94ed35 100644 --- a/en/manual-guides/SOGo/u_e-sogo/index.html +++ b/en/manual-guides/SOGo/u_e-sogo/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2509,7 +2526,7 @@ Please check the AngularJS Material
    version: '2.1'
     
     services:
    @@ -2532,8 +2549,8 @@ services:
         volumes:
           - ./data/conf/sogo/custom-theme.css:/usr/lib/GNUstep/SOGo/WebServerResources/css/theme-default.css:z
     
    -
  • run docker-compose up -d
  • -
  • run docker-compose restart memcached-mailcow
  • +
  • run docker compose up -d
  • +
  • run docker compose restart memcached-mailcow
  • Reset to SOGo default theme

      @@ -2558,20 +2575,20 @@ services: and replace it with:
          $mdThemingProvider.theme('default');
       
      -
    1. remove from docker-compose.override.yml volume mount in sogo-mailcow: +
    2. remove from docker compose.override.yml volume mount in sogo-mailcow:
      - ./data/conf/sogo/custom-theme.css:/usr/lib/GNUstep/SOGo/WebServerResources/css/theme-default.css:z
       
    3. -
    4. run docker-compose up -d
    5. -
    6. run docker-compose restart memcached-mailcow
    7. +
    8. run docker compose up -d
    9. +
    10. run docker compose restart memcached-mailcow

    Change favicon

    mailcow builds after 31 January 2021 can change SOGo's favicon by replacing data/conf/sogo/custom-favicon.ico for SOGo and data/web/favicon.png for mailcow UI. Note: You can use .png favicons for SOGo by renaming them to custom-favicon.ico. For both SOGo and mailcow UI favicons you need use one of the standard dimensions: 16x16, 32x32, 64x64, 128x128 and 256x256. -After you replaced said file you need to restart SOGo and Memcached containers by executing docker-compose restart memcached-mailcow sogo-mailcow.

    +After you replaced said file you need to restart SOGo and Memcached containers by executing docker compose restart memcached-mailcow sogo-mailcow.

    mailcow builds after 21 December 2018 can change SOGo's logo by replacing or creating (if missing) data/conf/sogo/sogo-full.svg. -After you replaced said file you need to restart SOGo and Memcached containers by executing docker-compose restart memcached-mailcow sogo-mailcow.

    +After you replaced said file you need to restart SOGo and Memcached containers by executing docker compose restart memcached-mailcow sogo-mailcow.

    Connect domains

    Domains are usually isolated from eachother.

    You can change that by modifying data/conf/sogo/sogo.conf:

    @@ -2586,19 +2603,19 @@ After you replaced said file you need to restart SOGo and Memcached containers b (example.org, example.com, example.net) );
    -

    Restart SOGo: docker-compose restart sogo-mailcow

    +

    Restart SOGo: docker compose restart sogo-mailcow

    Disable password changing

    Edit data/conf/sogo/sogo.conf and change SOGoPasswordChangeEnabled to NO. Please do not add a new parameter.

    -

    Run docker-compose restart memcached-mailcow sogo-mailcow to activate the changes.

    +

    Run docker compose restart memcached-mailcow sogo-mailcow to activate the changes.

    Reset TOTP / Disable TOTP

    -

    Run docker-compose exec -u sogo sogo-mailcow sogo-tool user-preferences set defaults user@example.com SOGoTOTPEnabled '{"SOGoTOTPEnabled":0}' from within the mailcow directory.

    +

    Run docker compose exec -u sogo sogo-mailcow sogo-tool user-preferences set defaults user@example.com SOGoTOTPEnabled '{"SOGoTOTPEnabled":0}' from within the mailcow directory.


    Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2714,7 +2731,7 @@ After you replaced said file you need to restart SOGo and Memcached containers b
    - + diff --git a/en/manual-guides/Unbound/u_e-unbound-fwd/index.html b/en/manual-guides/Unbound/u_e-unbound-fwd/index.html index daf74d3b9..cec6ee531 100644 --- a/en/manual-guides/Unbound/u_e-unbound-fwd/index.html +++ b/en/manual-guides/Unbound/u_e-unbound-fwd/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2447,21 +2464,21 @@ forward-addr: 8.8.4.4 # DO NOT USE PUBLIC DNS SERVERS - JUST AN EXAMPLE

    Restart Unbound:

    -
    docker-compose restart unbound-mailcow
    +
    docker compose restart unbound-mailcow
     

    Method B, Override file

    cd /opt/mailcow-dockerized
    -cp helper-scripts/docker-compose.override.yml.d/EXTERNAL_DNS/docker-compose.override.yml .
    +cp helper-scripts/docker compose.override.yml.d/EXTERNAL_DNS/docker compose.override.yml .
     
    -

    Edit docker-compose.override.yml and adjust the IP.

    -

    Run docker-compose down ; docker-compose up -d.

    +

    Edit docker compose.override.yml and adjust the IP.

    +

    Run docker compose down ; docker compose up -d.


    Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2577,7 +2594,7 @@ cp helper-scripts/docker-compose.override.yml.d/EXTERNAL_DNS/docker-compose.over
    - + diff --git a/en/manual-guides/Watchdog/u_e-watchdog-thresholds/index.html b/en/manual-guides/Watchdog/u_e-watchdog-thresholds/index.html index 40048efd1..1e8c3977a 100644 --- a/en/manual-guides/Watchdog/u_e-watchdog-thresholds/index.html +++ b/en/manual-guides/Watchdog/u_e-watchdog-thresholds/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2669,7 +2686,7 @@

    Thresholds

    -

    Watchdog uses default values for all thresholds defined in docker-compose.yml.

    +

    Watchdog uses default values for all thresholds defined in docker compose.yml.

    The default values will work for most setups. Example:

    - NGINX_THRESHOLD=${NGINX_THRESHOLD:-5}
    @@ -2691,7 +2708,7 @@ Example:
     - MAILQ_THRESHOLD=${MAILQ_THRESHOLD:-20}
     - MAILQ_CRIT=${MAILQ_CRIT:-30}
     

    -

    To adjust them just add necessary threshold variables (e.g. MAILQ_THRESHOLD=10) to mailcow.conf and run docker-compose up -d.

    +

    To adjust them just add necessary threshold variables (e.g. MAILQ_THRESHOLD=10) to mailcow.conf and run docker compose up -d.

    Thresholds descriptions

    NGINX_THRESHOLD

    Notifies administrators if watchdog can not establish a connection to Nginx on port 8081 and it will restart the container automatically when issues were found and the threshold has been reached.

    @@ -2733,7 +2750,7 @@ Example: Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2849,7 +2866,7 @@ Example:
    - + diff --git a/en/manual-guides/mailcow-UI/u_e-mailcow_ui-bl_wl/index.html b/en/manual-guides/mailcow-UI/u_e-mailcow_ui-bl_wl/index.html index 6d80f7187..e587ad742 100644 --- a/en/manual-guides/mailcow-UI/u_e-mailcow_ui-bl_wl/index.html +++ b/en/manual-guides/mailcow-UI/u_e-mailcow_ui-bl_wl/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2500,7 +2517,7 @@
    - + diff --git a/en/manual-guides/mailcow-UI/u_e-mailcow_ui-config/index.html b/en/manual-guides/mailcow-UI/u_e-mailcow_ui-config/index.html index aaab32108..458e03244 100644 --- a/en/manual-guides/mailcow-UI/u_e-mailcow_ui-config/index.html +++ b/en/manual-guides/mailcow-UI/u_e-mailcow_ui-config/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2516,7 +2533,7 @@
    - + diff --git a/en/manual-guides/mailcow-UI/u_e-mailcow_ui-css/index.html b/en/manual-guides/mailcow-UI/u_e-mailcow_ui-css/index.html index 06a2673b0..881eefba2 100644 --- a/en/manual-guides/mailcow-UI/u_e-mailcow_ui-css/index.html +++ b/en/manual-guides/mailcow-UI/u_e-mailcow_ui-css/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2494,7 +2511,7 @@
    - + diff --git a/en/manual-guides/mailcow-UI/u_e-mailcow_ui-fido/index.html b/en/manual-guides/mailcow-UI/u_e-mailcow_ui-fido/index.html index 267a40b87..37495773c 100644 --- a/en/manual-guides/mailcow-UI/u_e-mailcow_ui-fido/index.html +++ b/en/manual-guides/mailcow-UI/u_e-mailcow_ui-fido/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2579,7 +2596,7 @@
    - + diff --git a/en/manual-guides/mailcow-UI/u_e-mailcow_ui-netfilter/index.html b/en/manual-guides/mailcow-UI/u_e-mailcow_ui-netfilter/index.html index 6666c01bc..089df1672 100644 --- a/en/manual-guides/mailcow-UI/u_e-mailcow_ui-netfilter/index.html +++ b/en/manual-guides/mailcow-UI/u_e-mailcow_ui-netfilter/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2576,7 +2593,7 @@ If this is the case, it is recommended to reset the Netfilter regex rules by cli
    - + diff --git a/en/manual-guides/mailcow-UI/u_e-mailcow_ui-pushover/index.html b/en/manual-guides/mailcow-UI/u_e-mailcow_ui-pushover/index.html index 608636276..141a3c8ba 100644 --- a/en/manual-guides/mailcow-UI/u_e-mailcow_ui-pushover/index.html +++ b/en/manual-guides/mailcow-UI/u_e-mailcow_ui-pushover/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2504,7 +2521,7 @@
    - + diff --git a/en/manual-guides/mailcow-UI/u_e-mailcow_ui-spamalias/index.html b/en/manual-guides/mailcow-UI/u_e-mailcow_ui-spamalias/index.html index fc8ce3527..686a3c205 100644 --- a/en/manual-guides/mailcow-UI/u_e-mailcow_ui-spamalias/index.html +++ b/en/manual-guides/mailcow-UI/u_e-mailcow_ui-spamalias/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2495,7 +2512,7 @@
    - + diff --git a/en/manual-guides/mailcow-UI/u_e-mailcow_ui-spamfilter/index.html b/en/manual-guides/mailcow-UI/u_e-mailcow_ui-spamfilter/index.html index 342ace60d..bd38a501d 100644 --- a/en/manual-guides/mailcow-UI/u_e-mailcow_ui-spamfilter/index.html +++ b/en/manual-guides/mailcow-UI/u_e-mailcow_ui-spamfilter/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2499,7 +2516,7 @@ For a domain wide black- and whitelist please check our guide on - + diff --git a/en/manual-guides/mailcow-UI/u_e-mailcow_ui-sub_addressing/index.html b/en/manual-guides/mailcow-UI/u_e-mailcow_ui-sub_addressing/index.html index 9efa3bb88..ec387e95c 100644 --- a/en/manual-guides/mailcow-UI/u_e-mailcow_ui-sub_addressing/index.html +++ b/en/manual-guides/mailcow-UI/u_e-mailcow_ui-sub_addressing/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2562,7 +2579,7 @@ index e047136e..933c4137 100644
    - + diff --git a/en/manual-guides/mailcow-UI/u_e-mailcow_ui-tags/index.html b/en/manual-guides/mailcow-UI/u_e-mailcow_ui-tags/index.html index 2d60a24cf..e329afac1 100644 --- a/en/manual-guides/mailcow-UI/u_e-mailcow_ui-tags/index.html +++ b/en/manual-guides/mailcow-UI/u_e-mailcow_ui-tags/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2602,7 +2619,7 @@ To view them simply click on the small plus symbol on the left of your Domain/Ma
    - + diff --git a/en/manual-guides/mailcow-UI/u_e-mailcow_ui-tfa/index.html b/en/manual-guides/mailcow-UI/u_e-mailcow_ui-tfa/index.html index 335144f19..32a403764 100644 --- a/en/manual-guides/mailcow-UI/u_e-mailcow_ui-tfa/index.html +++ b/en/manual-guides/mailcow-UI/u_e-mailcow_ui-tfa/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2628,7 +2645,7 @@ Finally, enter your current account password and, after selecting the Touc

    Disable unofficial supported Fido Security Keys

    With WebAuthn there is the possibility to use only official Fido Security Keys (from the big brands like: Yubico, Apple, Nitro, Google, Huawei, Microsoft, etc.).

    This is primarily for security purposes, as it allows administrators to ensure that only official hardware can be used in their environment.

    -

    To enable this feature, change the value WEBAUTHN_ONLY_TRUSTED_VENDORS in mailcow.conf from n to y and restart the affected containers with docker-compose up -d.

    +

    To enable this feature, change the value WEBAUTHN_ONLY_TRUSTED_VENDORS in mailcow.conf from n to y and restart the affected containers with docker compose up -d.

    The mailcow will now use the Vendor Certificates located in your mailcow directory under data/web/inc/lib/WebAuthn/rootCertificates.

    Example:

    If you want to limit the official Vendor devices to Apple only you only need the Apple Vendor Certificate inside the data/web/inc/lib/WebAuthn/rootCertificates. @@ -2661,7 +2678,7 @@ These vendor certificates are only used to verify original hardware, not to secu Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2777,7 +2794,7 @@ These vendor certificates are only used to verify original hardware, not to secu

    - + diff --git a/en/manual-guides/u_e-80_to_443/index.html b/en/manual-guides/u_e-80_to_443/index.html index 88f6bede4..6da204411 100644 --- a/en/manual-guides/u_e-80_to_443/index.html +++ b/en/manual-guides/u_e-80_to_443/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2388,10 +2405,10 @@ }

    In case you changed the HTTP_BIND parameter, recreate the container:

    -
    docker-compose up -d
    +
    docker compose up -d
     

    Otherwise restart Nginx:

    -
    docker-compose restart nginx-mailcow
    +
    docker compose restart nginx-mailcow
     

    @@ -2399,7 +2416,7 @@ Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2515,7 +2532,7 @@
    - + diff --git a/en/manual-guides/u_e-autodiscover_config/index.html b/en/manual-guides/u_e-autodiscover_config/index.html index 45274c010..4a1bcee43 100644 --- a/en/manual-guides/u_e-autodiscover_config/index.html +++ b/en/manual-guides/u_e-autodiscover_config/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2536,7 +2553,7 @@ $autodiscover_config = array(
    - + diff --git a/en/manual-guides/u_e-reeanble-weak-protocols/index.html b/en/manual-guides/u_e-reeanble-weak-protocols/index.html index a677fc18b..492dcc822 100644 --- a/en/manual-guides/u_e-reeanble-weak-protocols/index.html +++ b/en/manual-guides/u_e-reeanble-weak-protocols/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2379,7 +2396,7 @@ smtps_smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
    ssl_min_protocol = TLSv1
     

    Restart the affected services:

    -
    docker-compose restart postfix-mailcow dovecot-mailcow
    +
    docker compose restart postfix-mailcow dovecot-mailcow
     

    Hint: You can enable TLS 1.2 in Windows 7.

    @@ -2388,7 +2405,7 @@ smtps_smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3 Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2504,7 +2521,7 @@ smtps_smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
    - + diff --git a/en/manual-guides/u_e-update-hooks/index.html b/en/manual-guides/u_e-update-hooks/index.html index 2c7ef2331..c6a7f2ad9 100644 --- a/en/manual-guides/u_e-update-hooks/index.html +++ b/en/manual-guides/u_e-update-hooks/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2498,7 +2515,7 @@
    - + diff --git a/en/manual-guides/u_e-why_unbound/index.html b/en/manual-guides/u_e-why_unbound/index.html index 72389daee..cd5d7799a 100644 --- a/en/manual-guides/u_e-why_unbound/index.html +++ b/en/manual-guides/u_e-why_unbound/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2495,7 +2512,7 @@ Using a public resolver like Googles 4x8, OpenDNS or any other shared DNS resolv
    - + diff --git a/en/models/model-acl/index.html b/en/models/model-acl/index.html index 760ebd548..2aea1f346 100644 --- a/en/models/model-acl/index.html +++ b/en/models/model-acl/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2509,7 +2526,7 @@
    - + diff --git a/en/models/model-passwd/index.html b/en/models/model-passwd/index.html index 89d5345df..15bbad01b 100644 --- a/en/models/model-passwd/index.html +++ b/en/models/model-passwd/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2474,14 +2491,14 @@ With SOGo disabled, all hashing methods below will be able to be read by mailcow

    I changed the password hashes in the "mailbox" SQL table and cannot login.

    -

    A "view" needs to be updated. You can trigger this by restarting sogo-mailcow: docker-compose restart sogo-mailcow

    +

    A "view" needs to be updated. You can trigger this by restarting sogo-mailcow: docker compose restart sogo-mailcow


    Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2597,7 +2614,7 @@ With SOGo disabled, all hashing methods below will be able to be read by mailcow
    - + diff --git a/en/models/model-sender_rcv/index.html b/en/models/model-sender_rcv/index.html index 5ce54b22d..845740a58 100644 --- a/en/models/model-sender_rcv/index.html +++ b/en/models/model-sender_rcv/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2571,7 +2588,7 @@ needs to grant you access as described above.

    - + diff --git a/en/post_installation/firststeps-disable_ipv6/index.html b/en/post_installation/firststeps-disable_ipv6/index.html index 9802d5466..a659af728 100644 --- a/en/post_installation/firststeps-disable_ipv6/index.html +++ b/en/post_installation/firststeps-disable_ipv6/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2371,10 +2388,10 @@

    This is ONLY recommended if you do not have an IPv6 enabled network on your host!

    If you really need to, you can disable the usage of IPv6 in the compose file. Additionally, you can also disable the startup of container "ipv6nat-mailcow", as it's not needed if you won't use IPv6.

    -

    Instead of editing docker-compose.yml directly, it is preferable to create an override file for it +

    Instead of editing docker compose.yml directly, it is preferable to create an override file for it and implement your changes to the service there. Unfortunately, this right now only seems to work for services, not for network settings.

    -

    To disable IPv6 on the mailcow network, open docker-compose.yml with your favourite text editor and search for the network section (it's near the bottom of the file).

    -

    1. Modify docker-compose.yml

    +

    To disable IPv6 on the mailcow network, open docker compose.yml with your favourite text editor and search for the network section (it's near the bottom of the file).

    +

    1. Modify docker compose.yml

    Change enable_ipv6: true to enable_ipv6: false:

    networks:
       mailcow-network:
    @@ -2383,10 +2400,10 @@ and implement your changes to the service there. Unfortunately, this right now o
         [...]
     

    2. Disable ipv6nat-mailcow

    -

    To disable the ipv6nat-mailcow container as well, go to your mailcow directory and create a new file called "docker-compose.override.yml":

    +

    To disable the ipv6nat-mailcow container as well, go to your mailcow directory and create a new file called "docker compose.override.yml":

    NOTE: If you already have an override file, of course don't recreate it, but merge the lines below into your existing one accordingly!

    # cd /opt/mailcow-dockerized
    -# touch docker-compose.override.yml
    +# touch docker compose.override.yml
     

    Open the file in your favourite text editor and fill in the following:

    version: '2.1'
    @@ -2398,8 +2415,8 @@ services:
           entrypoint: ["echo", "ipv6nat disabled in compose.override.yml"]
     

    For these changes to be effective, you need to fully stop and then restart the stack, so containers and networks are recreated:

    -
    docker-compose down
    -docker-compose up -d
    +
    docker compose down
    +docker compose up -d
     

    3. Disable IPv6 in unbound-mailcow

    Edit data/conf/unbound/unbound.conf and set do-ip6 to "no":

    @@ -2409,7 +2426,7 @@ docker-compose up -d [...]

    Restart Unbound:

    -
    docker-compose restart unbound-mailcow
    +
    docker compose restart unbound-mailcow
     

    4. Disable IPv6 in postfix-mailcow

    Create data/conf/postfix/extra.cf and set smtp_address_preference to ipv4:

    @@ -2417,7 +2434,7 @@ docker-compose up -d inet_protocols = ipv4

    Restart Postfix:

    -
    docker-compose restart postfix-mailcow
    +
    docker compose restart postfix-mailcow
     

    5. If your docker daemon completly disabled IPv6:

    Fix the following NGINX, Dovecot and php-fpm config files

    @@ -2433,7 +2450,7 @@ sed -i 's/\[::\]://g' data/conf/phpfpm/php-fpm.d/pools.conf Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2549,7 +2566,7 @@ sed -i 's/\[::\]://g' data/conf/phpfpm/php-fpm.d/pools.conf
    - + diff --git a/en/post_installation/firststeps-dmarc_reporting/index.html b/en/post_installation/firststeps-dmarc_reporting/index.html index 1505911d2..445308933 100644 --- a/en/post_installation/firststeps-dmarc_reporting/index.html +++ b/en/post_installation/firststeps-dmarc_reporting/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2510,7 +2527,7 @@ keys_expire = 2d; }
    -

    Create or modify docker-compose.override.yml in the mailcow-dockerized base directory:

    +

    Create or modify docker compose.override.yml in the mailcow-dockerized base directory:

    version: '2.1'
     
     services:
    @@ -2525,7 +2542,7 @@ services:
         depends_on:
           - rspamd-mailcow
     
    -

    Run docker-compose up -d

    +

    Run docker compose up -d

    Send a copy reports to yourself

    To receive a hidden copy of reports generated by Rspamd you can set a bcc_addrs list in the reporting config section of data/conf/rspamd/local.d/dmarc.conf:

    reporting {
    @@ -2542,20 +2559,20 @@ services:
     
     

    Troubleshooting

    Check when the report schedule last ran:

    -
    docker-compose exec rspamd-mailcow date -r /var/lib/rspamd/dmarc_reports_last_log
    +
    docker compose exec rspamd-mailcow date -r /var/lib/rspamd/dmarc_reports_last_log
     

    See the latest report output:

    -
    docker-compose exec rspamd-mailcow cat /var/lib/rspamd/dmarc_reports_last_log
    +
    docker compose exec rspamd-mailcow cat /var/lib/rspamd/dmarc_reports_last_log
     

    Manually trigger a DMARC report:

    -
    docker-compose exec rspamd-mailcow rspamadm dmarc_report
    +
    docker compose exec rspamd-mailcow rspamadm dmarc_report
     

    Validate that Rspamd has recorded data in Redis: Change 20220428 to date which you interested in.

    -

    docker-compose exec redis-mailcow redis-cli SMEMBERS "dmarc_idx;20220428"
    +

    docker compose exec redis-mailcow redis-cli SMEMBERS "dmarc_idx;20220428"
     
    Take one of the lines from output you interested in and request it, f.e.: -
    docker-compose exec redis-mailcow redis-cli ZRANGE "dmarc_rpt;microsoft.com;mailto:d@rua.agari.com;20220428" 0 49
    +
    docker compose exec redis-mailcow redis-cli ZRANGE "dmarc_rpt;microsoft.com;mailto:d@rua.agari.com;20220428" 0 49
     

    Change DMARC reporting frequency

    In the example above reports are sent once every 24 hours.

    @@ -2563,13 +2580,13 @@ Take one of the lines from output you interested in and request it, f.e.:

    To change schedule:

    1. -

      Edit docker-compose.override.yml and a djust ofelia.job-exec.rspamd_dmarc_reporting.schedule: "@every 24h" to a desired value, for example to "@midnight"

      +

      Edit docker compose.override.yml and a djust ofelia.job-exec.rspamd_dmarc_reporting.schedule: "@every 24h" to a desired value, for example to "@midnight"

    2. -

      Run docker-compose up -d

      +

      Run docker compose up -d

    3. -

      Run docker-compose restart ofelia-mailcow

      +

      Run docker compose restart ofelia-mailcow

    Disable DMARC Reporting

    @@ -2579,10 +2596,10 @@ Take one of the lines from output you interested in and request it, f.e.:

    Set enabled to false in data/conf/rspamd/local.d/dmarc.conf

  • -

    Revert changes done in docker-compose.override.yml to rspamd-mailcow and ofelia-mailcow

    +

    Revert changes done in docker compose.override.yml to rspamd-mailcow and ofelia-mailcow

  • -

    Run docker-compose up -d

    +

    Run docker compose up -d

  • @@ -2591,7 +2608,7 @@ Take one of the lines from output you interested in and request it, f.e.: Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2707,7 +2724,7 @@ Take one of the lines from output you interested in and request it, f.e.:
    - + diff --git a/en/post_installation/firststeps-ip_bindings/index.html b/en/post_installation/firststeps-ip_bindings/index.html index 98aab3c8d..834a22426 100644 --- a/en/post_installation/firststeps-ip_bindings/index.html +++ b/en/post_installation/firststeps-ip_bindings/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2463,11 +2480,11 @@ DOVEADM_PORT=127.0.0.1:19991 SQL_PORT=127.0.0.1:13306 SOLR_PORT=127.0.0.1:18983
    -

    To apply your changes, run docker-compose down followed by docker-compose up -d.

    +

    To apply your changes, run docker compose down followed by docker compose up -d.

    IPv6 binding

    Changing IPv6 bindings is different from IPv4. Again, this has a technical background.

    -

    A docker-compose.override.yml file will be used instead of editing the docker-compose.yml file directly. This is to maintain updatability, as the docker-compose.yml file gets updated regularly and your changes will most likely be overwritten.

    -

    Edit to create a file docker-compose.override.yml with the following content. Its content will be merged with the productive docker-compose.yml file.

    +

    A docker compose.override.yml file will be used instead of editing the docker compose.yml file directly. This is to maintain updatability, as the docker compose.yml file gets updated regularly and your changes will most likely be overwritten.

    +

    Edit to create a file docker compose.override.yml with the following content. Its content will be merged with the productive docker compose.yml file.

    An example IPv6 2001:db8:dead:beef::123 is given. The first suffix :PORT1 defines the external port, while the second suffix :PORT2 routes to the corresponding port inside the container and must not be changed.

    version: '2.1'
     services:
    @@ -2491,14 +2508,14 @@ services:
             - '[2001:db8:dead:beef::123]:80:80'
             - '[2001:db8:dead:beef::123]:443:443'
     
    -

    To apply your changes, run docker-compose down followed by docker-compose up -d.

    +

    To apply your changes, run docker compose down followed by docker compose up -d.


    Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2614,7 +2631,7 @@ services:
    - + diff --git a/en/post_installation/firststeps-local_mta/index.html b/en/post_installation/firststeps-local_mta/index.html index 3b47576f0..3e132e307 100644 --- a/en/post_installation/firststeps-local_mta/index.html +++ b/en/post_installation/firststeps-local_mta/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2505,7 +2522,7 @@ Relaying over this interface is necessary (instead of - for example - relaying d
    - + diff --git a/en/post_installation/firststeps-logging/index.html b/en/post_installation/firststeps-logging/index.html index 5e2036f1f..ec3976aa0 100644 --- a/en/post_installation/firststeps-logging/index.html +++ b/en/post_installation/firststeps-logging/index.html @@ -69,6 +69,23 @@
    + +
    @@ -562,10 +579,10 @@
  • - Via docker-compose.override.yml + Via docker compose.override.yml -
  • @@ -2350,6 +2496,116 @@ + + + @@ -2368,31 +2624,54 @@

    Installation

    +

    Docker und Docker Compose Installation

    You need Docker (a version >= 20.10.2 is required) and Docker Compose (a version >= 2.0 is required).

    -

    1. Learn how to install Docker and Docker Compose.

    +

    Learn how to install Docker and Docker Compose.

    Quick installation for most operation systems:

    -
      -
    • -

      Docker +

      Docker

      curl -sSL https://get.docker.com/ | CHANNEL=stable sh
       # After the installation process is finished, you may need to enable the service and make sure it is started (e.g. CentOS 7)
       systemctl enable --now docker
      -

      -
    • -
    • -

      Docker-Compose

      -
    • -
    +
    +

    docker compose

    Danger

    -

    mailcow requires the latest version of docker-compose v2. It is highly recommended to use the commands below to install docker-compose. Package managers (e.g. apt, yum) likely won't give you the correct version. -Note: This command downloads docker-compose from the official Docker Github repository and is a safe method. The snippet will determine the latest supported version by mailcow. In almost all cases this is the latest version available (exceptions are broken releases or major changes not yet supported by mailcow).

    +

    mailcow requires the latest version of docker compose v2.
    +If Docker was installed using the script above, the Docker Compose plugin is already automatically installed in a version >=2.0.
    +Is your mailcow installation older or Docker was installed in a different way, the Compose plugin or the standalone version of Docker must be installed manually.

    -
    curl -L https://github.com/docker/compose/releases/download/v$(curl -Ls https://www.servercow.de/docker-compose/latest.php)/docker-compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker-compose
    -chmod +x /usr/local/bin/docker-compose
    +

    Installation via Paketmanager (plugin)

    +
    +

    Info

    +

    This approach with the package sources is only possible if the Docker repository has been included. This can happen either through the instructions above (see Docker) or through a manually integration.

    +
    +

    On Debian/Ubuntu systems: +

    apt update
    +apt install docker compose-plugin
    +

    +

    On Centos 7 systems: +

    yum update
    +yum install docker compose-plugin
    +

    +
    +

    Danger

    +

    The Docker Compose command syntax is docker compose for the plugin variant of Docker Compose!!!

    +
    +

    Installation via Script (standalone)

    +
    +

    Info

    +

    This installation is the old familiar way. It installs Docker Compose as a standalone program and does not rely on the Docker installation way.

    +
    +
    curl -L https://github.com/docker/compose/releases/download/v$(curl -Ls https://www.servercow.de/docker compose/latest.php)/docker compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker compose
    +chmod +x /usr/local/bin/docker compose
     
    +
    +

    Danger

    +

    The Docker Compose command syntax is docker compose for the standalone variant of Docker Compose!!!

    +

    Please use the latest Docker engine available and do not use the engine that ships with your distros repository.

    -

    1.1. On SELinux enabled systems, e.g. CentOS 7:

    +

    Check SELinux specifics

    +

    On SELinux enabled systems, e.g. CentOS 7:

    • Check if "container-selinux" package is present on your system:
    @@ -2412,7 +2691,8 @@ chmod +x /usr/local/bin/docker-compose

    Restart the docker daemon and verify SELinux is now enabled.

    This step is required to make sure mailcows volumes are properly labeled as declared in the compose file. If you are interested in how this works, you can check out the readme of https://github.com/containers/container-selinux which links to a lot of useful information on that topic.

    -

    2. Clone the master branch of the repository, make sure your umask equals 0022. Please clone the repository as root user and also control the stack as root. We will modify attributes - if necessary - while bootstrapping the containers automatically and make sure everything is secured. The update.sh script must therefore also be run as root. It might be necessary to change ownership and other attributes of files you will otherwise not have access to. We drop permissions for every exposed application and will not run an exposed service as root! Controlling the Docker daemon as non-root user does not give you additional security. The unprivileged user will spawn the containers as root likewise. The behaviour of the stack is identical.

    +

    Install mailcow

    +

    Clone the master branch of the repository, make sure your umask equals 0022. Please clone the repository as root user and also control the stack as root. We will modify attributes - if necessary - while bootstrapping the containers automatically and make sure everything is secured. The update.sh script must therefore also be run as root. It might be necessary to change ownership and other attributes of files you will otherwise not have access to. We drop permissions for every exposed application and will not run an exposed service as root! Controlling the Docker daemon as non-root user does not give you additional security. The unprivileged user will spawn the containers as root likewise. The behaviour of the stack is identical.

    $ su
     # umask
     0022 # <- Verify it is 0022
    @@ -2420,18 +2700,20 @@ If you are interested in how this works, you can check out the readme of 
    -

    3. Generate a configuration file. Use a FQDN (host.domain.tld) as hostname when asked. +

    Initialize mailcow

    +

    Generate a configuration file. Use a FQDN (host.domain.tld) as hostname when asked.

    ./generate_config.sh
     

    -

    4. Change configuration if you want or need to. +

    Change configuration if you want or need to.

    nano mailcow.conf
     
    If you plan to use a reverse proxy, you can, for example, bind HTTPS to 127.0.0.1 on port 8443 and HTTP to 127.0.0.1 on port 8080.

    You may need to stop an existing pre-installed MTA which blocks port 25/tcp. See this chapter to learn how to reconfigure Postfix to run besides mailcow after a successful installation.

    Some updates modify mailcow.conf and add new parameters. It is hard to keep track of them in the documentation. Please check their description and, if unsure, ask at the known channels for advise.

    -

    4.1. Users with a MTU not equal to 1500 (e.g. OpenStack):

    +

    Troubleshooting

    +

    Users with a MTU not equal to 1500 (e.g. OpenStack)

    Whenever you run into trouble and strange phenomena, please check your MTU.

    -

    Edit docker-compose.yml and change the network settings according to your MTU. +

    Edit docker compose.yml and change the network settings according to your MTU. Add the new driver_opts parameter like this:

    networks:
       mailcow-network:
    @@ -2440,12 +2722,13 @@ Add the new driver_opts parameter like this:
           com.docker.network.driver.mtu: 1450
         ...
     

    -

    4.2. Users without an IPv6 enabled network on their host system:

    -

    Enable IPv6. Finally.

    +

    Users without an IPv6 enabled network on their host system

    +

    Please don't turn off IPv6, even if you don't like it. IPv6 is the future and should not be ignored.

    If you do not have an IPv6 enabled network on your host and you don't care for a better internet (thehe), it is recommended to disable IPv6 for the mailcow network to prevent unforeseen issues.

    -

    5. Pull the images and run the compose file. The parameter -d will start mailcow: dockerized detached: -

    docker-compose pull
    -docker-compose up -d
    +

    Start mailcow

    +

    Pull the images and run the compose file. The parameter -d will start mailcow: dockerized detached: +

    docker compose pull
    +docker compose up -d
     

    Done!

    You can now access https://${MAILCOW_HOSTNAME} with the default credentials admin + password moohoo.

    @@ -2454,14 +2737,14 @@ docker-compose up -d

    If you are not using mailcow behind a reverse proxy, you should redirect all HTTP requests to HTTPS.

    The database will be initialized right after a connection to MySQL can be established.

    -

    Your data will persist in multiple Docker volumes, that are not deleted when you recreate or delete containers. Run docker volume ls to see a list of all volumes. You can safely run docker-compose down without removing persistent data.

    +

    Your data will persist in multiple Docker volumes, that are not deleted when you recreate or delete containers. Run docker volume ls to see a list of all volumes. You can safely run docker compose down without removing persistent data.


    Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2577,7 +2860,7 @@ docker-compose up -d
    - + diff --git a/i_u_m/i_u_m_migration/index.html b/i_u_m/i_u_m_migration/index.html index e9869fa9a..307ff867f 100644 --- a/i_u_m/i_u_m_migration/index.html +++ b/i_u_m/i_u_m_migration/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2377,7 +2394,7 @@

    Alternatively, you can use the ./helper-scripts/backup_and_restore.sh script to create a full backup on the source machine, then install mailcow on the target machine as usual, copy over your mailcow.conf and use the same script to restore your backup to the target machine.

    1. -Install Docker and docker-compose on your new server.

    +Install Docker and docker compose on your new server.

    Quick installation for most operation systems:

    • @@ -2388,9 +2405,9 @@ systemctl enable docker.service

    • -

      docker-compose -

      curl -L https://github.com/docker/compose/releases/download/v$(curl -Ls https://www.servercow.de/docker-compose/latest.php)/docker-compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker-compose
      -chmod +x /usr/local/bin/docker-compose
      +

      docker compose +

      curl -L https://github.com/docker/compose/releases/download/v$(curl -Ls https://www.servercow.de/docker compose/latest.php)/docker compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker compose
      +chmod +x /usr/local/bin/docker compose
       

    @@ -2405,7 +2422,7 @@ rsync -aHhP --numeric-ids --delete /var/lib/docker/volumes/ root@target-machine.

    4. Shut down mailcow and stop Docker on the source machine.

    cd /opt/mailcow-dockerized
    -docker-compose down
    +docker compose down
     systemctl stop docker.service
     

    5. Repeat step 3 with the same commands. This will be much quicker than the first time.

    @@ -2414,10 +2431,10 @@ systemctl stop docker.service

    7. Now pull the mailcow Docker images on the target machine.

    cd /opt/mailcow-dockerized
    -docker-compose pull
    +docker compose pull
     

    8. Start the whole mailcow stack and everything should be done! -

    docker-compose up -d
    +
    docker compose up -d
     

    9. Finally, change your DNS settings to point to the target server.

    @@ -2426,7 +2443,7 @@ docker-compose pull Last update: - 2022-06-24 11:27:36 + 2022-08-31 14:45:46 @@ -2542,7 +2559,7 @@ docker-compose pull
    - + diff --git a/i_u_m/i_u_m_update/index.html b/i_u_m/i_u_m_update/index.html index 86e9fb172..df218c673 100644 --- a/i_u_m/i_u_m_update/index.html +++ b/i_u_m/i_u_m_update/index.html @@ -69,6 +69,23 @@
    + +
    @@ -445,6 +462,47 @@ Update Cycle + + +
  • + + Update variants + + +
  • + +
  • + + NEW: Get Nightly Updates + + + +
  • @@ -2477,6 +2535,47 @@ Update Cycle + + +
  • + + Update variants + + +
  • + +
  • + + NEW: Get Nightly Updates + + + +
  • @@ -2520,8 +2619,12 @@ Some minor conflicts will be auto-corrected (in favour for the mailcow-dockerize # - Skip ICMP Check to public DNS resolvers (Use it only if you´ve blocked any ICMP Connections to your mailcow machine) ./update.sh --skip-ping-check -# - Skips the Docker-Compose update process, update is done by the user manually -./update.sh --no-update-compose +# - Switch your mailcow updates to the unstable (nightly) branch. +FOR TESTING PURPOSES ONLY!!!! NOT READY FOR PRODUCTION!!! +./update.sh --nightly + +# - Switch your mailcow updates to the stable (master) branch. Default unless you changed it with --nightly. +./update.sh --stable # - Force update (unattended, but unsupported, use at own risk) ./update.sh --force @@ -2545,11 +2648,11 @@ dacd4fb9b51e9e1c8a37d84485b92ffaf6c59353 Before update on 2020-08-07_13_31_31

    Can I roll back?

    Yes.

    See the topic above, instead of a diff, you run checkout:

    -
    docker-compose down
    +
    docker compose down
     # Replace commit ID 22cd00b5e28893ef9ddef3c2b5436453cc5223ab by your ID
     git checkout 22cd00b5e28893ef9ddef3c2b5436453cc5223ab
    -docker-compose pull
    -docker-compose up -d
    +docker compose pull
    +docker compose up -d
     

    Hooks

    You can hook into the update mechanism by adding scripts called pre_commit_hook.sh and post_commit_hook.sh to your mailcows root directory. See this for more details.

    @@ -2559,13 +2662,40 @@ docker-compose up -d
  • The releases are numbered like this: YYYY-MM (e.g. 2022-05)
  • Fixes for a main Update will be stated as "Revisions" like a,b,c (e.g. 2022-05a, 2022-05b etc.)
  • +

    Update variants

    +

    stable (stable updates): These updates are suitable for productive usage. They appear in a cycle of at least 1x per month.

    +

    nightly (unstable updates): These updates are NOT suitable for production use and are for testing only. The nightly updates are ahead of the stable updates, since in these updates we test newer and more extensive features before they go live for all users.

    +

    NEW: Get Nightly Updates

    +

    Info about the Nightly Updates

    +

    Since the 2022-08 update there is the possibility to change the update sources. Until now, the master branch on GitHub served as the only (official) update source. With the August 2022 update, however, there is now the Nightly Branch which contains unstable and major changes for testing and feedback.

    +

    The Nightly Branch always gets new updates when something is finished on the mailcow project that will be included in the new main version.

    +

    Besides the obvious changes that will be included in the next major update anyway, it also contains exclusive features that need a longer testing time (e.g. the UI update to Bootstrap 5).

    +

    How do I get Nightly Updates?

    +

    The process is relatively simple. With the 2022-08 update (assuming an update to the version) it is possible to run update.sh with the parameter --nightly.

    +
    +

    Danger

    Please make a backup before or follow the Best Practice Nightly Update section before switching to mailcow nightly builds. We are not responsible for any data loss/corruption, so work with caution!

    +

    +
    +

    The script will now change the branch with git checkout nightly, which means it will ask for the IPv6 settings again. But this is normal.

    +

    If everything worked fine (for which we made a backup before) the mailcow UI should now show the current version number and date stamp in the lower right corner:
    +nightly footer

    +

    Best Practice Nightly Update

    +
    +

    Info

    We recommend using the Nightly Update only if you have another machine or VM and NOT use it productively.

    +

    +
    +
      +
    1. use the cold standby script to copy the machine before the switch to the nightly builds on another system.
    2. +
    3. run the update.sh script on the new machine with the parameter --nightly and confirm.
    4. +
    5. experience/test the nightly updates on the secondary machine.
    6. +

    Last update: - 2022-06-23 15:19:13 + 2022-08-31 14:45:46 @@ -2681,7 +2811,7 @@ docker-compose up -d
    - + diff --git a/index.html b/index.html index e8e6a4b6b..5feeeca2a 100644 --- a/index.html +++ b/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2708,7 +2725,7 @@ Each container represents a single application.

    - + diff --git a/manual-guides/ClamAV/u_e-clamav-additional_dbs/index.html b/manual-guides/ClamAV/u_e-clamav-additional_dbs/index.html index 33649d8dc..917d1d388 100644 --- a/manual-guides/ClamAV/u_e-clamav-additional_dbs/index.html +++ b/manual-guides/ClamAV/u_e-clamav-additional_dbs/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2519,7 +2536,7 @@ MaxZipTypeRcg 50M

  • Restart ClamAV container: -
    docker-compose restart clamd-mailcow
    +
    docker compose restart clamd-mailcow
     
  • Please note:

    @@ -2538,7 +2555,7 @@ DatabaseCustomURL http://sigs.interserver.net/shell.ldb DatabaseCustomURL http://sigs.interserver.net/whitelist.fp
  • Restart ClamAV container: -
    docker-compose restart clamd-mailcow
    +
    docker compose restart clamd-mailcow
     
  • @@ -2547,7 +2564,7 @@ DatabaseCustomURL http://sigs.interserver.net/whitelist.fp Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2663,7 +2680,7 @@ DatabaseCustomURL http://sigs.interserver.net/whitelist.fp
    - + diff --git a/manual-guides/ClamAV/u_e-clamav-whitelist/index.html b/manual-guides/ClamAV/u_e-clamav-whitelist/index.html index b7052503b..f4a083462 100644 --- a/manual-guides/ClamAV/u_e-clamav-whitelist/index.html +++ b/manual-guides/ClamAV/u_e-clamav-whitelist/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2421,7 +2438,7 @@

    Whitelist specific ClamAV signatures

    You may find that legitimate (clean) mail is being blocked by ClamAV (Rspamd will flag the mail with VIRUS_FOUND). For instance, interactive PDF form attachments are blocked by default because the embedded Javascript code may be used for nefarious purposes. Confirm by looking at the clamd logs, e.g.:

    -
    docker-compose logs clamd-mailcow | grep "FOUND"
    +
    docker compose logs clamd-mailcow | grep "FOUND"
     

    This line confirms that such was identified:

    clamd-mailcow_1      | Sat Sep 28 07:43:24 2019 -> instream(local): PUA.Pdf.Trojan.EmbeddedJavaScript-1(e887d2ac324ce90750768b86b63d0749:363325) FOUND
    @@ -2429,11 +2446,11 @@
     

    To whitelist this particular signature (and enable sending this type of file attached), add it to the ClamAV signature whitelist file:

    echo 'PUA.Pdf.Trojan.EmbeddedJavaScript-1' >> data/conf/clamav/whitelist.ign2
     
    -

    Then restart the clamd-mailcow service container in the mailcow UI or using docker-compose:

    -
    docker-compose restart clamd-mailcow
    +

    Then restart the clamd-mailcow service container in the mailcow UI or using docker compose:

    +
    docker compose restart clamd-mailcow
     

    Cleanup cached ClamAV results in Redis:

    -
    # docker-compose exec redis-mailcow  /bin/sh
    +
    # docker compose exec redis-mailcow  /bin/sh
     /data # redis-cli KEYS rs_cl* | xargs redis-cli DEL
     /data # exit
     
    @@ -2443,7 +2460,7 @@ Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2559,7 +2576,7 @@
    - + diff --git a/manual-guides/Docker/u_e-docker-cust_dockerfiles/index.html b/manual-guides/Docker/u_e-docker-cust_dockerfiles/index.html index caf7b24d0..eb55a0cb3 100644 --- a/manual-guides/Docker/u_e-docker-cust_dockerfiles/index.html +++ b/manual-guides/Docker/u_e-docker-cust_dockerfiles/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2371,13 +2388,13 @@

    Customize Dockerfiles

    You need to copy the override file with corresponding build tags to the mailcow: dockerized root folder (i.e. /opt/mailcow-dockerized):

    -
    cp helper-scripts/docker-compose.override.yml.d/BUILD_FLAGS/docker-compose.override.yml docker-compose.override.yml
    +
    cp helper-scripts/docker compose.override.yml.d/BUILD_FLAGS/docker compose.override.yml docker compose.override.yml
     

    Make your changes in data/Dockerfiles/$service and build the image locally:

    docker build data/Dockerfiles/service -t mailcow/$service
     

    Now auto-recreate modified containers:

    -
    docker-compose up -d
    +
    docker compose up -d
     

    @@ -2385,7 +2402,7 @@ Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2501,7 +2518,7 @@
    - + diff --git a/manual-guides/Dovecot/u_e-dovecot-any_acl/index.html b/manual-guides/Dovecot/u_e-dovecot-any_acl/index.html index 49b76ed23..23a096f00 100644 --- a/manual-guides/Dovecot/u_e-dovecot-any_acl/index.html +++ b/manual-guides/Dovecot/u_e-dovecot-any_acl/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2374,14 +2391,14 @@

    This function can be re-enabled by setting ACL_ANYONE to allow in mailcow.conf:

    ACL_ANYONE=allow
     
    -

    Apply the changes by running docker-compose up -d.

    +

    Apply the changes by running docker compose up -d.


    Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2497,7 +2514,7 @@
    - + diff --git a/manual-guides/Dovecot/u_e-dovecot-catchall_vacation/index.html b/manual-guides/Dovecot/u_e-dovecot-catchall_vacation/index.html index 559254c1f..bee04ff37 100644 --- a/manual-guides/Dovecot/u_e-dovecot-catchall_vacation/index.html +++ b/manual-guides/Dovecot/u_e-dovecot-catchall_vacation/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2494,7 +2511,7 @@
    - + diff --git a/manual-guides/Dovecot/u_e-dovecot-expunge/index.html b/manual-guides/Dovecot/u_e-dovecot-expunge/index.html index 6c4e60f57..2cf505623 100644 --- a/manual-guides/Dovecot/u_e-dovecot-expunge/index.html +++ b/manual-guides/Dovecot/u_e-dovecot-expunge/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2477,16 +2494,16 @@

    The manual way

    That said, let's dive in:

    Delete a user's mails inside the junk folder that are read and older than 4 hours

    -
    docker-compose exec dovecot-mailcow doveadm expunge -u 'mailbox@example.com' mailbox 'Junk' SEEN not SINCE 4h
    +
    docker compose exec dovecot-mailcow doveadm expunge -u 'mailbox@example.com' mailbox 'Junk' SEEN not SINCE 4h
     

    Delete all user's mails in the junk folder that are older than 7 days

    -
    docker-compose exec dovecot-mailcow doveadm expunge -A mailbox 'Junk' savedbefore 7d
    +
    docker compose exec dovecot-mailcow doveadm expunge -A mailbox 'Junk' savedbefore 7d
     

    Delete all mails (of all users) in all folders that are older than 52 weeks (internal date of the mail, not the date it was saved on the system => before instead of savedbefore). Useful for deleting very old mails on all users and folders (thus especially useful for GDPR-compliance).

    -
    docker-compose exec dovecot-mailcow doveadm expunge -A mailbox % before 52w
    +
    docker compose exec dovecot-mailcow doveadm expunge -A mailbox % before 52w
     

    Delete mails inside a custom folder inside a user's inbox that are not flagged and older than 2 weeks

    -
    docker-compose exec dovecot-mailcow doveadm expunge -u 'mailbox@example.com' mailbox 'INBOX/custom-folder' not FLAGGED not SINCE 2w
    +
    docker compose exec dovecot-mailcow doveadm expunge -u 'mailbox@example.com' mailbox 'INBOX/custom-folder' not FLAGGED not SINCE 2w
     

    Info

    @@ -2499,8 +2516,8 @@ # Path to mailcow-dockerized, e.g. /opt/mailcow-dockerized cd /path/to/your/mailcow-dockerized -/usr/local/bin/docker-compose exec -T dovecot-mailcow doveadm expunge -A mailbox 'Junk' savedbefore 2w -/usr/local/bin/docker-compose exec -T dovecot-mailcow doveadm expunge -A mailbox 'Junk' SEEN not SINCE 12h +/usr/local/bin/docker compose exec -T dovecot-mailcow doveadm expunge -A mailbox 'Junk' savedbefore 2w +/usr/local/bin/docker compose exec -T dovecot-mailcow doveadm expunge -A mailbox 'Junk' SEEN not SINCE 12h [...]

    To create a cron job you may execute crontab -e and insert something like the following to execute a script:

    @@ -2508,7 +2525,7 @@ cd /path/to/your/mailcow-dockerized 0 4 * * * /path/to/your/expunge_mailboxes.sh

    via Docker job scheduler

    -

    To archive this with a docker job scheduler use this docker-compose.override.yml with your mailcow:

    +

    To archive this with a docker job scheduler use this docker compose.override.yml with your mailcow:

    version: '2.1'
     
     services:
    @@ -2529,7 +2546,7 @@ services:
           - "ofelia.job-exec.dovecot-expunge-trash.tty=false"
     

    The job controller just need access to the docker control socket to be able to emulate the behavior of "exec". Then we add a few label to our dovecot-container to activate the job scheduler and tell him in a cron compatible scheduling format when to run. If you struggle with that schedule string you can use crontab guru. -This docker-compose.override.yml deletes all mails older then 2 weeks from the "Junk" folder every day at 4 am. To see if things ran proper, you can not only see in your mailbox but also check Ofelia's docker log if it looks something like this:

    +This docker compose.override.yml deletes all mails older then 2 weeks from the "Junk" folder every day at 4 am. To see if things ran proper, you can not only see in your mailbox but also check Ofelia's docker log if it looks something like this:

    common.go:124 ▶ NOTICE [Job "dovecot-expunge-trash" (8759567efa66)] Started - doveadm expunge -A mailbox 'Junk' savedbefore 2w,
     common.go:124 ▶ NOTICE [Job "dovecot-expunge-trash" (8759567efa66)] Finished in "285.032291ms", failed: false, skipped: false, error: none,
     
    @@ -2541,7 +2558,7 @@ common.go:124 ▶ NOTICE [Job "dovecot-expunge-trash" (8759567efa66)] Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2657,7 +2674,7 @@ common.go:124 ▶ NOTICE [Job "dovecot-expunge-trash" (8759567efa66)]
    - + diff --git a/manual-guides/Dovecot/u_e-dovecot-extra_conf/index.html b/manual-guides/Dovecot/u_e-dovecot-extra_conf/index.html index d651e36a6..4bf171e68 100644 --- a/manual-guides/Dovecot/u_e-dovecot-extra_conf/index.html +++ b/manual-guides/Dovecot/u_e-dovecot-extra_conf/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2372,7 +2389,7 @@

    Create a file data/conf/dovecot/extra.conf - if missing - and add your additional content here.

    Restart dovecot-mailcow to apply your changes:

    -
    docker-compose restart dovecot-mailcow
    +
    docker compose restart dovecot-mailcow
     

    @@ -2380,7 +2397,7 @@ Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2496,7 +2513,7 @@
    - + diff --git a/manual-guides/Dovecot/u_e-dovecot-fts/index.html b/manual-guides/Dovecot/u_e-dovecot-fts/index.html index 95d801466..17c5f19ec 100644 --- a/manual-guides/Dovecot/u_e-dovecot-fts/index.html +++ b/manual-guides/Dovecot/u_e-dovecot-fts/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2467,17 +2484,17 @@

    Since we run in Docker and create our containers with the "restart: always" flag, a oom situation will at least only trigger a restart of the container.

    # single user
    -docker-compose exec dovecot-mailcow doveadm fts rescan -u user@domain
    +docker compose exec dovecot-mailcow doveadm fts rescan -u user@domain
     # all users
    -docker-compose exec dovecot-mailcow doveadm fts rescan -A
    +docker compose exec dovecot-mailcow doveadm fts rescan -A
     

    Dovecot Wiki: "Scan what mails exist in the full text search index and compare those to what actually exist in mailboxes. This removes mails from the index that have already been expunged and makes sure that the next doveadm index will index all the missing mails (if any)."

    This does not re-index a mailbox. It basically repairs a given index.

    If you want to re-index data immediately, you can run the followig command, where '*' can also be a mailbox mask like 'Sent'. You do not need to run these commands, but it will speed things up a bit:

    # single user
    -docker-compose exec dovecot-mailcow doveadm index -u user@domain '*'
    +docker compose exec dovecot-mailcow doveadm index -u user@domain '*'
     # all users, but obviously slower and more dangerous
    -docker-compose exec dovecot-mailcow doveadm index -A '*'
    +docker compose exec dovecot-mailcow doveadm index -A '*'
     

    This will take some time depending on your machine and Solr can run oom, monitor it!

    Because re-indexing is very sensible, we did not include it to mailcow UI. You will need to take care of any errors while re-indexing a mailbox.

    @@ -2489,7 +2506,7 @@ docker-compose exec dovecot-mailcow doveadm index -A '*' Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2605,7 +2622,7 @@ docker-compose exec dovecot-mailcow doveadm index -A '*'
    - + diff --git a/manual-guides/Dovecot/u_e-dovecot-idle_interval/index.html b/manual-guides/Dovecot/u_e-dovecot-idle_interval/index.html index 1ce7e1c33..9863e04bd 100644 --- a/manual-guides/Dovecot/u_e-dovecot-idle_interval/index.html +++ b/manual-guides/Dovecot/u_e-dovecot-idle_interval/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2494,12 +2511,12 @@ Insert the setting followed by the new value. For example, to set the interval t

    Reload Dovecot

    Now reload Dovecot: -

    docker-compose exec dovecot-mailcow dovecot reload
    +
    docker compose exec dovecot-mailcow dovecot reload
     

    Info

    You can check the value of this setting with -

    docker-compose exec dovecot-mailcow dovecot -a | grep "imap_idle_notify_interval"
    +
    docker compose exec dovecot-mailcow dovecot -a | grep "imap_idle_notify_interval"
     
    If you didn't change it, it should be at 2m. If you did change it, you should see your new value.

    @@ -2509,7 +2526,7 @@ If you didn't change it, it should be at 2m. If you did change it, you should se Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2625,7 +2642,7 @@ If you didn't change it, it should be at 2m. If you did change it, you should se
    - + diff --git a/manual-guides/Dovecot/u_e-dovecot-mail-crypt/index.html b/manual-guides/Dovecot/u_e-dovecot-mail-crypt/index.html index 51ceba0c7..36ba6f62c 100644 --- a/manual-guides/Dovecot/u_e-dovecot-mail-crypt/index.html +++ b/manual-guides/Dovecot/u_e-dovecot-mail-crypt/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2375,7 +2392,7 @@

    Mails are stored compressed (lz4) and encrypted. The key pair can be found in crypt-vol-1.

    If you want to decode/encode existing maildir files, you can use the following script at your own risk:

    -

    Enter Dovecot by running docker-compose exec dovecot-mailcow /bin/bash in the mailcow-dockerized location.

    +

    Enter Dovecot by running docker compose exec dovecot-mailcow /bin/bash in the mailcow-dockerized location.

    # Decrypt /var/vmail
     find /var/vmail/ -type f -regextype egrep -regex '.*S=.*W=.*' | while read -r file; do
     if [[ $(head -c7 "$file") == "CRYPTED" ]]; then
    @@ -2407,7 +2424,7 @@ done
       
         
           Last update:
    -      2022-07-23 01:17:49
    +      2022-08-31 14:45:46
           
         
       
    @@ -2523,7 +2540,7 @@ done
           
    - + diff --git a/manual-guides/Dovecot/u_e-dovecot-more/index.html b/manual-guides/Dovecot/u_e-dovecot-more/index.html index ee1b7b24a..57ff7b35f 100644 --- a/manual-guides/Dovecot/u_e-dovecot-more/index.html +++ b/manual-guides/Dovecot/u_e-dovecot-more/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2589,7 +2606,7 @@
    - + diff --git a/manual-guides/Dovecot/u_e-dovecot-public_folder/index.html b/manual-guides/Dovecot/u_e-dovecot-public_folder/index.html index cd4f01ba4..70844b620 100644 --- a/manual-guides/Dovecot/u_e-dovecot-public_folder/index.html +++ b/manual-guides/Dovecot/u_e-dovecot-public_folder/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2435,7 +2452,7 @@

    :INDEXPVT=~/public can be omitted if per-user seen flags are not wanted.

    The new mailbox in the public namespace will be auto-subscribed by users.

    To allow all authenticated users access full to that new mailbox (not the whole namespace), run:

    -
    docker-compose exec dovecot-mailcow doveadm acl set -A "Public/Develcow" "authenticated" lookup read write write-seen write-deleted insert post delete expunge create
    +
    docker compose exec dovecot-mailcow doveadm acl set -A "Public/Develcow" "authenticated" lookup read write write-seen write-deleted insert post delete expunge create
     

    Adjust the command to your needs if you like to assign more granular rights per user (use -u user@domain instead of -A for example).

    Allow authenticated users access to the whole public namespace

    @@ -2452,7 +2469,7 @@ Last update: - 2022-07-28 08:45:52 + 2022-08-31 14:45:46 @@ -2568,7 +2585,7 @@
    - + diff --git a/manual-guides/Dovecot/u_e-dovecot-static_master/index.html b/manual-guides/Dovecot/u_e-dovecot-static_master/index.html index a5c4e97c0..c5d2d503e 100644 --- a/manual-guides/Dovecot/u_e-dovecot-static_master/index.html +++ b/manual-guides/Dovecot/u_e-dovecot-static_master/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2377,7 +2394,7 @@
    DOVECOT_MASTER_USER=mymasteruser
     DOVECOT_MASTER_PASS=mysecretpass
     
    -

    Run docker-compose up -d to apply your changes.

    +

    Run docker compose up -d to apply your changes.

    The static master username will be expanded to DOVECOT_MASTER_USER@mailcow.local.

    To login as test@example.org this would equal to test@example.org*mymasteruser@mailcow.local with the specified password above.

    A login to SOGo is not possible with this username. A click-to-login function for SOGo is available for admins as described here @@ -2388,7 +2405,7 @@ No master user is required.

    Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2504,7 +2521,7 @@ No master user is required.

    - + diff --git a/manual-guides/Dovecot/u_e-dovecot-vmail-volume/index.html b/manual-guides/Dovecot/u_e-dovecot-vmail-volume/index.html index 855ab622c..5fa5bcc41 100644 --- a/manual-guides/Dovecot/u_e-dovecot-vmail-volume/index.html +++ b/manual-guides/Dovecot/u_e-dovecot-vmail-volume/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2464,14 +2481,14 @@

    Warning

    Newer Docker versions seem to complain about existing volumes. You can fix this temporarily by removing the existing volume and start mailcow with the override file. But it seems to be problematic after a reboot (needs to be confirmed).

    -

    An easy, dirty, yet stable workaround is to stop mailcow (docker-compose down), remove /var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data and create a new link to your remote filesystem location, for example:

    +

    An easy, dirty, yet stable workaround is to stop mailcow (docker compose down), remove /var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data and create a new link to your remote filesystem location, for example:

    mv /var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data /var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data_backup
     ln -s /mnt/volume-xy/vmail_data /var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data
     

    Start mailcow afterwards.


    The "old" way

    -

    If you want to use another folder for the vmail-volume, you can create a docker-compose.override.yml file and add the following content:

    +

    If you want to use another folder for the vmail-volume, you can create a docker compose.override.yml file and add the following content:

    version: '2.1'
     volumes:
       vmail-vol-1:
    @@ -2502,10 +2519,10 @@ volumes:
     
    • Copy the content of the Mountpoint folder to the new location (e.g. /data/mailcow/vmail) using cp -a, rsync -a or a similar non strcuture breaking copy command
    • -
    • Stop mailcow by executing docker-compose down from within your mailcow root folder (e.g. /opt/mailcow-dockerized)
    • -
    • Create the file docker-compose.override.yml, edit the device path accordingly
    • +
    • Stop mailcow by executing docker compose down from within your mailcow root folder (e.g. /opt/mailcow-dockerized)
    • +
    • Create the file docker compose.override.yml, edit the device path accordingly
    • Delete the current vmail folder: docker volume rm mailcowdockerized_vmail-vol-1
    • -
    • Start mailcow by executing docker-compose up -d from within your mailcow root folder (e.g. /opt/mailcow-dockerized)
    • +
    • Start mailcow by executing docker compose up -d from within your mailcow root folder (e.g. /opt/mailcow-dockerized)

    @@ -2513,7 +2530,7 @@ volumes: Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2629,7 +2646,7 @@ volumes:
    - + diff --git a/manual-guides/Nginx/u_e-nginx_custom/index.html b/manual-guides/Nginx/u_e-nginx_custom/index.html index dccb197a4..aed9a492b 100644 --- a/manual-guides/Nginx/u_e-nginx_custom/index.html +++ b/manual-guides/Nginx/u_e-nginx_custom/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2551,8 +2568,8 @@

    This filename does not need to have a ".conf" extension but follows the pattern site.*.custom, where * is a custom name.

    If PHP is to be included in a custom site, please use the PHP-FPM listener on phpfpm:9002 or create a new listener in data/conf/phpfpm/php-fpm.d/pools.conf.

    Restart Nginx (and PHP-FPM, if a new listener was created):

    -
    docker-compose restart nginx-mailcow
    -docker-compose restart php-fpm-mailcow
    +
    docker compose restart nginx-mailcow
    +docker compose restart php-fpm-mailcow
     

    @@ -2560,7 +2577,7 @@ docker-compose restart php-fpm-mailcow Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2676,7 +2693,7 @@ docker-compose restart php-fpm-mailcow
    - + diff --git a/manual-guides/Nginx/u_e-nginx_webmail-site/index.html b/manual-guides/Nginx/u_e-nginx_webmail-site/index.html index cdb2214de..50fc96842 100644 --- a/manual-guides/Nginx/u_e-nginx_webmail-site/index.html +++ b/manual-guides/Nginx/u_e-nginx_webmail-site/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2393,19 +2410,19 @@ } }
    -

    Save and restart Nginx: docker-compose restart nginx-mailcow.

    +

    Save and restart Nginx: docker compose restart nginx-mailcow.

    Now open mailcow.conf and find ADDITIONAL_SAN. Add webmail.example.org to this array, don't use quotes!

    ADDITIONAL_SAN=webmail.example.org
     
    -

    Run docker-compose up -d. See "acme-mailcow" and "nginx-mailcow" logs if anything fails.

    +

    Run docker compose up -d. See "acme-mailcow" and "nginx-mailcow" logs if anything fails.


    Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2521,7 +2538,7 @@ Add webmail.example.org to this array, don't use quotes!

    - + diff --git a/manual-guides/Postfix/u_e-postfix-attachment_size/index.html b/manual-guides/Postfix/u_e-postfix-attachment_size/index.html index b5bfdeec8..b423e9428 100644 --- a/manual-guides/Postfix/u_e-postfix-attachment_size/index.html +++ b/manual-guides/Postfix/u_e-postfix-attachment_size/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2372,7 +2389,7 @@

    Open data/conf/postfix/extra.cf and set the message_size_limit accordingly in bytes. See main.cf for the default value.

    Restart Postfix:

    -
    docker-compose restart postfix-mailcow
    +
    docker compose restart postfix-mailcow
     

    @@ -2380,7 +2397,7 @@ Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2496,7 +2513,7 @@
    - + diff --git a/manual-guides/Postfix/u_e-postfix-custom_transport/index.html b/manual-guides/Postfix/u_e-postfix-custom_transport/index.html index 1c9a1e19e..4e6c236bd 100644 --- a/manual-guides/Postfix/u_e-postfix-custom_transport/index.html +++ b/manual-guides/Postfix/u_e-postfix-custom_transport/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2495,7 +2512,7 @@
    - + diff --git a/manual-guides/Postfix/u_e-postfix-disable_sender_verification/index.html b/manual-guides/Postfix/u_e-postfix-disable_sender_verification/index.html index 5bc918f17..3338997cc 100644 --- a/manual-guides/Postfix/u_e-postfix-disable_sender_verification/index.html +++ b/manual-guides/Postfix/u_e-postfix-disable_sender_verification/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2445,7 +2462,7 @@
    smtpd_sender_restrictions = check_sasl_access hash:/opt/postfix/conf/check_sasl_access reject_authenticated_sender_login_mismatch [...]
     

    Run postmap on check_sasl_access:

    -
    docker-compose exec postfix-mailcow postmap /opt/postfix/conf/check_sasl_access
    +
    docker compose exec postfix-mailcow postmap /opt/postfix/conf/check_sasl_access
     

    Restart the Postfix container.

    @@ -2454,7 +2471,7 @@ Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2570,7 +2587,7 @@
    - + diff --git a/manual-guides/Postfix/u_e-postfix-extra_cf/index.html b/manual-guides/Postfix/u_e-postfix-extra_cf/index.html index d7847986a..27c2ecc43 100644 --- a/manual-guides/Postfix/u_e-postfix-extra_cf/index.html +++ b/manual-guides/Postfix/u_e-postfix-extra_cf/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2374,7 +2391,7 @@

    Postfix will complain about duplicate values once after starting postfix-mailcow, this is intended.

    Syslog-ng was configured to hide those warnings while Postfix is running, to not spam the log files with unnecessary information every time a service is used.

    Restart postfix-mailcow to apply your changes:

    -
    docker-compose restart postfix-mailcow
    +
    docker compose restart postfix-mailcow
     

    @@ -2382,7 +2399,7 @@ Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2498,7 +2515,7 @@
    - + diff --git a/manual-guides/Postfix/u_e-postfix-pflogsumm/index.html b/manual-guides/Postfix/u_e-postfix-pflogsumm/index.html index 072a716f7..630680748 100644 --- a/manual-guides/Postfix/u_e-postfix-pflogsumm/index.html +++ b/manual-guides/Postfix/u_e-postfix-pflogsumm/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2503,7 +2520,7 @@
    - + diff --git a/manual-guides/Postfix/u_e-postfix-postscreen_whitelist/index.html b/manual-guides/Postfix/u_e-postfix-postscreen_whitelist/index.html index a839f71f0..b00666a07 100644 --- a/manual-guides/Postfix/u_e-postfix-postscreen_whitelist/index.html +++ b/manual-guides/Postfix/u_e-postfix-postscreen_whitelist/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2504,7 +2521,7 @@
    - + diff --git a/manual-guides/Postfix/u_e-postfix-relayhost/index.html b/manual-guides/Postfix/u_e-postfix-relayhost/index.html index 1ca5dada5..f6e854a1e 100644 --- a/manual-guides/Postfix/u_e-postfix-relayhost/index.html +++ b/manual-guides/Postfix/u_e-postfix-relayhost/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2603,7 +2620,7 @@ Keep in mind the credentials will be stored in plain text.

    - + diff --git a/manual-guides/Postfix/u_e-postfix-trust_networks/index.html b/manual-guides/Postfix/u_e-postfix-trust_networks/index.html index 335a3bfb1..d83876dc4 100644 --- a/manual-guides/Postfix/u_e-postfix-trust_networks/index.html +++ b/manual-guides/Postfix/u_e-postfix-trust_networks/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2472,14 +2489,14 @@

    Edit data/conf/postfix/extra.cf:

    mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 [fe80::]/10 172.22.1.0/24 [fd4d:6169:6c63:6f77::]/64 192.168.2.0/24
     
    -

    Run docker-compose restart postfix-mailcow to apply your new settings.

    +

    Run docker compose restart postfix-mailcow to apply your new settings.

    IPv6 hosts/subnets

    Adding IPv6 hosts is done the same as IPv4, however the subnet needs to be placed in brackets [] with the netmask appended.

    To add the subnet 2001:db8::/32 to the trusted networks you may use the following configuration, depending on your IPV4_NETWORK and IPV6_NETWORK scopes:

    Edit data/conf/postfix/extra.cf:

    mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 [fe80::]/10 172.22.1.0/24 [fd4d:6169:6c63:6f77::]/64 [2001:db8::]/32
     
    -

    Run docker-compose restart postfix-mailcow to apply your new settings.

    +

    Run docker compose restart postfix-mailcow to apply your new settings.

    Info

    More information about mynetworks can be found in the Postfix documentation.

    @@ -2490,7 +2507,7 @@ Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2606,7 +2623,7 @@
    - + diff --git a/manual-guides/Redis/u_e-redis/index.html b/manual-guides/Redis/u_e-redis/index.html index ed46a8823..fdd1ba61f 100644 --- a/manual-guides/Redis/u_e-redis/index.html +++ b/manual-guides/Redis/u_e-redis/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2500,13 +2517,13 @@

    Redis is used as a key-value store for rspamd's and (some of) mailcow's settings and data. If you are unfamiliar with redis please read the introduction to redis and maybe visit this wonderful guide on how to use it.

    Client

    To connect to the redis cli execute:

    -
    docker-compose exec redis-mailcow redis-cli
    +
    docker compose exec redis-mailcow redis-cli
     

    Debugging

    Here are some useful commands for the redis-cli for debugging:

    MONITOR

    Listens for all requests received by the server in real time:

    -
    # docker-compose exec redis-mailcow redis-cli
    +
    # docker compose exec redis-mailcow redis-cli
     127.0.0.1:6379> monitor
     OK
     1494077286.401963 [0 172.22.1.253:41228] "SMEMBERS" "BAYES_SPAM_keys"
    @@ -2529,7 +2546,7 @@ PONG
       
         
           Last update:
    -      2022-06-23 15:17:00
    +      2022-08-31 14:45:46
           
         
       
    @@ -2645,7 +2662,7 @@ PONG
           
    - + diff --git a/manual-guides/Rspamd/u_e-rspamd/index.html b/manual-guides/Rspamd/u_e-rspamd/index.html index 68c94bc80..1505f9a98 100644 --- a/manual-guides/Rspamd/u_e-rspamd/index.html +++ b/manual-guides/Rspamd/u_e-rspamd/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2580,11 +2597,11 @@ This is achieved by using the Sieve plugin "sieve_imapsieve" and parser scripts.

    Learn Spam or Ham from existing directory

    You can use a one-liner to learn mail in plain-text (uncompressed) format:

    # Ham
    -for file in /my/folder/cur/*; do docker exec -i $(docker-compose ps -q rspamd-mailcow) rspamc learn_ham < $file; done
    +for file in /my/folder/cur/*; do docker exec -i $(docker compose ps -q rspamd-mailcow) rspamc learn_ham < $file; done
     # Spam
    -for file in /my/folder/.Junk/cur/*; do docker exec -i $(docker-compose ps -q rspamd-mailcow) rspamc learn_spam < $file; done
    +for file in /my/folder/.Junk/cur/*; do docker exec -i $(docker compose ps -q rspamd-mailcow) rspamc learn_spam < $file; done
     
    -

    Consider attaching a local folder as new volume to rspamd-mailcow in docker-compose.yml and learn given files inside the container. This can be used as workaround to parse compressed data with zcat. Example:

    +

    Consider attaching a local folder as new volume to rspamd-mailcow in docker compose.yml and learn given files inside the container. This can be used as workaround to parse compressed data with zcat. Example:

    for file in /data/old_mail/.Junk/cur/*; do rspamc learn_spam < zcat $file; done
     

    Reset learned data (Bayes, Neural)

    @@ -2594,15 +2611,15 @@ This is achieved by using the Sieve plugin "sieve_imapsieve" and parser scripts. cp /var/lib/docker/volumes/mailcowdockerized_redis-vol-1/_data/dump.rdb /root/

    Reset Bayes data

    -
    docker-compose exec redis-mailcow sh -c 'redis-cli --scan --pattern BAYES_* | xargs redis-cli del'
    -docker-compose exec redis-mailcow sh -c 'redis-cli --scan --pattern RS* | xargs redis-cli del'
    +
    docker compose exec redis-mailcow sh -c 'redis-cli --scan --pattern BAYES_* | xargs redis-cli del'
    +docker compose exec redis-mailcow sh -c 'redis-cli --scan --pattern RS* | xargs redis-cli del'
     

    Reset Neural data

    -
    docker-compose exec redis-mailcow sh -c 'redis-cli --scan --pattern rn_* | xargs redis-cli del'
    +
    docker compose exec redis-mailcow sh -c 'redis-cli --scan --pattern rn_* | xargs redis-cli del'
     

    Reset Fuzzy data

    # We need to enter the redis-cli first:
    -docker-compose exec redis-mailcow redis-cli
    +docker compose exec redis-mailcow redis-cli
     # In redis-cli:
     127.0.0.1:6379> EVAL "for i, name in ipairs(redis.call('KEYS', ARGV[1])) do redis.call('DEL', name); end" 0 fuzzy*
     
    @@ -2612,8 +2629,8 @@ docker-compose exec redis-mailcow redis-cli

    ...the key pattern was not found and thus no data is available to delete - it is fine.

    CLI tools

    -
    docker-compose exec rspamd-mailcow rspamc --help
    -docker-compose exec rspamd-mailcow rspamadm --help
    +
    docker compose exec rspamd-mailcow rspamc --help
    +docker compose exec rspamd-mailcow rspamadm --help
     

    Disable Greylisting

    Only messages with a higher score will be considered to be greylisted (soft rejected). It is bad practice to disable greylisting.

    @@ -2622,26 +2639,26 @@ docker-compose exec rspamd-mailcow rspamadm --help

    Add the line:

    enabled = false;
     
    -

    Save the file and restart "rspamd-mailcow": docker-compose restart rspamd-mailcow

    +

    Save the file and restart "rspamd-mailcow": docker compose restart rspamd-mailcow

    Spam filter thresholds (global)

    Each user is able to change their spam rating individually. To define a new server-wide limit, edit data/conf/rspamd/local.d/actions.conf:

    reject = 15;
     add_header = 8;
     greylist = 7;
     
    -

    Save the file and restart "rspamd-mailcow": docker-compose restart rspamd-mailcow

    +

    Save the file and restart "rspamd-mailcow": docker compose restart rspamd-mailcow

    Existing settings of users will not be overwritten!

    To reset custom defined thresholds, run:

    source mailcow.conf
    -docker-compose exec mysql-mailcow mysql -umailcow -p$DBPASS mailcow -e "delete from filterconf where option = 'highspamlevel' or option = 'lowspamlevel';"
    +docker compose exec mysql-mailcow mysql -umailcow -p$DBPASS mailcow -e "delete from filterconf where option = 'highspamlevel' or option = 'lowspamlevel';"
     # or:
    -# docker-compose exec mysql-mailcow mysql -umailcow -p$DBPASS mailcow -e "delete from filterconf where option = 'highspamlevel' or option = 'lowspamlevel' and object = 'only-this-mailbox@example.org';"
    +# docker compose exec mysql-mailcow mysql -umailcow -p$DBPASS mailcow -e "delete from filterconf where option = 'highspamlevel' or option = 'lowspamlevel' and object = 'only-this-mailbox@example.org';"
     

    Custom reject messages

    The default spam reject message can be changed by adding a new file data/conf/rspamd/override.d/worker-proxy.custom.inc with the following content:

    reject_message = "My custom reject message";
     
    -

    Save the file and restart Rspamd: docker-compose restart rspamd-mailcow.

    +

    Save the file and restart Rspamd: docker compose restart rspamd-mailcow.

    While the above works for rejected mails with a high spam score, prefilter reject actions will ignore this setting. For these maps, the multimap module in Rspamd needs to be adjusted:

    1. @@ -2661,27 +2678,27 @@ docker-compose exec mysql-mailcow mysql -umailcow -p$DBPASS mailcow -e "del }
      -
    1. Save the file and restart Rspamd: docker-compose restart rspamd-mailcow.
    2. +
    3. Save the file and restart Rspamd: docker compose restart rspamd-mailcow.

    Discard instead of reject

    If you want to silently drop a message, create or edit the file data/conf/rspamd/override.d/worker-proxy.custom.inc and add the following content:

    discard_on_reject = true;
     

    Restart Rspamd:

    -
    docker-compose restart rspamd-mailcow
    +
    docker compose restart rspamd-mailcow
     

    Wipe all ratelimit keys

    If you don't want to use the UI and instead wipe all keys in the Redis database, you can use redis-cli for that task:

    -
    docker-compose exec redis-mailcow sh
    +
    docker compose exec redis-mailcow sh
     # Unlink (available in Redis >=4.) will delete in the backgronud
     redis-cli --scan --pattern RL* | xargs redis-cli unlink
     

    Restart Rspamd:

    -
    docker-compose restart rspamd-mailcow
    +
    docker compose restart rspamd-mailcow
     

    Trigger a resend of quarantine notifications

    Should be used for debugging only!

    -
    docker-compose exec dovecot-mailcow bash
    +
    docker compose exec dovecot-mailcow bash
     mysql -umailcow -p$DBPASS mailcow -e "update quarantine set notified = 0;"
     redis-cli -h redis DEL Q_LAST_NOTIFIED
     quarantine_notify.py
    @@ -2693,14 +2710,14 @@ quarantine_notify.py
     

    Edit data/conf/rspamd/local.d/history_redis.conf:

    nrows = 1000; # change this value
     
    -

    Restart Rspamd afterwards: docker-compose restart rspamd-mailcow

    +

    Restart Rspamd afterwards: docker compose restart rspamd-mailcow


    Last update: - 2022-08-06 22:09:53 + 2022-08-31 14:45:46 @@ -2816,7 +2833,7 @@ quarantine_notify.py
    - + diff --git a/manual-guides/SOGo/u_e-sogo/index.html b/manual-guides/SOGo/u_e-sogo/index.html index cf56f53c6..5ba112db0 100644 --- a/manual-guides/SOGo/u_e-sogo/index.html +++ b/manual-guides/SOGo/u_e-sogo/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2509,7 +2526,7 @@ Please check the AngularJS Material
    version: '2.1'
     
     services:
    @@ -2532,8 +2549,8 @@ services:
         volumes:
           - ./data/conf/sogo/custom-theme.css:/usr/lib/GNUstep/SOGo/WebServerResources/css/theme-default.css:z
     
    -
  • run docker-compose up -d
  • -
  • run docker-compose restart memcached-mailcow
  • +
  • run docker compose up -d
  • +
  • run docker compose restart memcached-mailcow
  • Reset to SOGo default theme

      @@ -2558,20 +2575,20 @@ services: and replace it with:
          $mdThemingProvider.theme('default');
       
      -
    1. remove from docker-compose.override.yml volume mount in sogo-mailcow: +
    2. remove from docker compose.override.yml volume mount in sogo-mailcow:
      - ./data/conf/sogo/custom-theme.css:/usr/lib/GNUstep/SOGo/WebServerResources/css/theme-default.css:z
       
    3. -
    4. run docker-compose up -d
    5. -
    6. run docker-compose restart memcached-mailcow
    7. +
    8. run docker compose up -d
    9. +
    10. run docker compose restart memcached-mailcow

    Change favicon

    mailcow builds after 31 January 2021 can change SOGo's favicon by replacing data/conf/sogo/custom-favicon.ico for SOGo and data/web/favicon.png for mailcow UI. Note: You can use .png favicons for SOGo by renaming them to custom-favicon.ico. For both SOGo and mailcow UI favicons you need use one of the standard dimensions: 16x16, 32x32, 64x64, 128x128 and 256x256. -After you replaced said file you need to restart SOGo and Memcached containers by executing docker-compose restart memcached-mailcow sogo-mailcow.

    +After you replaced said file you need to restart SOGo and Memcached containers by executing docker compose restart memcached-mailcow sogo-mailcow.

    mailcow builds after 21 December 2018 can change SOGo's logo by replacing or creating (if missing) data/conf/sogo/sogo-full.svg. -After you replaced said file you need to restart SOGo and Memcached containers by executing docker-compose restart memcached-mailcow sogo-mailcow.

    +After you replaced said file you need to restart SOGo and Memcached containers by executing docker compose restart memcached-mailcow sogo-mailcow.

    Connect domains

    Domains are usually isolated from eachother.

    You can change that by modifying data/conf/sogo/sogo.conf:

    @@ -2586,19 +2603,19 @@ After you replaced said file you need to restart SOGo and Memcached containers b (example.org, example.com, example.net) );
    -

    Restart SOGo: docker-compose restart sogo-mailcow

    +

    Restart SOGo: docker compose restart sogo-mailcow

    Disable password changing

    Edit data/conf/sogo/sogo.conf and change SOGoPasswordChangeEnabled to NO. Please do not add a new parameter.

    -

    Run docker-compose restart memcached-mailcow sogo-mailcow to activate the changes.

    +

    Run docker compose restart memcached-mailcow sogo-mailcow to activate the changes.

    Reset TOTP / Disable TOTP

    -

    Run docker-compose exec -u sogo sogo-mailcow sogo-tool user-preferences set defaults user@example.com SOGoTOTPEnabled '{"SOGoTOTPEnabled":0}' from within the mailcow directory.

    +

    Run docker compose exec -u sogo sogo-mailcow sogo-tool user-preferences set defaults user@example.com SOGoTOTPEnabled '{"SOGoTOTPEnabled":0}' from within the mailcow directory.


    Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2714,7 +2731,7 @@ After you replaced said file you need to restart SOGo and Memcached containers b
    - + diff --git a/manual-guides/Unbound/u_e-unbound-fwd/index.html b/manual-guides/Unbound/u_e-unbound-fwd/index.html index 147ac4a55..13a801a39 100644 --- a/manual-guides/Unbound/u_e-unbound-fwd/index.html +++ b/manual-guides/Unbound/u_e-unbound-fwd/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2447,21 +2464,21 @@ forward-addr: 8.8.4.4 # DO NOT USE PUBLIC DNS SERVERS - JUST AN EXAMPLE

    Restart Unbound:

    -
    docker-compose restart unbound-mailcow
    +
    docker compose restart unbound-mailcow
     

    Method B, Override file

    cd /opt/mailcow-dockerized
    -cp helper-scripts/docker-compose.override.yml.d/EXTERNAL_DNS/docker-compose.override.yml .
    +cp helper-scripts/docker compose.override.yml.d/EXTERNAL_DNS/docker compose.override.yml .
     
    -

    Edit docker-compose.override.yml and adjust the IP.

    -

    Run docker-compose down ; docker-compose up -d.

    +

    Edit docker compose.override.yml and adjust the IP.

    +

    Run docker compose down ; docker compose up -d.


    Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2577,7 +2594,7 @@ cp helper-scripts/docker-compose.override.yml.d/EXTERNAL_DNS/docker-compose.over
    - + diff --git a/manual-guides/Watchdog/u_e-watchdog-thresholds/index.html b/manual-guides/Watchdog/u_e-watchdog-thresholds/index.html index aac61d12d..cdc186f7e 100644 --- a/manual-guides/Watchdog/u_e-watchdog-thresholds/index.html +++ b/manual-guides/Watchdog/u_e-watchdog-thresholds/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2669,7 +2686,7 @@

    Thresholds

    -

    Watchdog uses default values for all thresholds defined in docker-compose.yml.

    +

    Watchdog uses default values for all thresholds defined in docker compose.yml.

    The default values will work for most setups. Example:

    - NGINX_THRESHOLD=${NGINX_THRESHOLD:-5}
    @@ -2691,7 +2708,7 @@ Example:
     - MAILQ_THRESHOLD=${MAILQ_THRESHOLD:-20}
     - MAILQ_CRIT=${MAILQ_CRIT:-30}
     

    -

    To adjust them just add necessary threshold variables (e.g. MAILQ_THRESHOLD=10) to mailcow.conf and run docker-compose up -d.

    +

    To adjust them just add necessary threshold variables (e.g. MAILQ_THRESHOLD=10) to mailcow.conf and run docker compose up -d.

    Thresholds descriptions

    NGINX_THRESHOLD

    Notifies administrators if watchdog can not establish a connection to Nginx on port 8081 and it will restart the container automatically when issues were found and the threshold has been reached.

    @@ -2733,7 +2750,7 @@ Example: Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2849,7 +2866,7 @@ Example:
    - + diff --git a/manual-guides/mailcow-UI/u_e-mailcow_ui-bl_wl/index.html b/manual-guides/mailcow-UI/u_e-mailcow_ui-bl_wl/index.html index e58831597..f69b40a82 100644 --- a/manual-guides/mailcow-UI/u_e-mailcow_ui-bl_wl/index.html +++ b/manual-guides/mailcow-UI/u_e-mailcow_ui-bl_wl/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2500,7 +2517,7 @@
    - + diff --git a/manual-guides/mailcow-UI/u_e-mailcow_ui-config/index.html b/manual-guides/mailcow-UI/u_e-mailcow_ui-config/index.html index 4d99bcf03..7c0cc9fb8 100644 --- a/manual-guides/mailcow-UI/u_e-mailcow_ui-config/index.html +++ b/manual-guides/mailcow-UI/u_e-mailcow_ui-config/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2516,7 +2533,7 @@
    - + diff --git a/manual-guides/mailcow-UI/u_e-mailcow_ui-css/index.html b/manual-guides/mailcow-UI/u_e-mailcow_ui-css/index.html index 87e77af6d..e60f4ac33 100644 --- a/manual-guides/mailcow-UI/u_e-mailcow_ui-css/index.html +++ b/manual-guides/mailcow-UI/u_e-mailcow_ui-css/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2494,7 +2511,7 @@
    - + diff --git a/manual-guides/mailcow-UI/u_e-mailcow_ui-fido/index.html b/manual-guides/mailcow-UI/u_e-mailcow_ui-fido/index.html index 19478b874..174763cb2 100644 --- a/manual-guides/mailcow-UI/u_e-mailcow_ui-fido/index.html +++ b/manual-guides/mailcow-UI/u_e-mailcow_ui-fido/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2579,7 +2596,7 @@
    - + diff --git a/manual-guides/mailcow-UI/u_e-mailcow_ui-netfilter/index.html b/manual-guides/mailcow-UI/u_e-mailcow_ui-netfilter/index.html index b88deec7c..dc1d5fa99 100644 --- a/manual-guides/mailcow-UI/u_e-mailcow_ui-netfilter/index.html +++ b/manual-guides/mailcow-UI/u_e-mailcow_ui-netfilter/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2576,7 +2593,7 @@ If this is the case, it is recommended to reset the Netfilter regex rules by cli
    - + diff --git a/manual-guides/mailcow-UI/u_e-mailcow_ui-pushover/index.html b/manual-guides/mailcow-UI/u_e-mailcow_ui-pushover/index.html index 7cd49b8d8..22e4e68a7 100644 --- a/manual-guides/mailcow-UI/u_e-mailcow_ui-pushover/index.html +++ b/manual-guides/mailcow-UI/u_e-mailcow_ui-pushover/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2504,7 +2521,7 @@
    - + diff --git a/manual-guides/mailcow-UI/u_e-mailcow_ui-spamalias/index.html b/manual-guides/mailcow-UI/u_e-mailcow_ui-spamalias/index.html index 7c5809b4e..4c490f370 100644 --- a/manual-guides/mailcow-UI/u_e-mailcow_ui-spamalias/index.html +++ b/manual-guides/mailcow-UI/u_e-mailcow_ui-spamalias/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2495,7 +2512,7 @@
    - + diff --git a/manual-guides/mailcow-UI/u_e-mailcow_ui-spamfilter/index.html b/manual-guides/mailcow-UI/u_e-mailcow_ui-spamfilter/index.html index a27fd7070..bb08b04e2 100644 --- a/manual-guides/mailcow-UI/u_e-mailcow_ui-spamfilter/index.html +++ b/manual-guides/mailcow-UI/u_e-mailcow_ui-spamfilter/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2499,7 +2516,7 @@ For a domain wide black- and whitelist please check our guide on - + diff --git a/manual-guides/mailcow-UI/u_e-mailcow_ui-sub_addressing/index.html b/manual-guides/mailcow-UI/u_e-mailcow_ui-sub_addressing/index.html index 93b5f7fda..bab9890d1 100644 --- a/manual-guides/mailcow-UI/u_e-mailcow_ui-sub_addressing/index.html +++ b/manual-guides/mailcow-UI/u_e-mailcow_ui-sub_addressing/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2562,7 +2579,7 @@ index e047136e..933c4137 100644
    - + diff --git a/manual-guides/mailcow-UI/u_e-mailcow_ui-tags/index.html b/manual-guides/mailcow-UI/u_e-mailcow_ui-tags/index.html index ae9b5b846..c917561c1 100644 --- a/manual-guides/mailcow-UI/u_e-mailcow_ui-tags/index.html +++ b/manual-guides/mailcow-UI/u_e-mailcow_ui-tags/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2602,7 +2619,7 @@ To view them simply click on the small plus symbol on the left of your Domain/Ma
    - + diff --git a/manual-guides/mailcow-UI/u_e-mailcow_ui-tfa/index.html b/manual-guides/mailcow-UI/u_e-mailcow_ui-tfa/index.html index 03700f04f..00349d5e0 100644 --- a/manual-guides/mailcow-UI/u_e-mailcow_ui-tfa/index.html +++ b/manual-guides/mailcow-UI/u_e-mailcow_ui-tfa/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2628,7 +2645,7 @@ Finally, enter your current account password and, after selecting the Touc

    Disable unofficial supported Fido Security Keys

    With WebAuthn there is the possibility to use only official Fido Security Keys (from the big brands like: Yubico, Apple, Nitro, Google, Huawei, Microsoft, etc.).

    This is primarily for security purposes, as it allows administrators to ensure that only official hardware can be used in their environment.

    -

    To enable this feature, change the value WEBAUTHN_ONLY_TRUSTED_VENDORS in mailcow.conf from n to y and restart the affected containers with docker-compose up -d.

    +

    To enable this feature, change the value WEBAUTHN_ONLY_TRUSTED_VENDORS in mailcow.conf from n to y and restart the affected containers with docker compose up -d.

    The mailcow will now use the Vendor Certificates located in your mailcow directory under data/web/inc/lib/WebAuthn/rootCertificates.

    Example:

    If you want to limit the official Vendor devices to Apple only you only need the Apple Vendor Certificate inside the data/web/inc/lib/WebAuthn/rootCertificates. @@ -2661,7 +2678,7 @@ These vendor certificates are only used to verify original hardware, not to secu Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2777,7 +2794,7 @@ These vendor certificates are only used to verify original hardware, not to secu

    - + diff --git a/manual-guides/u_e-80_to_443/index.html b/manual-guides/u_e-80_to_443/index.html index da7247649..19a610cbe 100644 --- a/manual-guides/u_e-80_to_443/index.html +++ b/manual-guides/u_e-80_to_443/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2388,10 +2405,10 @@ }

    In case you changed the HTTP_BIND parameter, recreate the container:

    -
    docker-compose up -d
    +
    docker compose up -d
     

    Otherwise restart Nginx:

    -
    docker-compose restart nginx-mailcow
    +
    docker compose restart nginx-mailcow
     

    @@ -2399,7 +2416,7 @@ Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2515,7 +2532,7 @@
    - + diff --git a/manual-guides/u_e-autodiscover_config/index.html b/manual-guides/u_e-autodiscover_config/index.html index c11b2d2d3..f42925a43 100644 --- a/manual-guides/u_e-autodiscover_config/index.html +++ b/manual-guides/u_e-autodiscover_config/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2536,7 +2553,7 @@ $autodiscover_config = array(
    - + diff --git a/manual-guides/u_e-reeanble-weak-protocols/index.html b/manual-guides/u_e-reeanble-weak-protocols/index.html index 6081bd588..abaddbdbc 100644 --- a/manual-guides/u_e-reeanble-weak-protocols/index.html +++ b/manual-guides/u_e-reeanble-weak-protocols/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2379,7 +2396,7 @@ smtps_smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
    ssl_min_protocol = TLSv1
     

    Restart the affected services:

    -
    docker-compose restart postfix-mailcow dovecot-mailcow
    +
    docker compose restart postfix-mailcow dovecot-mailcow
     

    Hint: You can enable TLS 1.2 in Windows 7.

    @@ -2388,7 +2405,7 @@ smtps_smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3 Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2504,7 +2521,7 @@ smtps_smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
    - + diff --git a/manual-guides/u_e-update-hooks/index.html b/manual-guides/u_e-update-hooks/index.html index b58bcb673..c011071fc 100644 --- a/manual-guides/u_e-update-hooks/index.html +++ b/manual-guides/u_e-update-hooks/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2498,7 +2515,7 @@
    - + diff --git a/manual-guides/u_e-why_unbound/index.html b/manual-guides/u_e-why_unbound/index.html index f00cb51e0..8656efd31 100644 --- a/manual-guides/u_e-why_unbound/index.html +++ b/manual-guides/u_e-why_unbound/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2495,7 +2512,7 @@ Using a public resolver like Googles 4x8, OpenDNS or any other shared DNS resolv
    - + diff --git a/models/model-acl/index.html b/models/model-acl/index.html index 25ce9a387..2c0cc2437 100644 --- a/models/model-acl/index.html +++ b/models/model-acl/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2509,7 +2526,7 @@
    - + diff --git a/models/model-passwd/index.html b/models/model-passwd/index.html index a7c488c78..4aee89f71 100644 --- a/models/model-passwd/index.html +++ b/models/model-passwd/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2474,14 +2491,14 @@ With SOGo disabled, all hashing methods below will be able to be read by mailcow

    I changed the password hashes in the "mailbox" SQL table and cannot login.

    -

    A "view" needs to be updated. You can trigger this by restarting sogo-mailcow: docker-compose restart sogo-mailcow

    +

    A "view" needs to be updated. You can trigger this by restarting sogo-mailcow: docker compose restart sogo-mailcow


    Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2597,7 +2614,7 @@ With SOGo disabled, all hashing methods below will be able to be read by mailcow
    - + diff --git a/models/model-sender_rcv/index.html b/models/model-sender_rcv/index.html index 53b31d161..7ea4b1098 100644 --- a/models/model-sender_rcv/index.html +++ b/models/model-sender_rcv/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2571,7 +2588,7 @@ needs to grant you access as described above.

    - + diff --git a/post_installation/firststeps-disable_ipv6/index.html b/post_installation/firststeps-disable_ipv6/index.html index 6b94f915e..c3f2565fe 100644 --- a/post_installation/firststeps-disable_ipv6/index.html +++ b/post_installation/firststeps-disable_ipv6/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2371,10 +2388,10 @@

    This is ONLY recommended if you do not have an IPv6 enabled network on your host!

    If you really need to, you can disable the usage of IPv6 in the compose file. Additionally, you can also disable the startup of container "ipv6nat-mailcow", as it's not needed if you won't use IPv6.

    -

    Instead of editing docker-compose.yml directly, it is preferable to create an override file for it +

    Instead of editing docker compose.yml directly, it is preferable to create an override file for it and implement your changes to the service there. Unfortunately, this right now only seems to work for services, not for network settings.

    -

    To disable IPv6 on the mailcow network, open docker-compose.yml with your favourite text editor and search for the network section (it's near the bottom of the file).

    -

    1. Modify docker-compose.yml

    +

    To disable IPv6 on the mailcow network, open docker compose.yml with your favourite text editor and search for the network section (it's near the bottom of the file).

    +

    1. Modify docker compose.yml

    Change enable_ipv6: true to enable_ipv6: false:

    networks:
       mailcow-network:
    @@ -2383,10 +2400,10 @@ and implement your changes to the service there. Unfortunately, this right now o
         [...]
     

    2. Disable ipv6nat-mailcow

    -

    To disable the ipv6nat-mailcow container as well, go to your mailcow directory and create a new file called "docker-compose.override.yml":

    +

    To disable the ipv6nat-mailcow container as well, go to your mailcow directory and create a new file called "docker compose.override.yml":

    NOTE: If you already have an override file, of course don't recreate it, but merge the lines below into your existing one accordingly!

    # cd /opt/mailcow-dockerized
    -# touch docker-compose.override.yml
    +# touch docker compose.override.yml
     

    Open the file in your favourite text editor and fill in the following:

    version: '2.1'
    @@ -2398,8 +2415,8 @@ services:
           entrypoint: ["echo", "ipv6nat disabled in compose.override.yml"]
     

    For these changes to be effective, you need to fully stop and then restart the stack, so containers and networks are recreated:

    -
    docker-compose down
    -docker-compose up -d
    +
    docker compose down
    +docker compose up -d
     

    3. Disable IPv6 in unbound-mailcow

    Edit data/conf/unbound/unbound.conf and set do-ip6 to "no":

    @@ -2409,7 +2426,7 @@ docker-compose up -d [...]

    Restart Unbound:

    -
    docker-compose restart unbound-mailcow
    +
    docker compose restart unbound-mailcow
     

    4. Disable IPv6 in postfix-mailcow

    Create data/conf/postfix/extra.cf and set smtp_address_preference to ipv4:

    @@ -2417,7 +2434,7 @@ docker-compose up -d inet_protocols = ipv4

    Restart Postfix:

    -
    docker-compose restart postfix-mailcow
    +
    docker compose restart postfix-mailcow
     

    5. If your docker daemon completly disabled IPv6:

    Fix the following NGINX, Dovecot and php-fpm config files

    @@ -2433,7 +2450,7 @@ sed -i 's/\[::\]://g' data/conf/phpfpm/php-fpm.d/pools.conf Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2549,7 +2566,7 @@ sed -i 's/\[::\]://g' data/conf/phpfpm/php-fpm.d/pools.conf
    - + diff --git a/post_installation/firststeps-dmarc_reporting/index.html b/post_installation/firststeps-dmarc_reporting/index.html index 0375d5e5d..0f44a9356 100644 --- a/post_installation/firststeps-dmarc_reporting/index.html +++ b/post_installation/firststeps-dmarc_reporting/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2510,7 +2527,7 @@ keys_expire = 2d; }
    -

    Create or modify docker-compose.override.yml in the mailcow-dockerized base directory:

    +

    Create or modify docker compose.override.yml in the mailcow-dockerized base directory:

    version: '2.1'
     
     services:
    @@ -2525,7 +2542,7 @@ services:
         depends_on:
           - rspamd-mailcow
     
    -

    Run docker-compose up -d

    +

    Run docker compose up -d

    Send a copy reports to yourself

    To receive a hidden copy of reports generated by Rspamd you can set a bcc_addrs list in the reporting config section of data/conf/rspamd/local.d/dmarc.conf:

    reporting {
    @@ -2542,20 +2559,20 @@ services:
     
     

    Troubleshooting

    Check when the report schedule last ran:

    -
    docker-compose exec rspamd-mailcow date -r /var/lib/rspamd/dmarc_reports_last_log
    +
    docker compose exec rspamd-mailcow date -r /var/lib/rspamd/dmarc_reports_last_log
     

    See the latest report output:

    -
    docker-compose exec rspamd-mailcow cat /var/lib/rspamd/dmarc_reports_last_log
    +
    docker compose exec rspamd-mailcow cat /var/lib/rspamd/dmarc_reports_last_log
     

    Manually trigger a DMARC report:

    -
    docker-compose exec rspamd-mailcow rspamadm dmarc_report
    +
    docker compose exec rspamd-mailcow rspamadm dmarc_report
     

    Validate that Rspamd has recorded data in Redis: Change 20220428 to date which you interested in.

    -

    docker-compose exec redis-mailcow redis-cli SMEMBERS "dmarc_idx;20220428"
    +

    docker compose exec redis-mailcow redis-cli SMEMBERS "dmarc_idx;20220428"
     
    Take one of the lines from output you interested in and request it, f.e.: -
    docker-compose exec redis-mailcow redis-cli ZRANGE "dmarc_rpt;microsoft.com;mailto:d@rua.agari.com;20220428" 0 49
    +
    docker compose exec redis-mailcow redis-cli ZRANGE "dmarc_rpt;microsoft.com;mailto:d@rua.agari.com;20220428" 0 49
     

    Change DMARC reporting frequency

    In the example above reports are sent once every 24 hours.

    @@ -2563,13 +2580,13 @@ Take one of the lines from output you interested in and request it, f.e.:

    To change schedule:

    1. -

      Edit docker-compose.override.yml and a djust ofelia.job-exec.rspamd_dmarc_reporting.schedule: "@every 24h" to a desired value, for example to "@midnight"

      +

      Edit docker compose.override.yml and a djust ofelia.job-exec.rspamd_dmarc_reporting.schedule: "@every 24h" to a desired value, for example to "@midnight"

    2. -

      Run docker-compose up -d

      +

      Run docker compose up -d

    3. -

      Run docker-compose restart ofelia-mailcow

      +

      Run docker compose restart ofelia-mailcow

    Disable DMARC Reporting

    @@ -2579,10 +2596,10 @@ Take one of the lines from output you interested in and request it, f.e.:

    Set enabled to false in data/conf/rspamd/local.d/dmarc.conf

  • -

    Revert changes done in docker-compose.override.yml to rspamd-mailcow and ofelia-mailcow

    +

    Revert changes done in docker compose.override.yml to rspamd-mailcow and ofelia-mailcow

  • -

    Run docker-compose up -d

    +

    Run docker compose up -d

  • @@ -2591,7 +2608,7 @@ Take one of the lines from output you interested in and request it, f.e.: Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2707,7 +2724,7 @@ Take one of the lines from output you interested in and request it, f.e.:
    - + diff --git a/post_installation/firststeps-ip_bindings/index.html b/post_installation/firststeps-ip_bindings/index.html index 410960aa8..0ad97d32b 100644 --- a/post_installation/firststeps-ip_bindings/index.html +++ b/post_installation/firststeps-ip_bindings/index.html @@ -69,6 +69,23 @@
    + +
    @@ -2463,11 +2480,11 @@ DOVEADM_PORT=127.0.0.1:19991 SQL_PORT=127.0.0.1:13306 SOLR_PORT=127.0.0.1:18983
    -

    To apply your changes, run docker-compose down followed by docker-compose up -d.

    +

    To apply your changes, run docker compose down followed by docker compose up -d.

    IPv6 binding

    Changing IPv6 bindings is different from IPv4. Again, this has a technical background.

    -

    A docker-compose.override.yml file will be used instead of editing the docker-compose.yml file directly. This is to maintain updatability, as the docker-compose.yml file gets updated regularly and your changes will most likely be overwritten.

    -

    Edit to create a file docker-compose.override.yml with the following content. Its content will be merged with the productive docker-compose.yml file.

    +

    A docker compose.override.yml file will be used instead of editing the docker compose.yml file directly. This is to maintain updatability, as the docker compose.yml file gets updated regularly and your changes will most likely be overwritten.

    +

    Edit to create a file docker compose.override.yml with the following content. Its content will be merged with the productive docker compose.yml file.

    An example IPv6 2001:db8:dead:beef::123 is given. The first suffix :PORT1 defines the external port, while the second suffix :PORT2 routes to the corresponding port inside the container and must not be changed.

    version: '2.1'
     services:
    @@ -2491,14 +2508,14 @@ services:
             - '[2001:db8:dead:beef::123]:80:80'
             - '[2001:db8:dead:beef::123]:443:443'
     
    -

    To apply your changes, run docker-compose down followed by docker-compose up -d.

    +

    To apply your changes, run docker compose down followed by docker compose up -d.


    Last update: - 2022-06-23 15:17:00 + 2022-08-31 14:45:46 @@ -2614,7 +2631,7 @@ services:
    - + diff --git a/post_installation/firststeps-local_mta/index.html b/post_installation/firststeps-local_mta/index.html index cbf626b69..999b5d13e 100644 --- a/post_installation/firststeps-local_mta/index.html +++ b/post_installation/firststeps-local_mta/index.html @@ -64,6 +64,23 @@
    + +
    @@ -2505,7 +2522,7 @@ Relaying over this interface is necessary (instead of - for example - relaying d
    - + diff --git a/post_installation/firststeps-logging/index.html b/post_installation/firststeps-logging/index.html index 4daad443b..8c43c9450 100644 --- a/post_installation/firststeps-logging/index.html +++ b/post_installation/firststeps-logging/index.html @@ -69,6 +69,23 @@
    + +
    @@ -562,10 +579,10 @@
  • - Via docker-compose.override.yml + Via docker compose.override.yml -