Commits vergleichen
2 Commits
master
...
feat/arm64
Autor | SHA1 | Datum | |
---|---|---|---|
|
1fe8ff3c4f | ||
|
7c1ba98e3f |
34 geänderte Dateien mit 459 neuen und 300 gelöschten Zeilen
|
@ -68,7 +68,7 @@ Das folgende Skript kann in `/etc/cron.daily/mailcow-backup` platziert werden -
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
# Backup mailcow data
|
# 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
|
set -e
|
||||||
|
|
|
@ -68,7 +68,7 @@ This following script may be placed in `/etc/cron.daily/mailcow-backup` - do not
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
# Backup mailcow data
|
# 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
|
set -e
|
||||||
|
|
179
docs/backup_restore_migrate/b_r_m_migration.de.md
Normale Datei
179
docs/backup_restore_migrate/b_r_m_migration.de.md
Normale Datei
|
@ -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:
|
|
@ -1,3 +1,5 @@
|
||||||
|
### Migration within the same system type (x86 to x86, ARM64 to ARM64, etc.)
|
||||||
|
|
||||||
!!! warning
|
!!! 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.
|
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.
|
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\.**
|
**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:
|
**2\.** Stop Docker and assure Docker has stopped:
|
||||||
```
|
```
|
||||||
|
@ -13,7 +15,11 @@ systemctl stop docker.service
|
||||||
systemctl status 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 /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
|
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
|
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.
|
**6\.** Switch over to the target machine and start Docker.
|
||||||
```
|
```
|
||||||
|
@ -58,7 +64,7 @@ systemctl start docker.service
|
||||||
docker-compose pull
|
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)"
|
=== "docker compose (Plugin)"
|
||||||
|
|
||||||
``` bash
|
``` bash
|
||||||
|
@ -70,5 +76,10 @@ systemctl start docker.service
|
||||||
``` bash
|
``` bash
|
||||||
docker compose up -d
|
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.
|
**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:
|
||||||
|
|
||||||
|
---
|
|
@ -123,6 +123,6 @@ Sollte alles problemlos geklappt haben (wofür wir ja auch vorsichtshalber ein B
|
||||||
!!! info
|
!!! info
|
||||||
Wir empfehlen die Benutzung des Nightly Updates nur dann, wenn Ihr eine weitere Maschine oder VM besitzt und diese **NICHT** Produktiv nutzt.
|
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.
|
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.
|
3. Die Nightly Updates auf der sekundären Maschine erleben/testen.
|
|
@ -123,6 +123,6 @@ If everything worked fine (for which we made a backup before) the mailcow UI sho
|
||||||
!!! info
|
!!! info
|
||||||
We recommend using the Nightly Update only if you have another machine or VM and **NOT** use it productively.
|
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.
|
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.
|
3. experience/test the nightly updates on the secondary machine.
|
|
@ -6,7 +6,7 @@ Bevor Sie **mailcow: dockerized** ausführen, sollten Sie einige Voraussetzungen
|
||||||
!!! info
|
!!! 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.
|
- 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
|
- 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.
|
- 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
|
## Minimale Systemressourcen
|
||||||
|
@ -21,9 +21,9 @@ Bitte stellen Sie sicher, dass Ihr System mindestens über die folgenden Ressour
|
||||||
| CPU | 1 GHz |
|
| CPU | 1 GHz |
|
||||||
| RAM | **Minimum** 6 GiB + 1 GiB Swap (Standardkonfiguration) |
|
| RAM | **Minimum** 6 GiB + 1 GiB Swap (Standardkonfiguration) |
|
||||||
| Festplatte | 20 GiB (ohne Emails) |
|
| 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
|
!!! info
|
||||||
Wir sind uns bewusst, dass ein reiner MTA auf 128 MiB RAM laufen kann.
|
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
|
## 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.
|
|
@ -6,7 +6,7 @@ Before you run **mailcow: dockerized**, there are a few requirements that you sh
|
||||||
!!! info
|
!!! info
|
||||||
- mailcow: dockerized requires [some ports](#default-ports) to be open for incoming connections, so make sure that your firewall is not blocking these.
|
- 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
|
- 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.
|
- 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
|
## Minimum System Resources
|
||||||
|
@ -21,7 +21,7 @@ Please make sure that your system has at least the following resources:
|
||||||
| CPU | 1 GHz |
|
| CPU | 1 GHz |
|
||||||
| RAM | **Minimum** 6 GiB + 1 GiB swap (default config) |
|
| RAM | **Minimum** 6 GiB + 1 GiB swap (default config) |
|
||||||
| Disk | 20 GiB (without emails) |
|
| 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`.
|
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
|
## 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.
|
|
@ -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.
|
|
173
docs/index.de.md
173
docs/index.de.md
|
@ -1,12 +1,90 @@
|
||||||
# 🐮 + 🐋 = 💕
|
<figure markdown>
|
||||||
|
![mailcow Logo](assets/images/logo.svg){ width="150" }
|
||||||
|
</figure>
|
||||||
|
|
||||||
|
# mailcow: dockerized - 🐮 + 🐋 = 💕
|
||||||
|
**Die Mailserver-Suite mit dem 'moo'**
|
||||||
|
|
||||||
|
## Was ist mailcow: dockerized?
|
||||||
|
|
||||||
|
!!! question "Frage"
|
||||||
|
Mailcow, MailCow oder doch mailcow? Wie heißt das Projekt nun genau?
|
||||||
|
|
||||||
|
Richtig: **mailcow**, denn mailcow ist eine eingetragene Wortmarke mit kleinem m :grin:
|
||||||
|
|
||||||
|
mailcow: dockerized ist eine Open-Source Groupware/E-Mail Suite auf Docker Basis.
|
||||||
|
|
||||||
|
Dabei setzt mailcow auf viele bekannte und lang bewertete Komponenten, welche im Zusammenspiel einen Rund um Sorglosen E-Mail Server ergeben.
|
||||||
|
|
||||||
|
Jeder Container repräsentiert eine einzelne Anwendung, die in einem überbrückten (Bridged) Netzwerk verbunden sind.
|
||||||
|
|
||||||
|
- [ACME](https://letsencrypt.org/) (Automatische Generation von Let's Encrypt Zertifikaten)
|
||||||
|
- [ClamAV](https://www.clamav.net/) (Antiviren Scanner) (optional)
|
||||||
|
- [Dovecot](https://www.dovecot.org/) (IMAP/POP Server zum Abrufen der E-Mails)
|
||||||
|
- [MariaDB](https://mariadb.org/) (Datenbank zum Speichern der Nutzer Informationen u.w.)
|
||||||
|
- [Memcached](https://www.memcached.org/) (Cache für den Webmailer SOGo)
|
||||||
|
- [Netfilter](https://www.netfilter.org/) (Fail2ban-ähnliche Integration von [@mkuron](https://github.com/mkuron))
|
||||||
|
- [Nginx](https://nginx.org/) (Webserver für die mailcow UI)
|
||||||
|
- [Oletools](https://github.com/decalage2/oletools) über [Olefy](https://github.com/HeinleinSupport/olefy) (Analyse von Office Dokumenten nach Viren, Makros etc.)
|
||||||
|
- [PHP](https://php.net/) (Programmiersprache der meisten Webbasierten mailcow Aktionen)
|
||||||
|
- [Postfix](http://www.postfix.org/) (Empfänger/Sender für den E-Mail-Verkehr im Internet)
|
||||||
|
- [Redis](https://redis.io/) (Speicher für Spaminformationen, DKIM Schlüssel u.w.)
|
||||||
|
- [Rspamd](https://www.rspamd.com/) (Spamfilter mit automatischem Lernen von Spammails)
|
||||||
|
- [SOGo](https://sogo.nu/) (Integrierter Webmailer und Cal-/Carddav Schnittstelle)
|
||||||
|
- [Solr](https://solr.apache.org/) (Voll-Text-Suche für IMAP Verbindungen zum schnellen durchsuchen von E-Mails) (optional)
|
||||||
|
- [Unbound](https://unbound.net/) (Integrierter DNS-Server zum Verifizieren von DNSSEC u.w)
|
||||||
|
- Ein Watchdog für die grundlegende Überwachung des Containerstatus innerhalb von mailcow
|
||||||
|
|
||||||
|
Doch das Herzstück bzw. das, was mailcow besonders macht, ist die grafische Weboberfläche, die **mailcow UI**.
|
||||||
|
|
||||||
|
Diese bietet für so gut wie alle Einstellungen einen Platz und erlaubt das bequeme Anlegen von neuen Domains und E-Mail-Adressen mit wenigen Klicks.
|
||||||
|
|
||||||
|
Aber auch andere bzw. kniffligere Themen können in ihr problemlos erledigt werden:
|
||||||
|
|
||||||
|
- [DKIM](http://dkim.org) und [ARC](http://arc-spec.org/) Unterstützung bzw. Generation.
|
||||||
|
- Black- und Whitelists pro Domain und pro Benutzer
|
||||||
|
- Spam-Score-Verwaltung pro Benutzer (Spam ablehnen, Spam markieren, Greylist)
|
||||||
|
- Erlauben Sie Mailbox-Benutzern, temporäre Spam-Aliase zu erstellen
|
||||||
|
- Voranstellen von E-Mail-Tags an den Betreff oder Verschieben von E-Mails in Unterordner (pro Benutzer)
|
||||||
|
- Mailbox-Benutzer können die TLS-Durchsetzung für eingehende und ausgehende Nachrichten umschalten
|
||||||
|
- Benutzer können die Caches von SOGo ActiveSync-Geräten zurücksetzen
|
||||||
|
- imapsync, um entfernte Postfächer regelmäßig zu migrieren oder abzurufen
|
||||||
|
- TFA: Yubikey OTP und WebAuthn USB (nur Google Chrome und Derivate), TOTP
|
||||||
|
- Hinzufügen von Whitelist-Hosts zur Weiterleitung von Mails an mailcow
|
||||||
|
- Fail2ban-ähnliche Integration
|
||||||
|
- Quarantäne-System
|
||||||
|
- Antivirus-Scanning inkl. Makro-Scanning in Office-Dokumenten
|
||||||
|
- Integrierte Basisüberwachung
|
||||||
|
- Und weitere...
|
||||||
|
|
||||||
|
Die mailcow Daten (wie bspw. E-Mails, Userdaten etc.) werden in **Docker-Volumes** aufbewahrt - geben Sie gut auf diese Volumes acht:
|
||||||
|
|
||||||
|
- clamd-db-vol-1
|
||||||
|
- crypt-vol-1
|
||||||
|
- mysql-socket-vol-1
|
||||||
|
- mysql-vol-1
|
||||||
|
- postfix-vol-1
|
||||||
|
- redis-vol-1
|
||||||
|
- rspamd-vol-1
|
||||||
|
- sogo-userdata-backup-vol-1
|
||||||
|
- sogo-web-vol-1
|
||||||
|
- solr-vol-1
|
||||||
|
- vmail-index-vol-1
|
||||||
|
- vmail-vol-1
|
||||||
|
|
||||||
|
!!! warning "Achtung"
|
||||||
|
Die Mails werden komprimiert und verschlüsselt gespeichert. Das Schlüsselpaar ist in crypt-vol-1 zu finden. Bitte vergessen Sie nicht, dieses und andere Volumes zu sichern. #KeinBackupkeinMitleid
|
||||||
|
---
|
||||||
|
|
||||||
## Unterstützen Sie das mailcow Projekt
|
## Unterstützen Sie das mailcow Projekt
|
||||||
|
|
||||||
Bitte erwägen Sie einen Supportvertrag gegen eine geringe monatliche Gebühr unter [Servercow](https://www.servercow.de/mailcow?#support), um die weitere Entwicklung zu unterstützen. _Wir_ unterstützen _Sie_, während _Sie_ _uns_ unterstützen. :)
|
Bitte erwägen Sie einen Supportvertrag gegen eine geringe monatliche Gebühr unter [Servercow](https://www.servercow.de/mailcow?#support)[^1], um die weitere Entwicklung zu unterstützen. _Wir_ unterstützen _Sie_, während _Sie_ _uns_ unterstützen. :)
|
||||||
|
|
||||||
Wenn Sie super toll sind und uns ohne Vertrag unterstützen möchten, können Sie eine SAL-Lizenz erhalten, die Ihre Unterstützung bestätigt (kaufbar als flexible Einmalzahlung) bei [Servercow](https://www.servercow.de/mailcow#sal).
|
Wenn Sie super toll sind und uns ohne Vertrag unterstützen möchten, können Sie eine SAL (Stay-Awesome License) erhalten, die Ihre Unterstützung bestätigt (kaufbar als flexible Einmalzahlung) bei [Servercow](https://www.servercow.de/mailcow#sal).
|
||||||
|
|
||||||
## Support erhalten
|
---
|
||||||
|
|
||||||
|
## Hilfe gefällig?
|
||||||
|
|
||||||
Es gibt zwei Möglichkeiten, Support für Ihre mailcow-Installation zu erhalten.
|
Es gibt zwei Möglichkeiten, Support für Ihre mailcow-Installation zu erhalten.
|
||||||
|
|
||||||
|
@ -16,9 +94,9 @@ Für professionellen und priorisierten kommerziellen Support können Sie ein Bas
|
||||||
|
|
||||||
Darüber hinaus bieten wir auch eine voll ausgestattete und verwaltete [managed mailcow](https://www.servercow.de/mailcow#managed) an. Auf diese Weise kümmern wir uns um alles technische und Sie können Ihr ganzes Mail-Erlebnis auf eine problemlose Weise genießen.
|
Darüber hinaus bieten wir auch eine voll ausgestattete und verwaltete [managed mailcow](https://www.servercow.de/mailcow#managed) an. Auf diese Weise kümmern wir uns um alles technische und Sie können Ihr ganzes Mail-Erlebnis auf eine problemlose Weise genießen.
|
||||||
|
|
||||||
### Community-Unterstützung und Chat
|
### Community Support und Chat
|
||||||
|
|
||||||
Die andere Alternative ist unser kostenloser Community-Support auf unseren verschiedenen Kanälen unten. Bitte beachten Sie, dass dieser Support von unserer großartigen Community rund um mailcow betrieben wird. Diese Art von Support ist best-effort, freiwillig und es gibt keine Garantie für irgendetwas.
|
Die Alternative ist unser kostenloser Community-Support auf unseren verschiedenen Kanälen unten. Bitte beachten Sie, dass dieser Support von unserer großartigen Community rund um mailcow betrieben wird. Diese Art von Support ist best-effort, freiwillig und es gibt keine Garantie für irgendetwas.
|
||||||
|
|
||||||
- Unsere mailcow Community @ [community.mailcow.email](https://community.mailcow.email)
|
- Unsere mailcow Community @ [community.mailcow.email](https://community.mailcow.email)
|
||||||
|
|
||||||
|
@ -34,77 +112,26 @@ Nur für **Bug Tracking, Feature Requests und Codebeiträge**:
|
||||||
|
|
||||||
- GitHub @ [mailcow/mailcow-dockerized](https://github.com/mailcow/mailcow-dockerized)
|
- GitHub @ [mailcow/mailcow-dockerized](https://github.com/mailcow/mailcow-dockerized)
|
||||||
|
|
||||||
## Demos
|
---
|
||||||
|
|
||||||
Seit September 2022 stellen wir zwei Verschiedene Demos bereit:
|
## Neugierig? Gleich ausprobieren!
|
||||||
|
|
||||||
+ **[demo.mailcow.email](https://demo.mailcow.email)** ist die altbekannte Demo, welche sich am **Stabilen Stand** der mailcow orrientiert.
|
Haben wir Ihr Interesse geweckt? Verschaffen Sie sich in unseren offiziellen **mailcow Demos** einen ersten Überblick über die Funktionalitäten von mailcow und Ihrer mailcow UI!
|
||||||
+ **[nightly-demo.mailcow.email](https://nightly-demo.mailcow.email)** ist die neue **Nightly Demo**, welche Testfunktionen beherbergt. (Also insbesondere für alle interessant, die keine Möglichkeit haben sich eine Testinstanz selbst zu erstellen.)
|
|
||||||
|
|
||||||
Die folgenden Anmeldedaten fürs Login funktionieren bei beiden Varianten:
|
Seit September 2022 stellen wir zwei verschiedene Demos bereit:
|
||||||
|
|
||||||
- **Administrator**: admin / moohoo
|
+ **[demo.mailcow.email](https://demo.mailcow.email)** ist die altbekannte Demo, welche sich am **Stabilen Stand** der mailcow orrientiert (master Branch auf GitHub).
|
||||||
- **Domänen-Administrator**: department / moohoo
|
+ **[nightly-demo.mailcow.email](https://nightly-demo.mailcow.email)** ist die neue **Nightly Demo**, welche Testfunktionen beherbergt. (Also insbesondere für alle interessant, die keine Möglichkeit haben sich eine Testinstanz selbst zu erstellen.) (nightly Branch auf GitHub)
|
||||||
- **Mailbox**: demo@440044.xyz / moohoo
|
|
||||||
|
|
||||||
!!! success "Besonderheit"
|
!!! abstract "Nutzen Sie diese Anmeldedaten für die Demos"
|
||||||
|
|
||||||
|
- **Administrator**: admin / moohoo
|
||||||
|
- **Domänen-Administrator**: department / moohoo
|
||||||
|
- **Mailbox**: demo@440044.xyz / moohoo
|
||||||
|
|
||||||
|
*Die Anmeldedaten für die Logins funktionieren bei beiden Varianten*
|
||||||
|
|
||||||
|
!!! success "Immer auf dem neusten Stand"
|
||||||
Die Demo Instanzen erhalten die neusten Updates direkt nach Release von GitHub. Vollautomatisch, ohne Downtime!
|
Die Demo Instanzen erhalten die neusten Updates direkt nach Release von GitHub. Vollautomatisch, ohne Downtime!
|
||||||
|
|
||||||
## Überblick
|
[^1]: Servercow ist eine Hosting/Support Sparte der The Infrastructure Company GmbH (mailcow Maintainer)
|
||||||
|
|
||||||
Die integrierte **mailcow UI** ermöglicht administrative Arbeiten auf Ihrer Mailserver-Instanz sowie einen getrennten Domain-Administrator- und Mailbox-Benutzer-Zugriff:
|
|
||||||
|
|
||||||
- [DKIM](http://dkim.org) und [ARC](http://arc-spec.org/) Unterstützung
|
|
||||||
- Black- und Whitelists pro Domain und pro Benutzer
|
|
||||||
- Spam-Score-Verwaltung pro Benutzer (Spam ablehnen, Spam markieren, Greylist)
|
|
||||||
- Erlauben Sie Mailbox-Benutzern, temporäre Spam-Aliase zu erstellen
|
|
||||||
- Voranstellen von E-Mail-Tags an den Betreff oder Verschieben von E-Mails in Unterordner (pro Benutzer)
|
|
||||||
- Mailbox-Benutzer können die TLS-Durchsetzung für eingehende und ausgehende Nachrichten umschalten
|
|
||||||
- Benutzer können die Caches von SOGo ActiveSync-Geräten zurücksetzen
|
|
||||||
- imapsync, um entfernte Postfächer regelmäßig zu migrieren oder abzurufen
|
|
||||||
- TFA: Yubikey OTP und U2F USB (nur Google Chrome und Derivate), TOTP
|
|
||||||
- Hinzufügen von Domänen, Postfächern, Aliasen, Domänenaliasen und SOGo-Ressourcen
|
|
||||||
- Hinzufügen von Whitelist-Hosts zur Weiterleitung von Mails an mailcow
|
|
||||||
- Fail2ban-ähnliche Integration
|
|
||||||
- Quarantäne-System
|
|
||||||
- Antivirus-Scanning inkl. Makro-Scanning in Office-Dokumenten
|
|
||||||
- Integrierte Basisüberwachung
|
|
||||||
- Eine Menge mehr...
|
|
||||||
|
|
||||||
mailcow: dockerized kommt mit mehreren Containern, die in einem überbrückten Netzwerk verbunden sind.
|
|
||||||
Jeder Container repräsentiert eine einzelne Anwendung.
|
|
||||||
|
|
||||||
- [ACME](https://letsencrypt.org/)
|
|
||||||
- [ClamAV](https://www.clamav.net/) (optional)
|
|
||||||
- [Dovecot](https://www.dovecot.org/)
|
|
||||||
- [MariaDB](https://mariadb.org/)
|
|
||||||
- [Memcached](https://www.memcached.org/)
|
|
||||||
- [Netfilter](https://www.netfilter.org/) (Fail2ban-ähnliche Integration von [@mkuron](https://github.com/mkuron))
|
|
||||||
- [Nginx](https://nginx.org/)
|
|
||||||
- [Oletools](https://github.com/decalage2/oletools) über [Olefy](https://github.com/HeinleinSupport/olefy)
|
|
||||||
- [PHP](https://php.net/)
|
|
||||||
- [Postfix](http://www.postfix.org/)
|
|
||||||
- [Redis](https://redis.io/)
|
|
||||||
- [Rspamd](https://www.rspamd.com/)
|
|
||||||
- [SOGo](https://sogo.nu/)
|
|
||||||
- [Solr](https://solr.apache.org/) (optional)
|
|
||||||
- [Unbound](https://unbound.net/)
|
|
||||||
- Ein Watchdog für die grundlegende Überwachung
|
|
||||||
|
|
||||||
!!! warning "Achtung"
|
|
||||||
Die Mails werden komprimiert und verschlüsselt gespeichert. Das Schlüsselpaar ist in crypt-vol-1 zu finden. Bitte vergessen Sie nicht, dieses zu sichern.
|
|
||||||
|
|
||||||
**Docker-Volumes** zur Aufbewahrung dynamischer Daten - kümmern Sie sich um sie!
|
|
||||||
|
|
||||||
- clamd-db-vol-1
|
|
||||||
- crypt-vol-1
|
|
||||||
- mysql-socket-vol-1
|
|
||||||
- mysql-vol-1
|
|
||||||
- postfix-vol-1
|
|
||||||
- redis-vol-1
|
|
||||||
- rspamd-vol-1
|
|
||||||
- sogo-userdata-backup-vol-1
|
|
||||||
- sogo-web-vol-1
|
|
||||||
- solr-vol-1
|
|
||||||
- vmail-index-vol-1
|
|
||||||
- vmail-vol-1
|
|
168
docs/index.en.md
168
docs/index.en.md
|
@ -1,20 +1,99 @@
|
||||||
# 🐮 + 🐋 = 💕
|
<figure markdown>
|
||||||
|
![mailcow Logo](assets/images/logo.svg){ width="150" }
|
||||||
|
</figure>
|
||||||
|
|
||||||
## Help mailcow
|
# mailcow: dockerized - 🐮 + 🐋 = 💕
|
||||||
|
**The mailserver suite with the 'moo'**
|
||||||
|
|
||||||
Please consider a support contract for a small monthly fee at [Servercow EN](https://www.servercow.de/mailcow?lang=en#support) to support further development. _We_ support _you_ while _you_ support _us_. :)
|
## What is mailcow: dockerized?
|
||||||
|
|
||||||
If you are super awesome and would like to support without a contract, you can get a SAL license that confirms your awesomeness (a flexible one-time payment) at [Servercow EN](https://www.servercow.de/mailcow?lang=en#sal).
|
!!! question
|
||||||
|
Mailcow, MailCow or mailcow? What is the exact name of the project?
|
||||||
|
|
||||||
## Get support
|
Correct: **mailcow**, because mailcow is a registered word mark with a small m :grin:
|
||||||
|
|
||||||
|
mailcow: dockerized is an open source groupware/email suite based on docker.
|
||||||
|
|
||||||
|
mailcow relies on many well known and long used components, which in combination result in an all around carefree email server.
|
||||||
|
|
||||||
|
Each container represents a single application, connected in a bridged network.
|
||||||
|
|
||||||
|
- [ACME](https://letsencrypt.org/) (Automatic generation of Let's Encrypt certificates)
|
||||||
|
- [ClamAV](https://www.clamav.net/) (anti-virus scanner) (optional)
|
||||||
|
- [Dovecot](https://www.dovecot.org/) (IMAP/POP server for retrieving mail)
|
||||||
|
- [MariaDB](https://mariadb.org/) (database to store user information, etc.)
|
||||||
|
- [Memcached](https://www.memcached.org/) (cache for the SOGo webmailer)
|
||||||
|
- [Netfilter](https://www.netfilter.org/) (Fail2ban-like integration of [@mkuron](https://github.com/mkuron))
|
||||||
|
- [Nginx](https://nginx.org/) (Web server for the mailcow UI)
|
||||||
|
- [Oletools](https://github.com/decalage2/oletools) via [Olefy](https://github.com/HeinleinSupport/olefy) (analyzing office documents for viruses, macros, etc.)
|
||||||
|
- [PHP](https://php.net/) (programming language for most web-based mailcow actions)
|
||||||
|
- [Postfix](http://www.postfix.org/) (Receiver/sender for mail traffic on the Internet)
|
||||||
|
- [Redis](https://redis.io/) (storage for spam information, DKIM keys, etc.)
|
||||||
|
- [Rspamd](https://www.rspamd.com/) (spam filter with automatic learning of spam mails)
|
||||||
|
- [SOGo](https://sogo.nu/) (integrated webmailer and cal/carddav interface)
|
||||||
|
- [Solr](https://solr.apache.org/) (full-text search for IMAP connections for quick email search) (optional)
|
||||||
|
- [Unbound](https://unbound.net/) (integrated DNS server to check DNSSEC etc.)
|
||||||
|
- A watchdog for basic monitoring of container health inside mailcow
|
||||||
|
|
||||||
|
But the heart of mailcow is the graphical web interface, the **mailcow UI**.
|
||||||
|
|
||||||
|
It offers a place for almost all settings and allows the comfortable creation of new domains and email addresses with just a few clicks.
|
||||||
|
|
||||||
|
But also other or more tricky tasks can be done in it with ease:
|
||||||
|
|
||||||
|
- [DKIM](http://dkim.org) and [ARC](http://arc-spec.org/) support/generation.
|
||||||
|
- Black and white lists per domain and per user.
|
||||||
|
- Spam score management per user (reject spam, flag spam, greylist).
|
||||||
|
- Allow mailbox users to create temporary spam aliases
|
||||||
|
- Prepend email tags to subject or move emails to subfolders (per user)
|
||||||
|
- Allow mailbox users to toggle TLS enforcement for inbound and outbound messages
|
||||||
|
- Users can reset caches on SOGo ActiveSync devices
|
||||||
|
- imapsync to periodically migrate or retrieve remote mailboxes
|
||||||
|
- TFA: Yubikey OTP and WebAuthn USB (Google Chrome and derivatives only), TOTP
|
||||||
|
- Add whitelist hosts to forward mail to mailcow
|
||||||
|
- Fail2ban-like integration
|
||||||
|
- Quarantine system
|
||||||
|
- Anti-virus scanning including macro scanning in Office documents
|
||||||
|
- Integrated basic monitoring
|
||||||
|
- And much more...
|
||||||
|
|
||||||
|
The mailcow data (such as emails, user data, etc.) is stored in **Docker volumes** - take good care of these volumes:
|
||||||
|
|
||||||
|
- clamd-db-vol-1
|
||||||
|
- crypt-vol-1
|
||||||
|
- mysql-socket-vol-1
|
||||||
|
- mysql-vol-1
|
||||||
|
- postfix-vol-1
|
||||||
|
- redis-vol-1
|
||||||
|
- rspamd-vol-1
|
||||||
|
- sogo-userdata-backup-vol-1
|
||||||
|
- sogo-web-vol-1
|
||||||
|
- solr-vol-1
|
||||||
|
- vmail-index-vol-1
|
||||||
|
- vmail-vol-1
|
||||||
|
|
||||||
|
!!! warning
|
||||||
|
The mails are compressed and encrypted. The key pair can be found in crypt-vol-1. Please don't forget to backup this and other volumes. #nobackupnopity
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Support the mailcow project
|
||||||
|
|
||||||
|
Please consider a support contract for a small monthly fee at [Servercow](https://www.servercow.de/mailcow?lang=en#support)[^1] to support further development. _We_ support _you_ while _you_ support _us_. :)
|
||||||
|
|
||||||
|
If you are super awesome and would like to support without a contract, you can get a SAL (Stay-Awesome License) that confirms your awesomeness (a flexible one-time payment) at [Servercow](https://www.servercow.de/mailcow?lang=en#sal).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Need help?
|
||||||
|
|
||||||
There are two ways to achieve support for your mailcow installation.
|
There are two ways to achieve support for your mailcow installation.
|
||||||
|
|
||||||
### Commercial support
|
### Commercial support
|
||||||
|
|
||||||
For professional and prioritized commercial support you can sign a basic support subscription at [Servercow EN](https://www.servercow.de/mailcow?lang=en#support). For custom inquiries or questions please contact us at [info@servercow.de](mailto:info@servercow.de) instead.
|
For professional and prioritized commercial support you can sign a basic support subscription at [Servercow](https://www.servercow.de/mailcow?lang=en#support). For custom inquiries or questions please contact us at [info@servercow.de](mailto:info@servercow.de) instead.
|
||||||
|
|
||||||
Furthermore we do also provide a fully featured and managed mailcow [here](https://www.servercow.de/mailcow#managed). This way we take care about the technical magic underneath and you can enjoy your whole mail experience in a hassle-free way.
|
Furthermore we do also provide a fully featured and managed mailcow [here](https://www.servercow.de/mailcow?lang=en#managed). This way we take care about the technical magic underneath and you can enjoy your whole mail experience in a hassle-free way.
|
||||||
|
|
||||||
### Community support and chat
|
### Community support and chat
|
||||||
|
|
||||||
|
@ -34,77 +113,24 @@ For **bug tracking, feature requests and code contributions** only:
|
||||||
|
|
||||||
- GitHub @ [mailcow/mailcow-dockerized](https://github.com/mailcow/mailcow-dockerized)
|
- GitHub @ [mailcow/mailcow-dockerized](https://github.com/mailcow/mailcow-dockerized)
|
||||||
|
|
||||||
## Demos
|
---
|
||||||
|
## Interested? Try it out right away!
|
||||||
|
|
||||||
|
Have we got your interest? Get a first overview of the functionalities of mailcow and your mailcow UI in our official **mailcow demos**!
|
||||||
|
|
||||||
Since September 2022 we´re providing two seperate Demo instances:
|
Since September 2022 we´re providing two seperate Demo instances:
|
||||||
|
|
||||||
+ **[demo.mailcow.email](https://demo.mailcow.email)** is the classic Demo based on the **stable releases**.
|
+ **[demo.mailcow.email](https://demo.mailcow.email)** is the classic Demo based on the **stable releases**.
|
||||||
+ **[nightly-demo.mailcow.email](https://nightly-demo.mailcow.email)** is the new **nightly demo** based on unreleased testing features. (So especially interesting for those who have no possibility to create a test instance themselves.)
|
+ **[nightly-demo.mailcow.email](https://nightly-demo.mailcow.email)** is the new **nightly demo** based on unreleased testing features. (So especially interesting for those who have no possibility to create a test instance themselves.)
|
||||||
|
|
||||||
Use the following credentials to login on both demos:
|
!!! abstract "Use these credentials for the demos"
|
||||||
|
- **Administrator**: admin / moohoo
|
||||||
|
- **Domain-Administrator**: department / moohoo
|
||||||
|
- **Mailbox**: demo@440044.xyz / moohoo
|
||||||
|
|
||||||
- **Administrator**: admin / moohoo
|
*The login credentials work for both variants*.
|
||||||
- **Domain-Administrator**: department / moohoo
|
|
||||||
- **Mailbox**: demo@440044.xyz / moohoo
|
|
||||||
|
|
||||||
!!! success
|
!!! success "Always up to date"
|
||||||
The demo instances get the latest updates directly after releases from GitHub. Fully automatic, without any downtime!
|
The demo instances get the latest updates directly after releases from GitHub. Fully automatic, without any downtime!
|
||||||
|
|
||||||
## Overview
|
[^1]: Servercow is a hosting/support division of The Infrastructure Company GmbH (mailcow maintainer).
|
||||||
|
|
||||||
The integrated **mailcow UI** allows administrative work on your mail server instance as well as separated domain administrator and mailbox user access:
|
|
||||||
|
|
||||||
- [DKIM](http://dkim.org) and [ARC](http://arc-spec.org/) support
|
|
||||||
- Black- and whitelists per domain and per user
|
|
||||||
- Spam score management per-user (reject spam, mark spam, greylist)
|
|
||||||
- Allow mailbox users to create temporary spam aliases
|
|
||||||
- Prepend mail tags to subject or move mail to sub folder (per-user)
|
|
||||||
- Allow mailbox users to toggle incoming and outgoing TLS enforcement
|
|
||||||
- Allow users to reset SOGo ActiveSync device caches
|
|
||||||
- imapsync to migrate or pull remote mailboxes regularly
|
|
||||||
- TFA: Yubikey OTP and U2F USB (Google Chrome and derivatives only), TOTP
|
|
||||||
- Add domains, mailboxes, aliases, domain aliases and SOGo resources
|
|
||||||
- Add whitelisted hosts to forward mail to mailcow
|
|
||||||
- Fail2ban-like integration
|
|
||||||
- Quarantine system
|
|
||||||
- Antivirus scanning incl. macro scanning in office documents
|
|
||||||
- Integrated basic monitoring
|
|
||||||
- A lot more...
|
|
||||||
|
|
||||||
mailcow: dockerized comes with multiple containers linked in one bridged network.
|
|
||||||
Each container represents a single application.
|
|
||||||
|
|
||||||
- [ACME](https://letsencrypt.org/)
|
|
||||||
- [ClamAV](https://www.clamav.net/) (optional)
|
|
||||||
- [Dovecot](https://www.dovecot.org/)
|
|
||||||
- [MariaDB](https://mariadb.org/)
|
|
||||||
- [Memcached](https://www.memcached.org/)
|
|
||||||
- [Netfilter](https://www.netfilter.org/) (Fail2ban-like integration by [@mkuron](https://github.com/mkuron))
|
|
||||||
- [Nginx](https://nginx.org/)
|
|
||||||
- [Oletools](https://github.com/decalage2/oletools) via [Olefy](https://github.com/HeinleinSupport/olefy)
|
|
||||||
- [PHP](https://php.net/)
|
|
||||||
- [Postfix](http://www.postfix.org/)
|
|
||||||
- [Redis](https://redis.io/)
|
|
||||||
- [Rspamd](https://www.rspamd.com/)
|
|
||||||
- [SOGo](https://sogo.nu/)
|
|
||||||
- [Solr](https://solr.apache.org/) (optional)
|
|
||||||
- [Unbound](https://unbound.net/)
|
|
||||||
- A Watchdog to provide basic monitoring
|
|
||||||
|
|
||||||
!!! warning
|
|
||||||
Mails are stored compressed and encrypted. The key pair can be found in crypt-vol-1. Be sure to backup this volume!
|
|
||||||
|
|
||||||
**Docker volumes** to keep dynamic data - take care of them!
|
|
||||||
|
|
||||||
- clamd-db-vol-1
|
|
||||||
- crypt-vol-1
|
|
||||||
- mysql-socket-vol-1
|
|
||||||
- mysql-vol-1
|
|
||||||
- postfix-vol-1
|
|
||||||
- redis-vol-1
|
|
||||||
- rspamd-vol-1
|
|
||||||
- sogo-userdata-backup-vol-1
|
|
||||||
- sogo-web-vol-1
|
|
||||||
- solr-vol-1
|
|
||||||
- vmail-index-vol-1
|
|
||||||
- vmail-vol-1
|
|
|
@ -1,7 +1,7 @@
|
||||||
!!! info "Hinweis"
|
!!! info "Hinweis"
|
||||||
Um diese Funktion nutzen zu können ist das Update 2022-05 (oder höher) erforderlich!<br>
|
Um diese Funktion nutzen zu können ist das Update 2022-05 (oder höher) erforderlich!<br>
|
||||||
Sollten Sie das Update nicht installiert haben, denken Sie bitte über ein Update nach.<br>
|
Sollten Sie das Update nicht installiert haben, denken Sie bitte über ein Update nach.<br>
|
||||||
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?
|
### 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).
|
Mit den Tags ist es deutlich einfacher gezielt nach Domains bzw. Mailboxen zu suchen (wenn diese einen Tag haben).
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
!!! info
|
!!! info
|
||||||
You need the mailcow Version 2022-05 at least for this feature.<br>
|
You need the mailcow Version 2022-05 at least for this feature.<br>
|
||||||
If you don´t have the Version installed please consider a update.<br>
|
If you don´t have the Version installed please consider a update.<br>
|
||||||
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?
|
### What are Tags designed for?
|
||||||
With the Tags you can easily sort your Domains and Mailboxes by the tags instead of their name.
|
With the Tags you can easily sort your Domains and Mailboxes by the tags instead of their name.
|
||||||
|
|
|
@ -32,7 +32,7 @@ Diese Anleitung basiert auf verschiedenen Schritten:
|
||||||
|
|
||||||
### DNS-Einrichtung
|
### 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
|
# Name Typ Wert
|
||||||
|
@ -90,7 +90,7 @@ certbot certonly -d MAILMAN_DOMAIN
|
||||||
|
|
||||||
#### Installieren Sie mailcow
|
#### 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
|
#### mailcow konfigurieren
|
||||||
|
|
||||||
|
@ -328,13 +328,13 @@ Wenn man eine neue Liste anlegt und versucht, sofort eine E-Mail zu versenden, a
|
||||||
|
|
||||||
## Update
|
## 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).
|
Für **Mailman** holen Sie sich einfach die neueste Version aus dem [github repository](https://github.com/maxking/docker-mailman).
|
||||||
|
|
||||||
## Sicherung
|
## 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.
|
**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.
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@ This guide is based on different steps:
|
||||||
|
|
||||||
### DNS setup
|
### 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
|
# Name Type Value
|
||||||
|
@ -91,7 +91,7 @@ certbot certonly -d MAILMAN_DOMAIN
|
||||||
|
|
||||||
#### Install mailcow
|
#### 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
|
#### Configure mailcow
|
||||||
|
|
||||||
|
@ -329,13 +329,13 @@ When you create a new list and try to immediately send an e-mail, *postfix* resp
|
||||||
|
|
||||||
## Update
|
## 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).
|
For **Mailman** just fetch the newest version from the [github repository](https://github.com/maxking/docker-mailman).
|
||||||
|
|
||||||
## Backup
|
## 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.
|
**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.
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@ Escape-Zeichen ist '^]'.
|
||||||
|
|
||||||
## Meine Mails werden als Spam identifiziert
|
## 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.
|
## 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.
|
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.
|
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
|
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 ...
|
## 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.
|
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.
|
[^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)
|
[^2]: [Hyperscan](https://github.com/intel/hyperscan)
|
||||||
[^3]: [Status für Hyperscan auf ARM64](https://github.com/intel/hyperscan/pull/287#issuecomment-746558138)
|
|
||||||
|
|
|
@ -22,7 +22,7 @@ Escape character is '^]'.
|
||||||
|
|
||||||
## My mails are identified as Spam
|
## 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
|
## 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
|
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 ...
|
## XYZ can't connect to ...
|
||||||
|
|
||||||
|
@ -132,10 +132,6 @@ Restart Rspamd afterwards:
|
||||||
|
|
||||||
Now Rspamd recompiles the said regex maps again with Hyperscan.
|
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.
|
[^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)
|
[^2]: [Hyperscan](https://github.com/intel/hyperscan)
|
||||||
[^3]: [Status for Hyperscan on ARM64](https://github.com/intel/hyperscan/pull/287#issuecomment-746558138)
|
|
82
mkdocs.yml
82
mkdocs.yml
|
@ -28,6 +28,8 @@ theme:
|
||||||
- content.tabs.link
|
- content.tabs.link
|
||||||
- search.share
|
- search.share
|
||||||
- search.highlight
|
- search.highlight
|
||||||
|
- toc.follow
|
||||||
|
- toc.integrate
|
||||||
|
|
||||||
markdown_extensions:
|
markdown_extensions:
|
||||||
- abbr
|
- abbr
|
||||||
|
@ -47,17 +49,18 @@ markdown_extensions:
|
||||||
- pymdownx.superfences
|
- pymdownx.superfences
|
||||||
- pymdownx.tabbed:
|
- pymdownx.tabbed:
|
||||||
alternate_style: true
|
alternate_style: true
|
||||||
|
- pymdownx.emoji:
|
||||||
|
emoji_index: !!python/name:materialx.emoji.twemoji
|
||||||
|
emoji_generator: !!python/name:materialx.emoji.to_svg
|
||||||
|
|
||||||
nav:
|
nav:
|
||||||
- 'Information & Support': 'index.md'
|
- 'Home': 'index.md'
|
||||||
- 'Prerequisites':
|
- 'Getting started':
|
||||||
- 'Prepare your system': 'prerequisite/prerequisite-system.md'
|
- 'Prepare your system': 'getting-started/prerequisite-system.md'
|
||||||
- 'DNS setup': 'prerequisite/prerequisite-dns.md'
|
- 'DNS setup': 'getting-started/prerequisite-dns.md'
|
||||||
- 'Installation, Update & Migration':
|
- 'Installation': 'getting-started/i_u_m_install.md'
|
||||||
- 'Installation': 'i_u_m/i_u_m_install.md'
|
- 'Update': 'getting-started/i_u_m_update.md'
|
||||||
- 'Update': 'i_u_m/i_u_m_update.md'
|
- 'Deinstallation': 'getting-started/i_u_m_deinstall.md'
|
||||||
- 'Migration': 'i_u_m/i_u_m_migration.md'
|
|
||||||
- 'Deinstallation': 'i_u_m/i_u_m_deinstall.md'
|
|
||||||
- 'Post Installation Tasks':
|
- 'Post Installation Tasks':
|
||||||
- 'Advanced SSL': 'post_installation/firststeps-ssl.md'
|
- 'Advanced SSL': 'post_installation/firststeps-ssl.md'
|
||||||
- 'Disable IPv6': 'post_installation/firststeps-disable_ipv6.md'
|
- 'Disable IPv6': 'post_installation/firststeps-disable_ipv6.md'
|
||||||
|
@ -85,16 +88,16 @@ nav:
|
||||||
- 'Remove Persistent Data': 'troubleshooting/debug-rm_volumes.md'
|
- 'Remove Persistent Data': 'troubleshooting/debug-rm_volumes.md'
|
||||||
- 'Reset Passwords (incl. SQL)': 'troubleshooting/debug-reset_pw.md'
|
- 'Reset Passwords (incl. SQL)': 'troubleshooting/debug-reset_pw.md'
|
||||||
- 'Reset TLS certificates': 'troubleshooting/debug-reset_tls.md'
|
- 'Reset TLS certificates': 'troubleshooting/debug-reset_tls.md'
|
||||||
- 'Backup & Restore':
|
- 'Backup, Restore & Migration':
|
||||||
- 'Component backup & restore':
|
- 'Backup': 'backup_restore_migrate/b_r_m-backup.md'
|
||||||
- 'Backup': 'backup_restore/b_n_r-backup.md'
|
- 'Restore': 'backup_restore_migrate/b_r_m-restore.md'
|
||||||
- 'Restore': 'backup_restore/b_n_r-restore.md'
|
- 'Migration': 'backup_restore_migrate/b_r_m_migration.md'
|
||||||
- 'Cold-standby (rolling backup)': 'backup_restore/b_n_r-coldstandby.md'
|
- 'Cold-standby (rolling backup)': 'backup_restore_migrate/b_r_m-coldstandby.md'
|
||||||
- 'Manual backups':
|
- 'Manual backups':
|
||||||
- 'Maildir': 'backup_restore/b_n_r-backup_restore-maildir.md'
|
- 'Maildir': 'backup_restore_migrate/b_r_m-backup_restore-maildir.md'
|
||||||
- 'MySQL (mysqldump)': 'backup_restore/b_n_r-backup_restore-mysql.md'
|
- 'MySQL (mysqldump)': 'backup_restore_migrate/b_r_m-backup_restore-mysql.md'
|
||||||
- 'mailcow-internal backups':
|
- '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':
|
- 'Manual/Guides/Examples':
|
||||||
- 'mailcow UI':
|
- 'mailcow UI':
|
||||||
- 'Blacklist / Whitelist': 'manual-guides/mailcow-UI/u_e-mailcow_ui-bl_wl.md'
|
- 'Blacklist / Whitelist': 'manual-guides/mailcow-UI/u_e-mailcow_ui-bl_wl.md'
|
||||||
|
@ -177,13 +180,14 @@ plugins:
|
||||||
default_language: en
|
default_language: en
|
||||||
languages:
|
languages:
|
||||||
en: English
|
en: English
|
||||||
de: Deutsch
|
de:
|
||||||
|
name: Deutsch
|
||||||
|
site_name: "mailcow: dockerized Dokumentation"
|
||||||
nav_translations:
|
nav_translations:
|
||||||
#### Begin of german translation
|
#### Begin of german translation
|
||||||
de:
|
de:
|
||||||
'Information & Support': 'Informationen & Support'
|
|
||||||
### Prerequisites Section
|
### Prerequisites Section
|
||||||
'Prerequisites': 'Voraussetzungen'
|
'Getting started': 'Erste Schritte'
|
||||||
'Prepare your system': 'Systemvoraussetzungen'
|
'Prepare your system': 'Systemvoraussetzungen'
|
||||||
'DNS setup': 'DNS Einstellungen'
|
'DNS setup': 'DNS Einstellungen'
|
||||||
### Installation Section
|
### Installation Section
|
||||||
|
@ -276,19 +280,15 @@ plugins:
|
||||||
timezone: Europe/Berlin
|
timezone: Europe/Berlin
|
||||||
- redirects:
|
- redirects:
|
||||||
redirect_maps:
|
redirect_maps:
|
||||||
# 'old': 'new'
|
|
||||||
# LEGACY
|
|
||||||
'u_e-mailpiler-integration.md': 'third_party/mailpiler/third_party-mailpiler_integration.en.md'
|
'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'
|
'debug-reset-tls.md': 'troubleshooting/debug-reset_tls.en.md'
|
||||||
# NEW DUE TO NEW LAYOUT
|
'prerequisite-system.md': 'getting-started/prerequisite-system.en.md'
|
||||||
'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-dns.md': 'getting-started/prerequisite-dns.en.md'
|
||||||
'prerequisite-system.md': 'prerequisite/prerequisite-system.en.md'
|
'install.md': 'getting-started/i_u_m_install.en.md'
|
||||||
'prerequisite-dns.md': 'prerequisite/prerequisite-dns.en.md'
|
'i_u_m/i_u_m_install.md': 'getting-started/i_u_m_install.en.md'
|
||||||
'i_u_m_install.md': 'i_u_m/i_u_m_install.en.md'
|
'update.md': 'getting-started/i_u_m_update.en.md'
|
||||||
'i_u_m_update.md': 'i_u_m/i_u_m_update.en.md'
|
'deinstall.md': 'getting-started/i_u_m_deinstall.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'
|
|
||||||
'firststeps-ssl.md': 'post_installation/firststeps-ssl.en.md'
|
'firststeps-ssl.md': 'post_installation/firststeps-ssl.en.md'
|
||||||
'firststeps-disable_ipv6.md': 'post_installation/firststeps-disable_ipv6.en.md'
|
'firststeps-disable_ipv6.md': 'post_installation/firststeps-disable_ipv6.en.md'
|
||||||
'firststeps-dmarc_reporting.md': 'post_installation/firststeps-dmarc_reporting.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-rm_volumes.md': 'troubleshooting/debug-rm_volumes.en.md'
|
||||||
'debug-reset_pw.md': 'troubleshooting/debug-reset_pw.en.md'
|
'debug-reset_pw.md': 'troubleshooting/debug-reset_pw.en.md'
|
||||||
'debug-reset_tls.md': 'troubleshooting/debug-reset_tls.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_migrate/b_r_m-backup.en.md'
|
||||||
'b_n_r-backup.md': 'backup_restore/b_n_r-backup.en.md'
|
'b_n_r-restore.md': 'backup_restore_migrate/b_r_m-restore.en.md'
|
||||||
'b_n_r-restore.md': 'backup_restore/b_n_r-restore.en.md'
|
'migration.md': 'backup_restore_migrate/b_r_m_migration.en.md'
|
||||||
'b_n_r-coldstandby.md': 'backup_restore/b_n_r-coldstandby.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/b_n_r-backup_restore-maildir.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/b_n_r-backup_restore-mysql.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/b_n_r-accidental_deletion.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-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-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'
|
'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-portainer.md': 'third_party/portainer/third_party-portainer.en.md'
|
||||||
'third_party-roundcube.md': 'third_party/roundcube/third_party-roundcube.en.md'
|
'third_party-roundcube.md': 'third_party/roundcube/third_party-roundcube.en.md'
|
||||||
- search:
|
- search:
|
||||||
# separator: '[\s\-,:!=\[\]()"/]+|(?!\b)(?=[A-Z][a-z])|\.(?!\d)|&[lg]t;'
|
separator: '[\s\-,:!=\[\]()"/]+|(?!\b)(?=[A-Z][a-z])|\.(?!\d)|&[lg]t;'
|
||||||
lang:
|
|
||||||
- en
|
|
||||||
- de
|
|
||||||
- social
|
- social
|
||||||
|
- glightbox
|
||||||
|
|
||||||
|
|
||||||
extra:
|
extra:
|
||||||
|
|
Laden …
In neuem Issue referenzieren