diff --git a/docs/backup_restore/b_n_r-accidental_deletion.de.md b/docs/backup_restore_migrate/b_r_m-accidental_deletion.de.md similarity index 100% rename from docs/backup_restore/b_n_r-accidental_deletion.de.md rename to docs/backup_restore_migrate/b_r_m-accidental_deletion.de.md diff --git a/docs/backup_restore/b_n_r-accidental_deletion.en.md b/docs/backup_restore_migrate/b_r_m-accidental_deletion.en.md similarity index 100% rename from docs/backup_restore/b_n_r-accidental_deletion.en.md rename to docs/backup_restore_migrate/b_r_m-accidental_deletion.en.md diff --git a/docs/backup_restore/b_n_r-backup.de.md b/docs/backup_restore_migrate/b_r_m-backup.de.md similarity index 98% rename from docs/backup_restore/b_n_r-backup.de.md rename to docs/backup_restore_migrate/b_r_m-backup.de.md index c0201aef2..dd9fd5029 100644 --- a/docs/backup_restore/b_n_r-backup.de.md +++ b/docs/backup_restore_migrate/b_r_m-backup.de.md @@ -68,7 +68,7 @@ Das folgende Skript kann in `/etc/cron.daily/mailcow-backup` platziert werden - #!/bin/sh # Backup mailcow data -# https://mailcow.github.io/mailcow-dockerized-docs/b_n_r_backup/ +# https://mailcow.github.io/mailcow-dockerized-docs/b_r_m_backup/ set -e diff --git a/docs/backup_restore/b_n_r-backup.en.md b/docs/backup_restore_migrate/b_r_m-backup.en.md similarity index 99% rename from docs/backup_restore/b_n_r-backup.en.md rename to docs/backup_restore_migrate/b_r_m-backup.en.md index 9b21a3a0e..21cb844d5 100644 --- a/docs/backup_restore/b_n_r-backup.en.md +++ b/docs/backup_restore_migrate/b_r_m-backup.en.md @@ -68,7 +68,7 @@ This following script may be placed in `/etc/cron.daily/mailcow-backup` - do not #!/bin/sh # Backup mailcow data -# https://mailcow.github.io/mailcow-dockerized-docs/backup_restore/b_n_r-backup/ +# https://mailcow.github.io/mailcow-dockerized-docs/backup_restore_migrate/b_r_m-backup/ set -e diff --git a/docs/backup_restore/b_n_r-backup_restore-maildir.de.md b/docs/backup_restore_migrate/b_r_m-backup_restore-maildir.de.md similarity index 100% rename from docs/backup_restore/b_n_r-backup_restore-maildir.de.md rename to docs/backup_restore_migrate/b_r_m-backup_restore-maildir.de.md diff --git a/docs/backup_restore/b_n_r-backup_restore-maildir.en.md b/docs/backup_restore_migrate/b_r_m-backup_restore-maildir.en.md similarity index 100% rename from docs/backup_restore/b_n_r-backup_restore-maildir.en.md rename to docs/backup_restore_migrate/b_r_m-backup_restore-maildir.en.md diff --git a/docs/backup_restore/b_n_r-backup_restore-mysql.de.md b/docs/backup_restore_migrate/b_r_m-backup_restore-mysql.de.md similarity index 100% rename from docs/backup_restore/b_n_r-backup_restore-mysql.de.md rename to docs/backup_restore_migrate/b_r_m-backup_restore-mysql.de.md diff --git a/docs/backup_restore/b_n_r-backup_restore-mysql.en.md b/docs/backup_restore_migrate/b_r_m-backup_restore-mysql.en.md similarity index 100% rename from docs/backup_restore/b_n_r-backup_restore-mysql.en.md rename to docs/backup_restore_migrate/b_r_m-backup_restore-mysql.en.md diff --git a/docs/backup_restore/b_n_r-coldstandby.de.md b/docs/backup_restore_migrate/b_r_m-coldstandby.de.md similarity index 100% rename from docs/backup_restore/b_n_r-coldstandby.de.md rename to docs/backup_restore_migrate/b_r_m-coldstandby.de.md diff --git a/docs/backup_restore/b_n_r-coldstandby.en.md b/docs/backup_restore_migrate/b_r_m-coldstandby.en.md similarity index 100% rename from docs/backup_restore/b_n_r-coldstandby.en.md rename to docs/backup_restore_migrate/b_r_m-coldstandby.en.md diff --git a/docs/backup_restore/b_n_r-restore.de.md b/docs/backup_restore_migrate/b_r_m-restore.de.md similarity index 100% rename from docs/backup_restore/b_n_r-restore.de.md rename to docs/backup_restore_migrate/b_r_m-restore.de.md diff --git a/docs/backup_restore/b_n_r-restore.en.md b/docs/backup_restore_migrate/b_r_m-restore.en.md similarity index 100% rename from docs/backup_restore/b_n_r-restore.en.md rename to docs/backup_restore_migrate/b_r_m-restore.en.md diff --git a/docs/backup_restore_migrate/b_r_m_migration.de.md b/docs/backup_restore_migrate/b_r_m_migration.de.md new file mode 100644 index 000000000..94f7c09a7 --- /dev/null +++ b/docs/backup_restore_migrate/b_r_m_migration.de.md @@ -0,0 +1,179 @@ +## ...innerhalb desselben Systemtyps (x86 auf x86, ARM64 auf ARM64 usw.) + +!!! warning "Warnung" + Diese Anleitung geht davon aus, dass Sie einen bestehenden mailcow-Server (Quelle) auf einen neuen, leeren Server (Ziel) migrieren wollen. Seien Sie sich bewusst, dass, wenn Sie dieser Anleitung folgen, **ALLE** Docker Volumes (standardmäßig `/var/lib/docker/volumes`) und somit alle Daten in diesen Volumes gelöscht werden. + +!!! tip "Tipp" + 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` (aus dem Backup Ordner) und verwenden das gleiche Skript, um Ihr Backup auf der Zielmaschine wiederherzustellen. + +**1\.** +Befolgen Sie die [Installationsanleitung](../getting-started/i_u_m_install.de.md) von Docker und Compose. + +**2\.** Stoppen Sie Docker und stellen Sie sicher, dass Docker gestoppt wurde: +``` +systemctl stop docker.service +systemctl status docker.service +``` + +**3\.** Führen Sie die folgenden Befehle auf dem Quellcomputer aus (achten Sie darauf, die Schrägstriche am Ende des ersten Pfadparameters wie unten gezeigt hinzuzufügen). + +!!! danger "Vorsicht" + Dieser Befehl (der Zweite) löscht alles, was sich bereits unter `/var/lib/docker/volumes` auf dem Zielserver befindet. Stellen Sie also sicher, dass sich nichts Wichtiges mehr auf dem Zielserver befindet, bevor Sie die folgenden Befehle ausführen! + +``` +rsync -aHhP --numeric-ids --delete /opt/mailcow-dockerized/ root@target-machine.example.com:/opt/mailcow-dockerized +rsync -aHhP --numeric-ids --delete /var/lib/docker/volumes/ root@target-machine.example.com:/var/lib/docker/volumes +``` + +**4\.** Fahren Sie mailcow herunter und stoppen Sie Docker auf dem Quellrechner. +=== "docker compose (Plugin)" + + ``` bash + cd /opt/mailcow-dockerized + docker compose down + systemctl stop docker.service + ``` + +=== "docker-compose (Standalone)" + + ``` bash + cd /opt/mailcow-dockerized + docker-compose down + systemctl stop docker.service + ``` + +**5\.** Wiederholen Sie Schritt 3 mit den gleichen Befehlen. Dies geht wesentlich schneller als beim ersten Mal, da diesmal nur die Unterschiede (Diffs) synchronisiert werden müssen. + +**6\.** Wechseln Sie auf den Zielrechner und starten Sie Docker. +``` +systemctl start docker.service +``` + +**7\.** Laden Sie die Docker Images für mailcow auf dem Zielserver herunter. +=== "docker compose (Plugin)" + + ``` bash + cd /opt/mailcow-dockerized + docker compose pull + ``` + +=== "docker-compose (Standalone)" + + ``` bash + cd /opt/mailcow-dockerized + docker-compose pull + ``` + +**8\.** Starten Sie den gesamten mailcow-Stack und warten Sie einen Moment. +=== "docker compose (Plugin)" + + ``` bash + docker compose up -d + ``` + +=== "docker-compose (Standalone)" + + ``` bash + docker compose up -d + ``` +Wenn alles funktioniert hat, sollte mailcow auf dem neuen Server genauso aussehen und funktionieren wie auf dem alten Server! + +**9\.** Zum Schluss ändern Sie Ihre DNS-Einstellungen so, dass sie auf den Zielserver zeigen. Überprüfen und ändern Sie ggf. die Variable `SNAT_TO_SOURCE` in der Datei `mailcow.conf` im Verzeichnis mailcow-dockerized, da SOGo sonst nicht richtig funktioniert, wenn die ausgehende IP unterschiedlich ist. + +**10\.** Freude an mailcow auf dem neuen Server haben! :grinning: + +--- + +## ...auf einen anderen Systemtyp (x86 auf ARM64 und umgekehrt) + +!!! warning "Warnung" + Diese Anleitung geht davon aus, dass Sie einen bestehenden mailcow-Server (Quelle) auf einen neuen, leeren Server (Ziel) migrieren wollen. Seien Sie sich bewusst, dass, wenn Sie dieser Anleitung folgen, **ALLE** Docker Volumes (standardmäßig `/var/lib/docker/volumes`) und somit alle Daten in diesen Volumes gelöscht werden. + +!!! info "Hinweis" + Alternativ können Sie das Skript `./helper-scripts/backup_and_restore.sh` verwenden, um ein vollständiges Backup auf der Quellmaschine zu erstellen. + + In diesem Fall sollten Sie jedoch Rspamd aus dem Backup-Prozess ausschließen (verwenden Sie nicht `all` als Backup-Option), da es sonst aufgrund von Architekturunterschieden zu Problemen während des Startvorgangs kommen kann. + + Installieren Sie dann mailcow auf der Zielmaschine wie gewohnt, kopieren Sie Ihre mailcow.conf (aus dem Backup-Ordner) und verwenden Sie dasselbe Skript, um Ihr Backup auf der Zielmaschine wiederherzustellen. + +**1\.** +Befolgen Sie die [Installationsanleitung](../getting-started/i_u_m_install.de.md) von Docker und Compose. + +**2\.** Stoppen Sie Docker und stellen Sie sicher, dass Docker gestoppt wurde: +``` +systemctl stop docker.service +systemctl status docker.service +``` + +**3\.** Führen Sie die folgenden Befehle auf dem Quellcomputer aus (achten Sie darauf, die Schrägstriche am Ende des ersten Pfadparameters wie unten gezeigt hinzuzufügen). + +!!! danger "Vorsicht" + Dieser Befehl (der Zweite) löscht alles, was sich bereits unter `/var/lib/docker/volumes` auf dem Zielserver befindet. Stellen Sie also sicher, dass sich nichts Wichtiges mehr auf dem Zielserver befindet, bevor Sie die folgenden Befehle ausführen! + +``` +rsync -aHhP --numeric-ids --delete /opt/mailcow-dockerized/ root@target-machine.example.com:/opt/mailcow-dockerized +rsync -aHhP --numeric-ids --exclude --exclude=*rspamd-vol* --delete /var/lib/docker/volumes/ root@target-machine.example.com:/var/lib/docker/volumes +``` + +!!! info "Hinweis" + Im Vergleich zur Migration auf die gleiche Architektur wird hier das Rspamd-Volume ausgelassen, da es sonst zu Problemen beim Start des Rspamd-Containers kommen kann. + + Die entsprechenden Daten des Rspamd-Volumes werden jedoch beim ersten Start auf der neuen Architektur automatisch regeneriert, so dass es keinen Unterschied in der Nutzung geben sollte. + + +**4\.** Fahren Sie mailcow herunter und stoppen Sie Docker auf dem Quellrechner. +=== "docker compose (Plugin)" + + ``` bash + cd /opt/mailcow-dockerized + docker compose down + systemctl stop docker.service + ``` + +=== "docker-compose (Standalone)" + + ``` bash + cd /opt/mailcow-dockerized + docker-compose down + systemctl stop docker.service + ``` + +**5\.** Wiederholen Sie Schritt 3 mit den gleichen Befehlen. Dies geht wesentlich schneller als beim ersten Mal, da diesmal nur die Unterschiede (Diffs) synchronisiert werden müssen. + +**6\.** Wechseln Sie auf den Zielrechner und starten Sie Docker. +``` +systemctl start docker.service +``` + +**7\.** Laden Sie die Docker Images für mailcow auf dem Zielserver herunter. +=== "docker compose (Plugin)" + + ``` bash + cd /opt/mailcow-dockerized + docker compose pull + ``` + +=== "docker-compose (Standalone)" + + ``` bash + cd /opt/mailcow-dockerized + docker-compose pull + ``` + +**8\.** Starten Sie den gesamten mailcow-Stack und warten Sie einen Moment. +=== "docker compose (Plugin)" + + ``` bash + docker compose up -d + ``` + +=== "docker-compose (Standalone)" + + ``` bash + docker compose up -d + ``` +Wenn alles funktioniert hat, sollte mailcow auf dem neuen Server genauso aussehen und funktionieren wie auf dem alten Server! + +**9\.** Zum Schluss ändern Sie Ihre DNS-Einstellungen so, dass sie auf den Zielserver zeigen. Überprüfen und ändern Sie ggf. die Variable `SNAT_TO_SOURCE` in der Datei `mailcow.conf` im Verzeichnis mailcow-dockerized, da SOGo sonst nicht richtig funktioniert, wenn die ausgehende IP unterschiedlich ist. + +**10\.** Freude an mailcow auf dem neuen Server haben! :grinning: diff --git a/docs/i_u_m/i_u_m_migration.en.md b/docs/backup_restore_migrate/b_r_m_migration.en.md similarity index 73% rename from docs/i_u_m/i_u_m_migration.en.md rename to docs/backup_restore_migrate/b_r_m_migration.en.md index f18f2e6b3..f829c1130 100644 --- a/docs/i_u_m/i_u_m_migration.en.md +++ b/docs/backup_restore_migrate/b_r_m_migration.en.md @@ -1,3 +1,5 @@ +### Migration within the same system type (x86 to x86, ARM64 to ARM64, etc.) + !!! warning This guide assumes you intend to migrate an existing mailcow server (source) over to a brand new, empty server (target). It takes no care about preserving any existing data on your target server and will erase anything within `/var/lib/docker/volumes` and thus any Docker volumes you may have already set up. @@ -5,7 +7,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\.** -Follow the [installation guide](i_u_m_install.en.md) to install Docker and Compose. +Follow the [installation guide](../getting-started/i_u_m_install.en.md) to install Docker and Compose. **2\.** Stop Docker and assure Docker has stopped: ``` @@ -13,7 +15,11 @@ systemctl stop docker.service systemctl status docker.service ``` -**3\.** Run the following commands on the source machine (take care of adding the trailing slashes in the first path parameter as shown below!) - **WARNING: This command will erase anything that may already exist under `/var/lib/docker/volumes` on the target machine**: +**3\.** Run the following commands on the source machine (take care of adding the trailing slashes in the first path parameter as shown below!) + +!!! danger + This command (the second one) deletes everything that is already under `/var/lib/docker/volumes` on the target server. So make sure that nothing important is left on the target server before running the following commands! + ``` rsync -aHhP --numeric-ids --delete /opt/mailcow-dockerized/ root@target-machine.example.com:/opt/mailcow-dockerized rsync -aHhP --numeric-ids --delete /var/lib/docker/volumes/ root@target-machine.example.com:/var/lib/docker/volumes @@ -36,7 +42,7 @@ rsync -aHhP --numeric-ids --delete /var/lib/docker/volumes/ root@target-machine. systemctl stop docker.service ``` -**5\.** Repeat step 3 with the same commands. This will be much quicker than the first time. +**5\.** Repeat step 3 with the same commands. This is much faster than the first time, because this time only the diffs have to be synchronized. **6\.** Switch over to the target machine and start Docker. ``` @@ -58,7 +64,7 @@ systemctl start docker.service docker-compose pull ``` -**8\.** Start the whole mailcow stack and everything should be done! +**8\.** Start the whole mailcow stack and wait a moment. === "docker compose (Plugin)" ``` bash @@ -70,5 +76,10 @@ systemctl start docker.service ``` bash docker compose up -d ``` +If everything worked, mailcow should look and work the same on the new server as it did on the old one! **9\.** Finally, change your DNS settings to point to the target server. Also check the `SNAT_TO_SOURCE` variable in your `mailcow.conf` file if you have changed your public IP address, otherwise SOGo may not work. + +**10\.** Enjoy mailcow on the new server! :grinning: + +--- \ No newline at end of file diff --git a/docs/i_u_m/i_u_m_deinstall.de.md b/docs/getting-started/i_u_m_deinstall.de.md similarity index 100% rename from docs/i_u_m/i_u_m_deinstall.de.md rename to docs/getting-started/i_u_m_deinstall.de.md diff --git a/docs/i_u_m/i_u_m_deinstall.en.md b/docs/getting-started/i_u_m_deinstall.en.md similarity index 100% rename from docs/i_u_m/i_u_m_deinstall.en.md rename to docs/getting-started/i_u_m_deinstall.en.md diff --git a/docs/i_u_m/i_u_m_install.de.md b/docs/getting-started/i_u_m_install.de.md similarity index 100% rename from docs/i_u_m/i_u_m_install.de.md rename to docs/getting-started/i_u_m_install.de.md diff --git a/docs/i_u_m/i_u_m_install.en.md b/docs/getting-started/i_u_m_install.en.md similarity index 100% rename from docs/i_u_m/i_u_m_install.en.md rename to docs/getting-started/i_u_m_install.en.md diff --git a/docs/i_u_m/i_u_m_update.de.md b/docs/getting-started/i_u_m_update.de.md similarity index 97% rename from docs/i_u_m/i_u_m_update.de.md rename to docs/getting-started/i_u_m_update.de.md index f92c8fe8c..fc901d52a 100644 --- a/docs/i_u_m/i_u_m_update.de.md +++ b/docs/getting-started/i_u_m_update.de.md @@ -123,6 +123,6 @@ Sollte alles problemlos geklappt haben (wofür wir ja auch vorsichtshalber ein B !!! info Wir empfehlen die Benutzung des Nightly Updates nur dann, wenn Ihr eine weitere Maschine oder VM besitzt und diese **NICHT** Produktiv nutzt. -1. Das [Cold-Standby Skript](../backup_restore/b_n_r-coldstandby.de.md) nutzen um die Maschine **vor** dem Schwenk auf die Nightly Builds auf ein anderes System zu kopieren. +1. Das [Cold-Standby Skript](../backup_restore_migrate/b_r_m-coldstandby.de.md) nutzen um die Maschine **vor** dem Schwenk auf die Nightly Builds auf ein anderes System zu kopieren. 2. Das `update.sh` Skript auf der neuen Maschine mit dem Parameter `--nightly` ausführen und bestätigen. 3. Die Nightly Updates auf der sekundären Maschine erleben/testen. diff --git a/docs/i_u_m/i_u_m_update.en.md b/docs/getting-started/i_u_m_update.en.md similarity index 96% rename from docs/i_u_m/i_u_m_update.en.md rename to docs/getting-started/i_u_m_update.en.md index e6b32f9e0..02da65654 100644 --- a/docs/i_u_m/i_u_m_update.en.md +++ b/docs/getting-started/i_u_m_update.en.md @@ -123,6 +123,6 @@ If everything worked fine (for which we made a backup before) the mailcow UI sho !!! 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](../backup_restore/b_n_r-coldstandby.en.md) to copy the machine **before** the switch to the nightly builds on another system. +1. use the [cold standby script](../backup_restore_migrate/b_r_m-coldstandby.en.md) to copy the machine **before** the switch to the nightly builds on another system. 2. run the `update.sh` script on the new machine with the parameter `--nightly` and confirm. 3. experience/test the nightly updates on the secondary machine. diff --git a/docs/prerequisite/prerequisite-dns.de.md b/docs/getting-started/prerequisite-dns.de.md similarity index 100% rename from docs/prerequisite/prerequisite-dns.de.md rename to docs/getting-started/prerequisite-dns.de.md diff --git a/docs/prerequisite/prerequisite-dns.en.md b/docs/getting-started/prerequisite-dns.en.md similarity index 100% rename from docs/prerequisite/prerequisite-dns.en.md rename to docs/getting-started/prerequisite-dns.en.md diff --git a/docs/prerequisite/prerequisite-system.de.md b/docs/getting-started/prerequisite-system.de.md similarity index 94% rename from docs/prerequisite/prerequisite-system.de.md rename to docs/getting-started/prerequisite-system.de.md index 1d696f0bd..cd2c35ed9 100644 --- a/docs/prerequisite/prerequisite-system.de.md +++ b/docs/getting-started/prerequisite-system.de.md @@ -6,7 +6,7 @@ Bevor Sie **mailcow: dockerized** ausführen, sollten Sie einige Voraussetzungen !!! info - mailcow: dockerized erfordert, dass [einige Ports](#standard-ports) für eingehende Verbindungen offen sind, also stellen Sie sicher, dass Ihre Firewall diese nicht blockiert. - Stellen Sie sicher, dass keine andere Anwendung die Konfiguration von mailcow stört, wie z.B. ein anderer Maildienst - - Ein korrektes DNS-Setup ist entscheidend für jedes gute Mailserver-Setup, also stellen Sie bitte sicher, dass Sie zumindest die [basics](../prerequisite/prerequisite-dns.de.md#die-minimale-dns-konfiguration) abgedeckt haben, bevor Sie beginnen! + - Ein korrektes DNS-Setup ist entscheidend für jedes gute Mailserver-Setup, also stellen Sie bitte sicher, dass Sie zumindest die [basics](prerequisite-dns.de.md#die-minimale-dns-konfiguration) abgedeckt haben, bevor Sie beginnen! - Stellen Sie sicher, dass Ihr System ein korrektes Datum und eine korrekte [Zeiteinstellung](#datum-und-uhrzeit) hat. Dies ist entscheidend für verschiedene Komponenten wie die Zwei-Faktor-TOTP-Authentifizierung. ## Minimale Systemressourcen @@ -21,9 +21,9 @@ Bitte stellen Sie sicher, dass Ihr System mindestens über die folgenden Ressour | CPU | 1 GHz | | RAM | **Minimum** 6 GiB + 1 GiB Swap (Standardkonfiguration) | | Festplatte | 20 GiB (ohne Emails) | -| Systemtyp | x86_64 | +| Systemtyp | x86_64, **AArch64 (ARM64)** :warning:{ title="Aktuell in Arbeit, Stabilität kann evtl. beeinträchtigt sein" } | -ClamAV und Solr können sehr viel Arbeitspeicher verbrauchen. Sie können diese in der `mailcow.conf` durch die Einstellungen `SKIP_CLAMD=y` und `SKIP_SOLR=y` jedoch auch deaktivieren. +ClamAV und Solr können sehr viel Arbeitsspeicher verbrauchen. Sie können diese in der `mailcow.conf` durch die Einstellungen `SKIP_CLAMD=y` und `SKIP_SOLR=y` jedoch auch deaktivieren. !!! info Wir sind uns bewusst, dass ein reiner MTA auf 128 MiB RAM laufen kann. @@ -199,4 +199,4 @@ Sie können außerdem die [cloud-init Netzwerkänderungen deaktivieren.](https:/ ## MTU -Besonders relevant für OpenStack-Benutzer: Überprüfen Sie Ihre MTU und setzen Sie sie entsprechend in docker-compose.yml. Siehe [Problebehandlungen](../i_u_m/i_u_m_install.de.md#benutzer-mit-einer-mtu-ungleich-1500-zb-openstack) in unseren Installationsanleitungen. +Besonders relevant für OpenStack-Benutzer: Überprüfen Sie Ihre MTU und setzen Sie sie entsprechend in docker-compose.yml. Siehe [Problebehandlungen](i_u_m_install.de.md#benutzer-mit-einer-mtu-ungleich-1500-zb-openstack) in unseren Installationsanleitungen. diff --git a/docs/prerequisite/prerequisite-system.en.md b/docs/getting-started/prerequisite-system.en.md similarity index 95% rename from docs/prerequisite/prerequisite-system.en.md rename to docs/getting-started/prerequisite-system.en.md index 44f871cef..804d95f1a 100644 --- a/docs/prerequisite/prerequisite-system.en.md +++ b/docs/getting-started/prerequisite-system.en.md @@ -6,7 +6,7 @@ Before you run **mailcow: dockerized**, there are a few requirements that you sh !!! info - mailcow: dockerized requires [some ports](#default-ports) to be open for incoming connections, so make sure that your firewall is not blocking these. - Make sure that no other application is interfering with mailcow's configuration, such as another mail service - - A correct DNS setup is crucial to every good mailserver setup, so please make sure you got at least the [basics](../prerequisite/prerequisite-dns.en.md#the-minimal-dns-configuration) covered before you begin! + - A correct DNS setup is crucial to every good mailserver setup, so please make sure you got at least the [basics](prerequisite-dns.en.md#the-minimal-dns-configuration) covered before you begin! - Make sure that your system has a correct date and [time setup](#date-and-time). This is crucial for various components like two factor TOTP authentication. ## Minimum System Resources @@ -21,7 +21,7 @@ Please make sure that your system has at least the following resources: | CPU | 1 GHz | | RAM | **Minimum** 6 GiB + 1 GiB swap (default config) | | Disk | 20 GiB (without emails) | -| System Type | x86_64 | +| System Type | x86_64, **AArch64 (ARM64)** :warning:{ title="Work in progress, Stability may possibly be affected" } | ClamAV and Solr can be greedy with RAM. You may disable them in `mailcow.conf` by settings `SKIP_CLAMD=y` and `SKIP_SOLR=y`. @@ -197,4 +197,4 @@ You may want to [disable cloud-init network changes.](https://wiki.hetzner.de/in ## MTU -Especially relevant for OpenStack users: Check your MTU and set it accordingly in docker-compose.yml. See [Troubleshooting](../i_u_m/i_u_m_install.md#users-with-a-mtu-not-equal-to-1500-eg-openstack) in our Installation guide. +Especially relevant for OpenStack users: Check your MTU and set it accordingly in docker-compose.yml. See [Troubleshooting](i_u_m_install.md#users-with-a-mtu-not-equal-to-1500-eg-openstack) in our Installation guide. diff --git a/docs/i_u_m/i_u_m_migration.de.md b/docs/i_u_m/i_u_m_migration.de.md deleted file mode 100644 index cee01120d..000000000 --- a/docs/i_u_m/i_u_m_migration.de.md +++ /dev/null @@ -1,74 +0,0 @@ -!!! warning "Warnung" - Diese Anleitung geht davon aus, dass Sie beabsichtigen, einen bestehenden mailcow-Server (Quelle) auf einen brandneuen, leeren Server (Ziel) zu migrieren. Sie kümmert sich nicht um die Erhaltung bestehender Daten auf dem Zielserver und löscht alles innerhalb von `/var/lib/docker/volumes` und somit alle Docker-Volumes, die Sie bereits eingerichtet haben. - -!!! tip - 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\.** -Befolgen Sie die [Installationsanleitung](i_u_m_install.de.md) von Docker und Compose. - -**2\.** Stoppen Sie Docker und stellen Sie sicher, dass Docker gestoppt wurde: -``` -systemctl stop docker.service -systemctl status docker.service -``` - -**3\.** Führen Sie die folgenden Befehle auf dem Quellcomputer aus (achten Sie darauf, die abschließenden Schrägstriche im ersten Pfadparameter wie unten gezeigt hinzuzufügen!) - **WARNUNG: Dieser Befehl löscht alles, was bereits unter `/var/lib/docker/volumes` auf dem Zielrechner existiert**: -``` -rsync -aHhP --numeric-ids --delete /opt/mailcow-dockerized/ root@target-machine.example.com:/opt/mailcow-dockerized -rsync -aHhP --numeric-ids --delete /var/lib/docker/volumes/ root@target-machine.example.com:/var/lib/docker/volumes -``` - -**4\.** Schalten Sie mailcow ab und stoppen Sie Docker auf dem Quellrechner. -=== "docker compose (Plugin)" - - ``` bash - cd /opt/mailcow-dockerized - docker compose down - systemctl stop docker.service - ``` - -=== "docker-compose (Standalone)" - - ``` bash - cd /opt/mailcow-dockerized - docker-compose down - systemctl stop docker.service - ``` - -**Wiederholen Sie Schritt 3 mit denselben Befehlen. Dies wird viel schneller gehen als beim ersten Mal. - -**6\.** Wechseln Sie auf den Zielrechner und starten Sie Docker. -``` -systemctl start docker.service -``` - -**7\.** Ziehen Sie nun die mailcow Docker-Images auf den Zielrechner. -=== "docker compose (Plugin)" - - ``` bash - cd /opt/mailcow-dockerized - docker compose pull - ``` - -=== "docker-compose (Standalone)" - - ``` bash - cd /opt/mailcow-dockerized - docker-compose pull - ``` - -**8\.** Starten Sie den gesamten mailcow-Stack und alles sollte fertig sein! -=== "docker compose (Plugin)" - - ``` bash - docker compose up -d - ``` - -=== "docker-compose (Standalone)" - - ``` bash - docker compose up -d - ``` - -**9\.** Zum Schluss ändern Sie Ihre DNS-Einstellungen so, dass sie auf den Zielserver zeigen. Prüfen und ändern Sie gegebenenfalls die `SNAT_TO_SOURCE` Variable in der `mailcow.conf` im mailcow-dockerized Ordner, da andernfalls SOGo nicht richtig funktioniert, wenn die ausgehende IP eine andere ist. diff --git a/docs/manual-guides/mailcow-UI/u_e-mailcow_ui-tags.de.md b/docs/manual-guides/mailcow-UI/u_e-mailcow_ui-tags.de.md index 31f89ec1f..e82b9c024 100644 --- a/docs/manual-guides/mailcow-UI/u_e-mailcow_ui-tags.de.md +++ b/docs/manual-guides/mailcow-UI/u_e-mailcow_ui-tags.de.md @@ -1,7 +1,7 @@ !!! info "Hinweis" Um diese Funktion nutzen zu können ist das Update 2022-05 (oder höher) erforderlich!
Sollten Sie das Update nicht installiert haben, denken Sie bitte über ein Update nach.
- Für weitere Informationen bezüglich dem Update Prozess schauen Sie [hier](../../i_u_m/i_u_m_update.md). + Für weitere Informationen bezüglich dem Update Prozess schauen Sie [hier](../../getting-started/i_u_m_update.md). ### Wofür wurden die Tags implementiert? Mit den Tags ist es deutlich einfacher gezielt nach Domains bzw. Mailboxen zu suchen (wenn diese einen Tag haben). diff --git a/docs/manual-guides/mailcow-UI/u_e-mailcow_ui-tags.en.md b/docs/manual-guides/mailcow-UI/u_e-mailcow_ui-tags.en.md index 3ddd7ad77..71c2a6c59 100644 --- a/docs/manual-guides/mailcow-UI/u_e-mailcow_ui-tags.en.md +++ b/docs/manual-guides/mailcow-UI/u_e-mailcow_ui-tags.en.md @@ -1,7 +1,7 @@ !!! info You need the mailcow Version 2022-05 at least for this feature.
If you don´t have the Version installed please consider a update.
- For more informations about a mailcow update please take a look at the [Update](../../i_u_m/i_u_m_update.md) section here in the docs. + For more informations about a mailcow update please take a look at the [Update](../../getting-started/i_u_m_update.md) section here in the docs. ### What are Tags designed for? With the Tags you can easily sort your Domains and Mailboxes by the tags instead of their name. diff --git a/docs/third_party/mailman3/third_party-mailman3.de.md b/docs/third_party/mailman3/third_party-mailman3.de.md index 4d272c266..5e5229353 100644 --- a/docs/third_party/mailman3/third_party-mailman3.de.md +++ b/docs/third_party/mailman3/third_party-mailman3.de.md @@ -32,7 +32,7 @@ Diese Anleitung basiert auf verschiedenen Schritten: ### DNS-Einrichtung -Der größte Teil der Konfiguration ist in *mailcow*s [DNS Konfiguration](../../prerequisite/prerequisite-dns.de.md) enthalten. Nachdem diese Einrichtung abgeschlossen ist, fügen Sie eine weitere Subdomain für *Mailman* hinzu, z.B. `lists.example.org`, die auf denselben Server zeigt: +Der größte Teil der Konfiguration ist in *mailcow*s [DNS Konfiguration](../../getting-started/prerequisite-dns.de.md) enthalten. Nachdem diese Einrichtung abgeschlossen ist, fügen Sie eine weitere Subdomain für *Mailman* hinzu, z.B. `lists.example.org`, die auf denselben Server zeigt: ``` # Name Typ Wert @@ -90,7 +90,7 @@ certbot certonly -d MAILMAN_DOMAIN #### Installieren Sie mailcow -Folgen Sie der [mailcow installation](../../i_u_m/i_u_m_install.de.md). **Schritt 5 auslassen und nicht mit starten!** +Folgen Sie der [mailcow installation](../../getting-started/i_u_m_install.de.md). **Schritt 5 auslassen und nicht mit starten!** #### mailcow konfigurieren @@ -328,13 +328,13 @@ Wenn man eine neue Liste anlegt und versucht, sofort eine E-Mail zu versenden, a ## Update -**mailcow** hat sein eigenes Update-Skript in `/opt/mailcow-dockerized/update.sh`, [siehe die Dokumentation](../../i_u_m/i_u_m_update.de.md). +**mailcow** hat sein eigenes Update-Skript in `/opt/mailcow-dockerized/update.sh`, [siehe die Dokumentation](../../getting-started/i_u_m_update.de.md). Für **Mailman** holen Sie sich einfach die neueste Version aus dem [github repository](https://github.com/maxking/docker-mailman). ## Sicherung -**mailcow** hat ein eigenes Backup-Skript. [Lies die Docs](../../backup_restore/b_n_r-backup.de.md) für weitere Informationen. +**mailcow** hat ein eigenes Backup-Skript. [Lies die Docs](../../backup_restore_migrate/b_r_m-backup.de.md) für weitere Informationen. **Mailman** gibt keine Backup-Anweisungen in der README.md an. Im [gitbucket von pgollor](https://gitbucket.pgollor.de/docker/mailman-mailcow-integration/blob/master/mailman-backup.sh) befindet sich ein Skript, das hilfreich sein könnte. diff --git a/docs/third_party/mailman3/third_party-mailman3.en.md b/docs/third_party/mailman3/third_party-mailman3.en.md index 2eef1f3bf..26b8a0d12 100644 --- a/docs/third_party/mailman3/third_party-mailman3.en.md +++ b/docs/third_party/mailman3/third_party-mailman3.en.md @@ -32,7 +32,7 @@ This guide is based on different steps: ### DNS setup -Most of the configuration is covered by *mailcow*s [DNS setup](../../prerequisite/prerequisite-dns.en.md). After finishing this setup add another subdomain for *Mailman*, e.g. `lists.example.org` that points to the same server: +Most of the configuration is covered by *mailcow*s [DNS setup](../../getting-started/prerequisite-dns.en.md). After finishing this setup add another subdomain for *Mailman*, e.g. `lists.example.org` that points to the same server: ``` # Name Type Value @@ -91,7 +91,7 @@ certbot certonly -d MAILMAN_DOMAIN #### Install mailcow -Follow the [mailcow installation](../../i_u_m/i_u_m_install.en.md). **Omit step 5 and do not pull and start!** +Follow the [mailcow installation](../../getting-started/i_u_m_install.en.md). **Omit step 5 and do not pull and start!** #### Configure mailcow @@ -329,13 +329,13 @@ When you create a new list and try to immediately send an e-mail, *postfix* resp ## Update -**mailcow** has it's own update script in `/opt/mailcow-dockerized/update.sh`, [see the docs](../../i_u_m/i_u_m_update.en.md). +**mailcow** has it's own update script in `/opt/mailcow-dockerized/update.sh`, [see the docs](../../getting-started/i_u_m_update.en.md). For **Mailman** just fetch the newest version from the [github repository](https://github.com/maxking/docker-mailman). ## Backup -**mailcow** has an own backup script. [Read the docs](../../backup_restore/b_n_r-backup.en.md) for further informations. +**mailcow** has an own backup script. [Read the docs](../../backup_restore_migrate/b_r_m-backup.en.md) for further informations. **Mailman** won't state backup instructions in the README.md. In the [gitbucket of pgollor](https://gitbucket.pgollor.de/docker/mailman-mailcow-integration/blob/master/mailman-backup.sh) is a script that may be helpful. diff --git a/docs/troubleshooting/debug-common_problems.de.md b/docs/troubleshooting/debug-common_problems.de.md index ec60a54a7..49a19c226 100644 --- a/docs/troubleshooting/debug-common_problems.de.md +++ b/docs/troubleshooting/debug-common_problems.de.md @@ -21,7 +21,7 @@ Escape-Zeichen ist '^]'. ## Meine Mails werden als Spam identifiziert -Bitte lesen Sie unsere [DNS-Konfiguration](../prerequisite/prerequisite-dns.de.md) Anleitung. +Bitte lesen Sie unsere [DNS-Konfiguration](../getting-started/prerequisite-dns.de.md) Anleitung. ## docker compose wirft seltsame Fehler aus. @@ -33,7 +33,7 @@ Bitte lesen Sie unsere [DNS-Konfiguration](../prerequisite/prerequisite-dns.de.m Wenn Sie eine oder ähnliche Meldungen erhalten, während Sie versuchen, mailcow: dockerized auszuführen, überprüfen Sie bitte, ob Sie die **aktuellste** Version von **Docker** und **docker compose** haben. -## Container XY ist ungesund +## Container XY ist "unhealthy" Dieser Fehler versucht Ihnen mitzuteilen, dass eine der (Gesundheits-)Bedingungen für einen bestimmten Container nicht erfüllt ist. Daher kann er nicht gestartet werden. Dies kann verschiedene Gründe haben, der häufigste ist ein aktualisierter Git-Klon, aber ein altes Docker-Image oder umgekehrt. @@ -50,7 +50,7 @@ Wenn Sie eine Fehlermeldung erhalten wie: ERROR: for postfix-mailcow Cannot start service postfix-mailcow: driver failed programming external connectivity on endpoint mailcowdockerized_postfix-mailcow_1: Error starting userland proxy: listen tcp 0.0.0:25: bind: address already in use ``` -während Sie versuchen, mailcow: dockerized zu starten / zu installieren, stellen Sie sicher, dass Sie unseren Abschnitt über [prerequisites](../prerequisite/prerequisite-system.de.md/#firewall-ports) befolgt haben. +Während Sie versuchen, mailcow: dockerized zu starten / zu installieren, stellen Sie sicher, dass Sie unseren Abschnitt über [prerequisites](../getting-started/prerequisite-system.de.md/#firewall-ports) befolgt haben. ## XYZ kann keine Verbindung zu ... @@ -132,10 +132,6 @@ Anschließend Rspamd neustarten mit: Nun kompiliert Rspamd die besagten Regex Maps wieder neu mit Hyperscan. -!!! warning "Achtung" - Das originale Hyperscan funktioniert (Stand Mai 2023) **NUR** auf x86. ARM64 wird voraussichtlich **nicht** offiziell von Intel supported[^3] - [^1]: [netcat](https://linux.die.net/man/1/nc), [nmap](https://linux.die.net/man/1/nmap), [openssl](https://wiki.openssl.org/index.php/Manual:S_client(1)), [telnet](https://linux.die.net/man/1/telnet), etc. [^2]: [Hyperscan](https://github.com/intel/hyperscan) -[^3]: [Status für Hyperscan auf ARM64](https://github.com/intel/hyperscan/pull/287#issuecomment-746558138) diff --git a/docs/troubleshooting/debug-common_problems.en.md b/docs/troubleshooting/debug-common_problems.en.md index 5e992327a..bd062c5d0 100644 --- a/docs/troubleshooting/debug-common_problems.en.md +++ b/docs/troubleshooting/debug-common_problems.en.md @@ -22,7 +22,7 @@ Escape character is '^]'. ## My mails are identified as Spam -Please read our guide on [DNS configuration](../prerequisite/prerequisite-dns.en.md). +Please read our guide on [DNS configuration](../getting-started/prerequisite-dns.en.md). ## docker compose throws weird errors @@ -51,7 +51,7 @@ If you get an error message like: ERROR: for postfix-mailcow Cannot start service postfix-mailcow: driver failed programming external connectivity on endpoint mailcowdockerized_postfix-mailcow_1: Error starting userland proxy: listen tcp 0.0.0.0:25: bind: address already in use ``` -while trying to start / install mailcow: dockerized, make sure you've followed our section on the [prerequisites](../prerequisite/prerequisite-system.en.md/#firewall-ports). +while trying to start / install mailcow: dockerized, make sure you've followed our section on the [prerequisites](../getting-started/prerequisite-system.en.md/#firewall-ports). ## XYZ can't connect to ... @@ -132,10 +132,6 @@ Restart Rspamd afterwards: Now Rspamd recompiles the said regex maps again with Hyperscan. -!!! warning - The original Hyperscan works (as of May 2023) **ONLY** on x86. ARM64 is **not** expected to be officially supported by Intel[^3] - [^1]: [netcat](https://linux.die.net/man/1/nc), [nmap](https://linux.die.net/man/1/nmap), [openssl](https://wiki.openssl.org/index.php/Manual:S_client(1)), [telnet](https://linux.die.net/man/1/telnet), etc. -[^2]: [Hyperscan](https://github.com/intel/hyperscan) -[^3]: [Status for Hyperscan on ARM64](https://github.com/intel/hyperscan/pull/287#issuecomment-746558138) \ No newline at end of file +[^2]: [Hyperscan](https://github.com/intel/hyperscan) \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 976a0611a..7129b6d85 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -28,6 +28,8 @@ theme: - content.tabs.link - search.share - search.highlight + - toc.follow + - toc.integrate markdown_extensions: - abbr @@ -47,17 +49,18 @@ markdown_extensions: - pymdownx.superfences - pymdownx.tabbed: alternate_style: true + - pymdownx.emoji: + emoji_index: !!python/name:materialx.emoji.twemoji + emoji_generator: !!python/name:materialx.emoji.to_svg nav: - - 'Information & Support': 'index.md' - - 'Prerequisites': - - 'Prepare your system': 'prerequisite/prerequisite-system.md' - - 'DNS setup': 'prerequisite/prerequisite-dns.md' - - 'Installation, Update & Migration': - - 'Installation': 'i_u_m/i_u_m_install.md' - - 'Update': 'i_u_m/i_u_m_update.md' - - 'Migration': 'i_u_m/i_u_m_migration.md' - - 'Deinstallation': 'i_u_m/i_u_m_deinstall.md' + - 'Home': 'index.md' + - 'Getting started': + - 'Prepare your system': 'getting-started/prerequisite-system.md' + - 'DNS setup': 'getting-started/prerequisite-dns.md' + - 'Installation': 'getting-started/i_u_m_install.md' + - 'Update': 'getting-started/i_u_m_update.md' + - 'Deinstallation': 'getting-started/i_u_m_deinstall.md' - 'Post Installation Tasks': - 'Advanced SSL': 'post_installation/firststeps-ssl.md' - 'Disable IPv6': 'post_installation/firststeps-disable_ipv6.md' @@ -85,16 +88,16 @@ nav: - 'Remove Persistent Data': 'troubleshooting/debug-rm_volumes.md' - 'Reset Passwords (incl. SQL)': 'troubleshooting/debug-reset_pw.md' - 'Reset TLS certificates': 'troubleshooting/debug-reset_tls.md' - - 'Backup & Restore': - - 'Component backup & restore': - - 'Backup': 'backup_restore/b_n_r-backup.md' - - 'Restore': 'backup_restore/b_n_r-restore.md' - - 'Cold-standby (rolling backup)': 'backup_restore/b_n_r-coldstandby.md' + - 'Backup, Restore & Migration': + - 'Backup': 'backup_restore_migrate/b_r_m-backup.md' + - 'Restore': 'backup_restore_migrate/b_r_m-restore.md' + - 'Migration': 'backup_restore_migrate/b_r_m_migration.md' + - 'Cold-standby (rolling backup)': 'backup_restore_migrate/b_r_m-coldstandby.md' - 'Manual backups': - - 'Maildir': 'backup_restore/b_n_r-backup_restore-maildir.md' - - 'MySQL (mysqldump)': 'backup_restore/b_n_r-backup_restore-mysql.md' + - 'Maildir': 'backup_restore_migrate/b_r_m-backup_restore-maildir.md' + - 'MySQL (mysqldump)': 'backup_restore_migrate/b_r_m-backup_restore-mysql.md' - 'mailcow-internal backups': - - 'Recover accidentally deleted data': 'backup_restore/b_n_r-accidental_deletion.md' + - 'Recover accidentally deleted data': 'backup_restore_migrate/b_r_m-accidental_deletion.md' - 'Manual/Guides/Examples': - 'mailcow UI': - 'Blacklist / Whitelist': 'manual-guides/mailcow-UI/u_e-mailcow_ui-bl_wl.md' @@ -177,13 +180,14 @@ plugins: default_language: en languages: en: English - de: Deutsch + de: + name: Deutsch + site_name: "mailcow: dockerized Dokumentation" nav_translations: #### Begin of german translation de: - 'Information & Support': 'Informationen & Support' ### Prerequisites Section - 'Prerequisites': 'Voraussetzungen' + 'Getting started': 'Erste Schritte' 'Prepare your system': 'Systemvoraussetzungen' 'DNS setup': 'DNS Einstellungen' ### Installation Section @@ -276,19 +280,15 @@ plugins: timezone: Europe/Berlin - redirects: redirect_maps: - # 'old': 'new' - # LEGACY 'u_e-mailpiler-integration.md': 'third_party/mailpiler/third_party-mailpiler_integration.en.md' - 'b_n_r_accidental_deletion.md': 'backup_restore/b_n_r-accidental_deletion.en.md' + 'b_r_m_accidental_deletion.md': 'backup_restore_migrate/b_r_m-accidental_deletion.en.md' 'debug-reset-tls.md': 'troubleshooting/debug-reset_tls.en.md' - # NEW DUE TO NEW LAYOUT - 'mailcow-dockerized-docs/i_u_m/i_u_m_install.md': 'i_u_m/i_u_m_install.en.md' # https://github.com/mailcow/mailcow-dockerized/pull/5196 - 'prerequisite-system.md': 'prerequisite/prerequisite-system.en.md' - 'prerequisite-dns.md': 'prerequisite/prerequisite-dns.en.md' - 'i_u_m_install.md': 'i_u_m/i_u_m_install.en.md' - 'i_u_m_update.md': 'i_u_m/i_u_m_update.en.md' - 'i_u_m_migration.md': 'i_u_m/i_u_m_migration.en.md' - 'i_u_m_deinstall.md': 'i_u_m/i_u_m_deinstall.en.md' + 'prerequisite-system.md': 'getting-started/prerequisite-system.en.md' + 'prerequisite-dns.md': 'getting-started/prerequisite-dns.en.md' + 'install.md': 'getting-started/i_u_m_install.en.md' + 'i_u_m/i_u_m_install.md': 'getting-started/i_u_m_install.en.md' + 'update.md': 'getting-started/i_u_m_update.en.md' + 'deinstall.md': 'getting-started/i_u_m_deinstall.en.md' 'firststeps-ssl.md': 'post_installation/firststeps-ssl.en.md' 'firststeps-disable_ipv6.md': 'post_installation/firststeps-disable_ipv6.en.md' 'firststeps-dmarc_reporting.md': 'post_installation/firststeps-dmarc_reporting.en.md' @@ -313,13 +313,13 @@ plugins: 'debug-rm_volumes.md': 'troubleshooting/debug-rm_volumes.en.md' 'debug-reset_pw.md': 'troubleshooting/debug-reset_pw.en.md' 'debug-reset_tls.md': 'troubleshooting/debug-reset_tls.en.md' - 'b_n_r_backup.md': 'backup_restore/b_n_r-backup.en.md' - 'b_n_r-backup.md': 'backup_restore/b_n_r-backup.en.md' - 'b_n_r-restore.md': 'backup_restore/b_n_r-restore.en.md' - 'b_n_r-coldstandby.md': 'backup_restore/b_n_r-coldstandby.en.md' - 'b_n_r-backup_restore-maildir.md': 'backup_restore/b_n_r-backup_restore-maildir.en.md' - 'b_n_r-backup_restore-mysql.md': 'backup_restore/b_n_r-backup_restore-mysql.en.md' - 'b_n_r-accidental_deletion.md': 'backup_restore/b_n_r-accidental_deletion.en.md' + 'b_n_r_backup.md': 'backup_restore_migrate/b_r_m-backup.en.md' + 'b_n_r-restore.md': 'backup_restore_migrate/b_r_m-restore.en.md' + 'migration.md': 'backup_restore_migrate/b_r_m_migration.en.md' + 'b_n_r-coldstandby.md': 'backup_restore_migrate/b_r_m-coldstandby.en.md' + 'b_n_r-backup_restore-maildir.md': 'backup_restore_migrate/b_r_m-backup_restore-maildir.en.md' + 'b_n_r-backup_restore-mysql.md': 'backup_restore_migrate/b_r_m-backup_restore-mysql.en.md' + 'b_n_r-accidental_deletion.md': 'backup_restore_migrate/b_r_m-accidental_deletion.en.md' 'u_e-mailcow_ui-bl_wl.md': 'manual-guides/mailcow-UI/u_e-mailcow_ui-bl_wl.en.md' 'u_e-mailcow_ui-config.md': 'manual-guides/mailcow-UI/u_e-mailcow_ui-config.en.md' 'u_e-mailcow_ui-css.md': 'manual-guides/mailcow-UI/u_e-mailcow_ui-css.en.md' @@ -383,11 +383,9 @@ plugins: 'third_party-portainer.md': 'third_party/portainer/third_party-portainer.en.md' 'third_party-roundcube.md': 'third_party/roundcube/third_party-roundcube.en.md' - search: -# separator: '[\s\-,:!=\[\]()"/]+|(?!\b)(?=[A-Z][a-z])|\.(?!\d)|&[lg]t;' - lang: - - en - - de + separator: '[\s\-,:!=\[\]()"/]+|(?!\b)(?=[A-Z][a-z])|\.(?!\d)|&[lg]t;' - social + - glightbox extra: