diff --git a/docs/backup_restore/b_n_r-accidental_deletion.de.md b/docs/backup_restore/b_n_r-accidental_deletion.de.md index 15f0a6ba5..d0cbbc489 100644 --- a/docs/backup_restore/b_n_r-accidental_deletion.de.md +++ b/docs/backup_restore/b_n_r-accidental_deletion.de.md @@ -12,13 +12,13 @@ Kopieren Sie die Datei mit dem Namen des Benutzers, den Sie wiederherstellen wol 1\. Kopieren Sie die Sicherung: `cp /var/lib/docker/volumes/mailcowdockerized_sogo-userdata-backup-vol-1/_data/restoreme@example.org __MAILCOW_DIRECTORY__/data/conf/sogo` -2\. Starten Sie `docker compose exec -u sogo sogo-mailcow sogo-tool restore -F ALL /etc/sogo restoreme@example.org`. +2\. Starten Sie `docker-compose exec -u sogo sogo-mailcow sogo-tool restore -F ALL /etc/sogo restoreme@example.org`. Führen Sie `sogo-tool` ohne Parameter aus, um nach möglichen Wiederherstellungsoptionen zu suchen. 3\. Löschen Sie die kopierte Sicherung, indem Sie `rm __MAILCOW_DIRECTORY__/data/conf/sogo` ausführen -4\. Starten Sie SOGo und Memcached neu: `docker compose restart sogo-mailcow memcached-mailcow` +4\. Starten Sie SOGo und Memcached neu: `docker-compose restart sogo-mailcow memcached-mailcow` ### Mail @@ -35,6 +35,6 @@ Um die Mailbox wiederherzustellen, stellen Sie sicher, dass Sie tatsächlich auf Kopieren Sie die Ordner von `/var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data/_garbage/[timestamp]_[domain_sanitized][user_sanitized]` zurück nach `/var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data/[domain]/[user]` und synchronisieren Sie die Ordner neu und berechnen Sie die Quota (Speicherplatz) neu: ``` -docker compose exec dovecot-mailcow doveadm force-resync -u restoreme@example.net '*' -docker compose exec dovecot-mailcow doveadm quota recalc -u restoreme@example.net +docker-compose exec dovecot-mailcow doveadm force-resync -u restoreme@example.net '*' +docker-compose exec dovecot-mailcow doveadm quota recalc -u restoreme@example.net ``` diff --git a/docs/backup_restore/b_n_r-accidental_deletion.en.md b/docs/backup_restore/b_n_r-accidental_deletion.en.md index d7b6a324a..e6518dafd 100644 --- a/docs/backup_restore/b_n_r-accidental_deletion.en.md +++ b/docs/backup_restore/b_n_r-accidental_deletion.en.md @@ -12,13 +12,13 @@ Copy the file named after the user you want to restore to `__MAILCOW_DIRECTORY__ 1\. Copy the backup: `cp /var/lib/docker/volumes/mailcowdockerized_sogo-userdata-backup-vol-1/_data/restoreme@example.org __MAILCOW_DIRECTORY__/data/conf/sogo` -2\. Run `docker compose exec -u sogo sogo-mailcow sogo-tool restore -F ALL /etc/sogo restoreme@example.org` +2\. Run `docker-compose exec -u sogo sogo-mailcow sogo-tool restore -F ALL /etc/sogo restoreme@example.org` Run `sogo-tool` without parameters to check for possible restore options. 3\. Delete the copied backup by running `rm __MAILCOW_DIRECTORY__/data/conf/sogo` -4\. Restart SOGo and Memcached: `docker compose restart sogo-mailcow memcached-mailcow` +4\. Restart SOGo and Memcached: `docker-compose restart sogo-mailcow memcached-mailcow` ### Mail @@ -35,6 +35,6 @@ To restore make sure you are actually restoring to the same mailcow it was delet Copy the folders from `/var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data/_garbage/[timestamp]_[domain_sanitized][user_sanitized]` back to `/var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data/[domain]/[user]` and resync the folder and recalc the quota: ``` -docker compose exec dovecot-mailcow doveadm force-resync -u restoreme@example.net '*' -docker compose exec dovecot-mailcow doveadm quota recalc -u restoreme@example.net +docker-compose exec dovecot-mailcow doveadm force-resync -u restoreme@example.net '*' +docker-compose exec dovecot-mailcow doveadm quota recalc -u restoreme@example.net ``` \ No newline at end of file diff --git a/docs/backup_restore/b_n_r-backup.de.md b/docs/backup_restore/b_n_r-backup.de.md index bc2a7eb9b..453fca8c4 100644 --- a/docs/backup_restore/b_n_r-backup.de.md +++ b/docs/backup_restore/b_n_r-backup.de.md @@ -110,7 +110,7 @@ Cronjobs erstellen: Am Zielort (in diesem Fall `/external_share/backups`) möchten Sie vielleicht Snapshot-Fähigkeiten haben (ZFS, Btrfs usw.). Machen Sie täglich einen Snapshot und bewahren Sie ihn für n Tage auf, um ein konsistentes Backup zu erhalten. Führen Sie **kein** rsync auf eine Samba-Freigabe durch, Sie müssen die richtigen Berechtigungen einhalten! -Zum Wiederherstellen müssen Sie rsync einfach in umgekehrter Richtung ausführen und Docker neu starten, um die Volumes erneut zu lesen. Führen Sie `docker compose pull` und `docker compose up -d` aus. +Zum Wiederherstellen müssen Sie rsync einfach in umgekehrter Richtung ausführen und Docker neu starten, um die Volumes erneut zu lesen. Führen Sie `docker-compose pull` und `docker-compose up -d` aus. Wenn Sie Glück haben, können Redis und MariaDB die inkonsistenten Datenbanken automatisch reparieren (wenn sie _inkonsistent_ sind). Im Falle einer beschädigten Datenbank müssen Sie das Hilfsskript verwenden, um die inkonsistenten Elemente wiederherzustellen. Wenn die Wiederherstellung fehlschlägt, versuchen Sie, die Sicherungen zu extrahieren und die Dateien manuell zurück zu kopieren. Behalten Sie die Dateiberechtigungen bei! \ No newline at end of file diff --git a/docs/backup_restore/b_n_r-backup.en.md b/docs/backup_restore/b_n_r-backup.en.md index 796426b48..50d29f0ce 100644 --- a/docs/backup_restore/b_n_r-backup.en.md +++ b/docs/backup_restore/b_n_r-backup.en.md @@ -91,7 +91,7 @@ Create cronjobs: On the destination (in this case `/external_share/backups`) you may want to have snapshot capabilities (ZFS, Btrfs etc.). Snapshot daily and keep for n days for a consistent backup. Do **not** rsync to a Samba share, you need to keep the correct permissions! -To restore you'd simply need to run rsync the other way round and restart Docker to re-read the volumes. Run `docker compose pull` and `docker compose up -d`. +To restore you'd simply need to run rsync the other way round and restart Docker to re-read the volumes. Run `docker-compose pull` and `docker-compose up -d`. If you are lucky Redis and MariaDB can automatically fix the inconsistent databases (if they _are_ inconsistent). In case of a corrupted database you'd need to use the helper script to restore the inconsistent elements. If a restore fails, try to extract the backups and copy the files back manually. Keep the file permissions! diff --git a/docs/backup_restore/b_n_r-backup_restore-maildir.de.md b/docs/backup_restore/b_n_r-backup_restore-maildir.de.md index be83603ec..c852aafc3 100644 --- a/docs/backup_restore/b_n_r-backup_restore-maildir.de.md +++ b/docs/backup_restore/b_n_r-backup_restore-maildir.de.md @@ -3,7 +3,7 @@ Diese Zeile sichert das vmail-Verzeichnis in eine Datei backup_vmail.tar.gz im mailcow-Root-Verzeichnis: ``` cd /pfad/zu/mailcow-dockerized -docker run --rm -i -v $(docker inspect --format '{{ range .Mounts }}{{ if eq .Destination "/var/vmail" }}{{ .Name }}{{ end }}{{{ end }}' $(docker compose ps -q dovecot-mailcow)):/vmail -v ${PWD}:/backup debian:stretch-slim tar cvfz /backup/backup_vmail.tar.gz /vmail +docker run --rm -i -v $(docker inspect --format '{{ range .Mounts }}{{ if eq .Destination "/var/vmail" }}{{ .Name }}{{ end }}{{{ end }}' $(docker-compose ps -q dovecot-mailcow)):/vmail -v ${PWD}:/backup debian:stretch-slim tar cvfz /backup/backup_vmail.tar.gz /vmail ``` Sie können den Pfad ändern, indem Sie ${PWD} (das dem aktuellen Verzeichnis entspricht) an einen beliebigen Pfad anpassen, auf den Sie Schreibzugriff haben. @@ -12,5 +12,5 @@ Setzen Sie den Dateinamen `backup_vmail.tar.gz` auf einen beliebigen Namen, aber ### Wiederherstellen ``` cd /pfad/zu/mailcow-dockerized -docker run --rm -it -v $(docker inspect --format '{{ range .Mounts }}{{ if eq .Destination "/var/vmail" }}{{ .Name }}{{ end }}{{ end }}' $(docker compose ps -q dovecot-mailcow)):/vmail -v ${PWD}:/backup debian:stretch-slim tar xvfz /backup/backup_vmail.tar.gz +docker run --rm -it -v $(docker inspect --format '{{ range .Mounts }}{{ if eq .Destination "/var/vmail" }}{{ .Name }}{{ end }}{{ end }}' $(docker-compose ps -q dovecot-mailcow)):/vmail -v ${PWD}:/backup debian:stretch-slim tar xvfz /backup/backup_vmail.tar.gz ``` \ No newline at end of file diff --git a/docs/backup_restore/b_n_r-backup_restore-maildir.en.md b/docs/backup_restore/b_n_r-backup_restore-maildir.en.md index 3906dcb01..0c3a91367 100644 --- a/docs/backup_restore/b_n_r-backup_restore-maildir.en.md +++ b/docs/backup_restore/b_n_r-backup_restore-maildir.en.md @@ -3,7 +3,7 @@ This line backups the vmail directory to a file backup_vmail.tar.gz in the mailcow root directory: ``` cd /path/to/mailcow-dockerized -docker run --rm -i -v $(docker inspect --format '{{ range .Mounts }}{{ if eq .Destination "/var/vmail" }}{{ .Name }}{{ end }}{{ end }}' $(docker compose ps -q dovecot-mailcow)):/vmail -v ${PWD}:/backup debian:stretch-slim tar cvfz /backup/backup_vmail.tar.gz /vmail +docker run --rm -i -v $(docker inspect --format '{{ range .Mounts }}{{ if eq .Destination "/var/vmail" }}{{ .Name }}{{ end }}{{ end }}' $(docker-compose ps -q dovecot-mailcow)):/vmail -v ${PWD}:/backup debian:stretch-slim tar cvfz /backup/backup_vmail.tar.gz /vmail ``` You can change the path by adjusting ${PWD} (which equals to the current directory) to any path you have write-access to. @@ -12,5 +12,5 @@ Set the filename `backup_vmail.tar.gz` to any custom name, but leave the path as ### Restore ``` cd /path/to/mailcow-dockerized -docker run --rm -it -v $(docker inspect --format '{{ range .Mounts }}{{ if eq .Destination "/var/vmail" }}{{ .Name }}{{ end }}{{ end }}' $(docker compose ps -q dovecot-mailcow)):/vmail -v ${PWD}:/backup debian:stretch-slim tar xvfz /backup/backup_vmail.tar.gz +docker run --rm -it -v $(docker inspect --format '{{ range .Mounts }}{{ if eq .Destination "/var/vmail" }}{{ .Name }}{{ end }}{{ end }}' $(docker-compose ps -q dovecot-mailcow)):/vmail -v ${PWD}:/backup debian:stretch-slim tar xvfz /backup/backup_vmail.tar.gz ``` \ No newline at end of file diff --git a/docs/backup_restore/b_n_r-backup_restore-mysql.de.md b/docs/backup_restore/b_n_r-backup_restore-mysql.de.md index a5874a3c8..80035550e 100644 --- a/docs/backup_restore/b_n_r-backup_restore-mysql.de.md +++ b/docs/backup_restore/b_n_r-backup_restore-mysql.de.md @@ -4,16 +4,16 @@ cd /pfad/zu/mailcow-dockerized source mailcow.conf DATE=$(Datum +"%Y%m%d_%H%M%S") -docker compose exec -T mysql-mailcow mysqldump --default-character-set=utf8mb4 -u${DBUSER} -p${DBPASS} ${DBNAME} > backup_${DBNAME}_${DATE}.sql +docker-compose exec -T mysql-mailcow mysqldump --default-character-set=utf8mb4 -u${DBUSER} -p${DBPASS} ${DBNAME} > backup_${DBNAME}_${DATE}.sql ``` ## Wiederherstellen !!! warning - Sie sollten den SQL-Dump ohne `docker compose` umleiten, um Parsing-Fehler zu vermeiden. + Sie sollten den SQL-Dump ohne `docker-compose` umleiten, um Parsing-Fehler zu vermeiden. ``` cd /pfad/zu/mailcow-dockerized source mailcow.conf -docker exec -i $(docker compose ps -q mysql-mailcow) mysql -u${DBUSER} -p${DBPASS} ${DBNAME} < backup_file.sql +docker exec -i $(docker-compose ps -q mysql-mailcow) mysql -u${DBUSER} -p${DBPASS} ${DBNAME} < backup_file.sql ``` diff --git a/docs/backup_restore/b_n_r-backup_restore-mysql.en.md b/docs/backup_restore/b_n_r-backup_restore-mysql.en.md index 0739ca79d..496814c47 100644 --- a/docs/backup_restore/b_n_r-backup_restore-mysql.en.md +++ b/docs/backup_restore/b_n_r-backup_restore-mysql.en.md @@ -4,16 +4,16 @@ cd /path/to/mailcow-dockerized source mailcow.conf DATE=$(date +"%Y%m%d_%H%M%S") -docker compose exec -T mysql-mailcow mysqldump --default-character-set=utf8mb4 -u${DBUSER} -p${DBPASS} ${DBNAME} > backup_${DBNAME}_${DATE}.sql +docker-compose exec -T mysql-mailcow mysqldump --default-character-set=utf8mb4 -u${DBUSER} -p${DBPASS} ${DBNAME} > backup_${DBNAME}_${DATE}.sql ``` ## Restore !!! warning - You should redirect the SQL dump without `docker compose` to prevent parsing errors. + You should redirect the SQL dump without `docker-compose` to prevent parsing errors. ``` cd /path/to/mailcow-dockerized source mailcow.conf -docker exec -i $(docker compose ps -q mysql-mailcow) mysql -u${DBUSER} -p${DBPASS} ${DBNAME} < backup_file.sql +docker exec -i $(docker-compose ps -q mysql-mailcow) mysql -u${DBUSER} -p${DBPASS} ${DBNAME} < backup_file.sql ``` \ No newline at end of file diff --git a/docs/backup_restore/b_n_r-coldstandby.de.md b/docs/backup_restore/b_n_r-coldstandby.de.md index ef606a03d..443dfa4d7 100644 --- a/docs/backup_restore/b_n_r-coldstandby.de.md +++ b/docs/backup_restore/b_n_r-coldstandby.de.md @@ -18,7 +18,7 @@ Die Verwendung von rsync mit dem `--delete` Flag. Das Ziel wird eine exakte Kopi `mariabackup` wird verwendet, um eine konsistente Kopie des SQL-Datenverzeichnisses zu erstellen. -Nach dem Rsync der Daten führen wir `docker compose pull` aus und entfernen alte Image-Tags aus dem Ziel. +Nach dem Rsync der Daten führen wir `docker-compose pull` aus und entfernen alte Image-Tags aus dem Ziel. Ihre Quelle wird zu keinem Zeitpunkt verändert. @@ -45,7 +45,7 @@ export REMOTE_SSH_HOST=mailcow-backup.host.name Der Schlüssel muss im Besitz von root sein und darf nur von diesem gelesen werden können. Sowohl die Quelle als auch das Ziel benötigen `rsync` >= v3.1.0. -Das Ziel muss über Docker und docker compose **v1** verfügen. +Das Ziel muss über Docker und docker-compose **v1** verfügen. Das Skript wird Fehler automatisch erkennen und sich beenden. diff --git a/docs/backup_restore/b_n_r-coldstandby.en.md b/docs/backup_restore/b_n_r-coldstandby.en.md index cc6ff961f..fef1017e1 100644 --- a/docs/backup_restore/b_n_r-coldstandby.en.md +++ b/docs/backup_restore/b_n_r-coldstandby.en.md @@ -18,7 +18,7 @@ The use rsync with the `--delete` flag. The destination will be an exact copy of `mariabackup` is used to create a consistent copy of the SQL data directory. -After rsync'ing the data we will run `docker compose pull` and remove old image tags from the destination. +After rsync'ing the data we will run `docker-compose pull` and remove old image tags from the destination. Your source will not be changed at any time. @@ -45,7 +45,7 @@ export REMOTE_SSH_HOST=mailcow-backup.host.name The key must be owned and readable by root only. Both the source and destination require `rsync` >= v3.1.0. -The destination must have Docker and docker compose **v1** available. +The destination must have Docker and docker-compose **v1** available. The script will detect errors automatically and exit. diff --git a/docs/i_u_m/i_u_m_deinstall.de.md b/docs/i_u_m/i_u_m_deinstall.de.md index fbdd271ee..69d5793d4 100644 --- a/docs/i_u_m/i_u_m_deinstall.de.md +++ b/docs/i_u_m/i_u_m_deinstall.de.md @@ -1,11 +1,11 @@ Um mailcow: dockerized mit all seinen Volumes, Images und Containern zu entfernen, tun Sie dies: ``` -docker compose down -v --rmi all --remove-orphans +docker-compose down -v --rmi all --remove-orphans ``` !!! info - **-v** Entfernt benannte Volumes, die im Abschnitt `volumes` der Compose-Datei deklariert sind, und anonyme Volumes, die an Container angehängt sind. - **--rmi ** Images entfernen. Der Typ muss einer der folgenden sein: `all`: Entfernt alle Images, die von einem beliebigen Dienst verwendet werden. `local`: Entfernt nur Bilder, die kein benutzerdefiniertes Tag haben, das durch das Feld "image" gesetzt wurde. - **--remove-orphans** Entfernt Container für Dienste, die nicht in der Compose-Datei definiert sind. - - Standardmäßig entfernt `docker compose down` nur derzeit aktive Container und Netzwerke, die in der Datei `docker compose.yml` definiert sind. \ No newline at end of file + - Standardmäßig entfernt `docker-compose down` nur derzeit aktive Container und Netzwerke, die in der Datei `docker-compose.yml` definiert sind. \ No newline at end of file diff --git a/docs/i_u_m/i_u_m_deinstall.en.md b/docs/i_u_m/i_u_m_deinstall.en.md index 8f91053cd..696351b67 100644 --- a/docs/i_u_m/i_u_m_deinstall.en.md +++ b/docs/i_u_m/i_u_m_deinstall.en.md @@ -1,11 +1,11 @@ To remove mailcow: dockerized with all it's volumes, images and containers do: ``` -docker compose down -v --rmi all --remove-orphans +docker-compose down -v --rmi all --remove-orphans ``` !!! info - **-v** Remove named volumes declared in the `volumes` section of the Compose file and anonymous volumes attached to containers. - **--rmi ** Remove images. Type must be one of: `all`: Remove all images used by any service. `local`: Remove only images that don't have a custom tag set by the `image` field. - **--remove-orphans** Remove containers for services not defined in the compose file. - - By default `docker compose down` only removes currently active containers and networks defined in the `docker compose.yml`. + - By default `docker-compose down` only removes currently active containers and networks defined in the `docker-compose.yml`. diff --git a/docs/i_u_m/i_u_m_install.de.md b/docs/i_u_m/i_u_m_install.de.md index 31a3134c4..10e3b1f21 100644 --- a/docs/i_u_m/i_u_m_install.de.md +++ b/docs/i_u_m/i_u_m_install.de.md @@ -14,12 +14,12 @@ systemctl enable --now docker - Docker-Compose !!! warning - **mailcow benötigt die neueste Version von docker compose v1.** Es wird dringend empfohlen, die untenstehenden Befehle zu verwenden, um `docker compose` zu installieren. Paket-Manager (z.B. `apt`, `yum`) werden **wahrscheinlich** nicht die richtige Version liefern. - Hinweis: Dieser Befehl lädt docker compose aus dem offiziellen Docker-Github-Repository herunter und ist eine sichere Methode. Das Snippet ermittelt die neueste unterstützte Version von mailcow. In fast allen Fällen ist dies die letzte verfügbare Version (Ausnahmen sind kaputte Versionen oder größere Änderungen, die noch nicht von mailcow unterstützt werden). + **mailcow benötigt die neueste Version von docker-compose v1.** Es wird dringend empfohlen, die untenstehenden Befehle zu verwenden, um `docker-compose` zu installieren. Paket-Manager (z.B. `apt`, `yum`) werden **wahrscheinlich** nicht die richtige Version liefern. + Hinweis: Dieser Befehl lädt docker-compose aus dem offiziellen Docker-Github-Repository herunter und ist eine sichere Methode. Das Snippet ermittelt die neueste unterstützte Version von mailcow. In fast allen Fällen ist dies die letzte verfügbare Version (Ausnahmen sind kaputte Versionen oder größere Änderungen, die noch nicht von mailcow unterstützt werden). ``` -curl -L https://github.com/docker/compose/releases/download/$(curl -Ls https://www.servercow.de/docker compose/latest.php)/docker compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker compose -chmod +x /usr/local/bin/docker compose +curl -L https://github.com/docker/compose/releases/download/$(curl -Ls https://www.servercow.de/docker-compose/latest.php)/docker-compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker-compose +chmod +x /usr/local/bin/docker-compose ``` Bitte verwenden Sie die neueste verfügbare Docker-Engine und nicht die Engine, die mit Ihrem Distros-Repository ausgeliefert wird. @@ -84,7 +84,7 @@ Einige Updates modifizieren mailcow.conf und fügen neue Parameter hinzu. Es ist **Wenn Sie auf Probleme und seltsame Phänomene stoßen, überprüfen Sie bitte Ihre MTU.** -Bearbeiten Sie `docker compose.yml` und ändern Sie die Netzwerkeinstellungen entsprechend Ihrer MTU. +Bearbeiten Sie `docker-compose.yml` und ändern Sie die Netzwerkeinstellungen entsprechend Ihrer MTU. Fügen Sie den neuen Parameter driver_opts wie folgt hinzu: ``` networks: @@ -104,8 +104,8 @@ Wenn Sie kein IPv6-fähiges Netzwerk auf Ihrem Host haben und Sie sich nicht um **5\.** LAden Sie die Images herunter und führen Sie die Compose-Datei aus. Der Parameter `-d` wird mailcow: dockerized starten: ``` -docker compose pull -docker compose up -d +docker-compose pull +docker-compose up -d ``` Geschafft! @@ -117,4 +117,4 @@ Sie können nun auf **https://${MAILCOW_HOSTNAME}** mit den Standard-Zugangsdate Die Datenbank wird sofort initialisiert, nachdem eine Verbindung zu MySQL hergestellt werden kann. -Ihre Daten bleiben in mehreren Docker-Volumes erhalten, die nicht gelöscht werden, wenn Sie Container neu erstellen oder löschen. Führen Sie `docker volume ls` aus, um eine Liste aller Volumes zu sehen. Sie können `docker compose down` sicher ausführen, ohne persistente Daten zu entfernen. +Ihre Daten bleiben in mehreren Docker-Volumes erhalten, die nicht gelöscht werden, wenn Sie Container neu erstellen oder löschen. Führen Sie `docker volume ls` aus, um eine Liste aller Volumes zu sehen. Sie können `docker-compose down` sicher ausführen, ohne persistente Daten zu entfernen. diff --git a/docs/i_u_m/i_u_m_install.en.md b/docs/i_u_m/i_u_m_install.en.md index 0bef17e58..86bdc0534 100644 --- a/docs/i_u_m/i_u_m_install.en.md +++ b/docs/i_u_m/i_u_m_install.en.md @@ -84,7 +84,7 @@ Some updates modify mailcow.conf and add new parameters. It is hard to keep trac **Whenever you run into trouble and strange phenomena, please check your MTU.** -Edit `docker compose.yml` and change the network settings according to your MTU. +Edit `docker-compose.yml` and change the network settings according to your MTU. Add the new driver_opts parameter like this: ``` networks: diff --git a/docs/i_u_m/i_u_m_migration.de.md b/docs/i_u_m/i_u_m_migration.de.md index af66bfbb1..272ec2ecc 100644 --- a/docs/i_u_m/i_u_m_migration.de.md +++ b/docs/i_u_m/i_u_m_migration.de.md @@ -16,10 +16,10 @@ curl -sSL https://get.docker.com/ | CHANNEL=stable sh systemctl enable docker.service ``` -- docker compose +- docker-compose ``` -curl -L https://github.com/docker/compose/releases/download/$(curl -Ls https://www.servercow.de/docker compose/latest.php)/docker compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker compose -chmod +x /usr/local/bin/docker compose +curl -L https://github.com/docker/compose/releases/download/$(curl -Ls https://www.servercow.de/docker-compose/latest.php)/docker-compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker-compose +chmod +x /usr/local/bin/docker-compose ``` Bitte verwenden Sie die neueste verfügbare Docker-Engine und nicht die Engine, die mit Ihrem Distros-Repository ausgeliefert wird. @@ -39,7 +39,7 @@ rsync -aHhP --numeric-ids --delete /var/lib/docker/volumes/ root@target-machine. **4\.** Schalten Sie mailcow ab und stoppen Sie Docker auf dem Quellrechner. ``` cd /opt/mailcow-dockerized -docker compose herunterfahren +docker-compose herunterfahren systemctl stop docker.service ``` @@ -53,12 +53,12 @@ systemctl start docker.service **7\.** Ziehen Sie nun die mailcow Docker-Images auf den Zielrechner. ``` cd /opt/mailcow-dockerized -docker compose pull +docker-compose pull ``` **8\.** Starten Sie den gesamten mailcow-Stack und alles sollte fertig sein! ``` -docker compose up -d +docker-compose up -d ``` **9\.** Zum Schluss ändern Sie Ihre DNS-Einstellungen so, dass sie auf den Zielserver zeigen. \ No newline at end of file diff --git a/docs/i_u_m/i_u_m_migration.en.md b/docs/i_u_m/i_u_m_migration.en.md index 638d459d1..2890f9cd9 100644 --- a/docs/i_u_m/i_u_m_migration.en.md +++ b/docs/i_u_m/i_u_m_migration.en.md @@ -16,10 +16,10 @@ curl -sSL https://get.docker.com/ | CHANNEL=stable sh systemctl enable docker.service ``` -- docker compose +- docker-compose ``` -curl -L https://github.com/docker/compose/releases/download/$(curl -Ls https://www.servercow.de/docker compose/latest.php)/docker compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker compose -chmod +x /usr/local/bin/docker compose +curl -L https://github.com/docker/compose/releases/download/$(curl -Ls https://www.servercow.de/docker-compose/latest.php)/docker-compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker-compose +chmod +x /usr/local/bin/docker-compose ``` Please use the latest Docker engine available and do not use the engine that ships with your distros repository. @@ -39,7 +39,7 @@ rsync -aHhP --numeric-ids --delete /var/lib/docker/volumes/ root@target-machine. **4\.** Shut down mailcow and stop Docker on the source machine. ``` cd /opt/mailcow-dockerized -docker compose down +docker-compose down systemctl stop docker.service ``` @@ -53,12 +53,12 @@ systemctl start docker.service **7\.** Now pull the mailcow Docker images on the target machine. ``` cd /opt/mailcow-dockerized -docker compose pull +docker-compose pull ``` **8\.** Start the whole mailcow stack and everything should be done! ``` -docker compose up -d +docker-compose up -d ``` **9\.** Finally, change your DNS settings to point to the target server. diff --git a/docs/i_u_m/i_u_m_update.de.md b/docs/i_u_m/i_u_m_update.de.md index 3a41900ce..acede8962 100644 --- a/docs/i_u_m/i_u_m_update.de.md +++ b/docs/i_u_m/i_u_m_update.de.md @@ -21,7 +21,7 @@ Einige kleinere Konflikte werden automatisch korrigiert (zugunsten des mailcow: # - Prüft auf Updates und zeigt Änderungen an ./update.sh --check -# Versuchen Sie nicht, docker compose zu aktualisieren, **stellen Sie sicher, dass Sie die neueste verfügbare Version von docker compose verwenden** +# Versuchen Sie nicht, docker-compose zu aktualisieren, **stellen Sie sicher, dass Sie die neueste verfügbare Version von docker-compose verwenden** ./update.sh --no-update-compose # - Starten Sie mailcow nicht, nachdem Sie ein Update durchgeführt haben @@ -62,11 +62,11 @@ Ja. Siehe das obige Thema, anstelle eines Diffs führen Sie checkout aus: ``` -docker compose down +docker-compose down # Ersetzen Sie die Commit-ID 22cd00b5e28893ef9ddef3c2b5436453cc5223ab durch Ihre ID git checkout 22cd00b5e28893ef9ddef3c2b5436453cc5223ab -docker compose pull -docker compose up -d +docker-compose pull +docker-compose up -d ``` ### Hooks diff --git a/docs/i_u_m/i_u_m_update.en.md b/docs/i_u_m/i_u_m_update.en.md index 4f5397d16..6b6a838ae 100644 --- a/docs/i_u_m/i_u_m_update.en.md +++ b/docs/i_u_m/i_u_m_update.en.md @@ -21,7 +21,7 @@ Some minor conflicts will be auto-corrected (in favour for the mailcow: dockeriz # - Check for updates and show changes ./update.sh --check -# Do not try to update docker compose, **make sure to use the latest docker compose available** +# Do not try to update docker-compose, **make sure to use the latest docker-compose available** ./update.sh --no-update-compose # - Do not start mailcow after applying an update @@ -62,11 +62,11 @@ Yes. See the topic above, instead of a diff, you run checkout: ``` -docker compose down +docker-compose down # Replace commit ID 22cd00b5e28893ef9ddef3c2b5436453cc5223ab by your ID git checkout 22cd00b5e28893ef9ddef3c2b5436453cc5223ab -docker compose pull -docker compose up -d +docker-compose pull +docker-compose up -d ``` ### Hooks diff --git a/docs/manual-guides/ClamAV/u_e-clamav-additional_dbs.de.md b/docs/manual-guides/ClamAV/u_e-clamav-additional_dbs.de.md index 1f9c335e8..16ed60c34 100644 --- a/docs/manual-guides/ClamAV/u_e-clamav-additional_dbs.de.md +++ b/docs/manual-guides/ClamAV/u_e-clamav-additional_dbs.de.md @@ -45,7 +45,7 @@ MaxZipTypeRcg 50M ``` 10. Starten Sie den ClamAV Container neu: ```bash -docker compose restart clamd-mailcow +docker-compose restart clamd-mailcow ``` **Bitte beachten Sie**: @@ -66,5 +66,5 @@ DatabaseCustomURL http://sigs.interserver.net/whitelist.fp ``` 2. Starten Sie den ClamAV Container neu: ```bash -docker compose restart clamd-mailcow +docker-compose restart clamd-mailcow ``` diff --git a/docs/manual-guides/ClamAV/u_e-clamav-additional_dbs.en.md b/docs/manual-guides/ClamAV/u_e-clamav-additional_dbs.en.md index b912ec280..be12d9c12 100644 --- a/docs/manual-guides/ClamAV/u_e-clamav-additional_dbs.en.md +++ b/docs/manual-guides/ClamAV/u_e-clamav-additional_dbs.en.md @@ -45,7 +45,7 @@ MaxZipTypeRcg 50M ``` 10. Restart ClamAV container: ```bash -docker compose restart clamd-mailcow +docker-compose restart clamd-mailcow ``` Please note: @@ -66,5 +66,5 @@ DatabaseCustomURL http://sigs.interserver.net/whitelist.fp ``` 2. Restart ClamAV container: ```bash -docker compose restart clamd-mailcow +docker-compose restart clamd-mailcow ``` diff --git a/docs/manual-guides/ClamAV/u_e-clamav-whitelist.de.md b/docs/manual-guides/ClamAV/u_e-clamav-whitelist.de.md index 615c4744b..d7db6fb3c 100644 --- a/docs/manual-guides/ClamAV/u_e-clamav-whitelist.de.md +++ b/docs/manual-guides/ClamAV/u_e-clamav-whitelist.de.md @@ -3,7 +3,7 @@ Es kann vorkommen, dass legitime (saubere) Mails von ClamAV blockiert werden (Rspamd markiert die Mail mit `VIRUS_FOUND`). So werden beispielsweise interaktive PDF-Formularanhänge standardmäßig blockiert, da der eingebettete Javascript-Code für schädliche Zwecke verwendet werden könnte. Überprüfen Sie dies anhand der clamd-Protokolle, z.B.: ```bash -docker compose logs clamd-mailcow | grep "FOUND" +docker-compose logs clamd-mailcow | grep "FOUND" ``` Diese Zeile bestätigt, dass ein solcher identifiziert wurde: @@ -18,16 +18,16 @@ Um diese spezielle Signatur auf die Whitelist zu setzen (und den Versand dieses echo 'PUA.Pdf.Trojan.EmbeddedJavaScript-1' >> data/conf/clamav/whitelist.ign2 ``` -Dann starten Sie den clamd-mailcow Service Container in der mailcow UI oder mit docker compose neu: +Dann starten Sie den clamd-mailcow Service Container in der mailcow UI oder mit docker-compose neu: ```bash -docker compose restart clamd-mailcow +docker-compose restart clamd-mailcow ``` Bereinigen Sie zwischengespeicherte ClamAV-Ergebnisse in Redis: ``` -# docker compose exec redis-mailcow /bin/sh +# docker-compose exec redis-mailcow /bin/sh /data # redis-cli KEYS rs_cl* | xargs redis-cli DEL /data # exit ``` diff --git a/docs/manual-guides/ClamAV/u_e-clamav-whitelist.en.md b/docs/manual-guides/ClamAV/u_e-clamav-whitelist.en.md index 270d4736e..b244cace1 100644 --- a/docs/manual-guides/ClamAV/u_e-clamav-whitelist.en.md +++ b/docs/manual-guides/ClamAV/u_e-clamav-whitelist.en.md @@ -3,7 +3,7 @@ You may find that legitimate (clean) mail is being blocked by ClamAV (Rspamd will flag the mail with `VIRUS_FOUND`). For instance, interactive PDF form attachments are blocked by default because the embedded Javascript code may be used for nefarious purposes. Confirm by looking at the clamd logs, e.g.: ```bash -docker compose logs clamd-mailcow | grep "FOUND" +docker-compose logs clamd-mailcow | grep "FOUND" ``` This line confirms that such was identified: @@ -18,16 +18,16 @@ To whitelist this particular signature (and enable sending this type of file att echo 'PUA.Pdf.Trojan.EmbeddedJavaScript-1' >> data/conf/clamav/whitelist.ign2 ``` -Then restart the clamd-mailcow service container in the mailcow UI or using docker compose: +Then restart the clamd-mailcow service container in the mailcow UI or using docker-compose: ```bash -docker compose restart clamd-mailcow +docker-compose restart clamd-mailcow ``` Cleanup cached ClamAV results in Redis: ``` -# docker compose exec redis-mailcow /bin/sh +# docker-compose exec redis-mailcow /bin/sh /data # redis-cli KEYS rs_cl* | xargs redis-cli DEL /data # exit ``` diff --git a/docs/manual-guides/Docker/u_e-docker-cust_dockerfiles.de.md b/docs/manual-guides/Docker/u_e-docker-cust_dockerfiles.de.md index a35feb11a..0d588f192 100644 --- a/docs/manual-guides/Docker/u_e-docker-cust_dockerfiles.de.md +++ b/docs/manual-guides/Docker/u_e-docker-cust_dockerfiles.de.md @@ -1,7 +1,7 @@ Sie müssen die Override-Datei mit den entsprechenden Build-Tags in den mailcow: dockerized Root-Ordner (d.h. `/opt/mailcow-dockerized`) kopieren: ``` -cp helper-scripts/docker compose.override.yml.d/BUILD_FLAGS/docker compose.override.yml docker compose.override.yml +cp helper-scripts/docker-compose.override.yml.d/BUILD_FLAGS/docker-compose.override.yml docker-compose.override.yml ``` Nehmen Sie Ihre Änderungen in `data/Dockerfiles/$service` vor und erstellen Sie das Image lokal: @@ -13,5 +13,5 @@ docker build data/Dockerfiles/service -t mailcow/$service Nun werden die geänderten Container automatisch neu erstellt: ``` -docker compose up -d +docker-compose up -d ``` \ No newline at end of file diff --git a/docs/manual-guides/Docker/u_e-docker-cust_dockerfiles.en.md b/docs/manual-guides/Docker/u_e-docker-cust_dockerfiles.en.md index 4ce300ed1..dc3eff729 100644 --- a/docs/manual-guides/Docker/u_e-docker-cust_dockerfiles.en.md +++ b/docs/manual-guides/Docker/u_e-docker-cust_dockerfiles.en.md @@ -1,7 +1,7 @@ You need to copy the override file with corresponding build tags to the mailcow: dockerized root folder (i.e. `/opt/mailcow-dockerized`): ``` -cp helper-scripts/docker compose.override.yml.d/BUILD_FLAGS/docker compose.override.yml docker compose.override.yml +cp helper-scripts/docker-compose.override.yml.d/BUILD_FLAGS/docker-compose.override.yml docker-compose.override.yml ``` Make your changes in `data/Dockerfiles/$service` and build the image locally: @@ -13,5 +13,5 @@ docker build data/Dockerfiles/service -t mailcow/$service Now auto-recreate modified containers: ``` -docker compose up -d +docker-compose up -d ``` \ No newline at end of file diff --git a/docs/manual-guides/Docker/u_e-docker-dc_bash_compl.de.md b/docs/manual-guides/Docker/u_e-docker-dc_bash_compl.de.md new file mode 100644 index 000000000..1e837a11f --- /dev/null +++ b/docs/manual-guides/Docker/u_e-docker-dc_bash_compl.de.md @@ -0,0 +1,5 @@ +Um eine schöne Bash-Vervollständigung in Ihren Containern zu erhalten, führen Sie einfach das Folgende aus: + +``` +curl -L https://raw.githubusercontent.com/docker/compose/$(docker-compose version --short)/contrib/completion/bash/docker-compose -o /etc/bash_completion.d/docker-compose +``` \ No newline at end of file diff --git a/docs/manual-guides/Docker/u_e-docker-dc_bash_compl.en.md b/docs/manual-guides/Docker/u_e-docker-dc_bash_compl.en.md new file mode 100644 index 000000000..8748730a5 --- /dev/null +++ b/docs/manual-guides/Docker/u_e-docker-dc_bash_compl.en.md @@ -0,0 +1,5 @@ +To get some sexy bash completion inside your containers simply execute the following: + +``` +curl -L https://raw.githubusercontent.com/docker/compose/$(docker-compose version --short)/contrib/completion/bash/docker-compose -o /etc/bash_completion.d/docker-compose +``` \ No newline at end of file diff --git a/docs/manual-guides/Dovecot/u_e-dovecot-any_acl.de.md b/docs/manual-guides/Dovecot/u_e-dovecot-any_acl.de.md index 75f4a5e28..26c412a9f 100644 --- a/docs/manual-guides/Dovecot/u_e-dovecot-any_acl.de.md +++ b/docs/manual-guides/Dovecot/u_e-dovecot-any_acl.de.md @@ -6,4 +6,4 @@ Diese Funktion kann wieder aktiviert werden, indem `ACL_ANYONE` auf `allow` in m ACL_ANYONE=allow ``` -Wenden Sie die Änderungen an, indem Sie `docker compose up -d` ausführen. \ No newline at end of file +Wenden Sie die Änderungen an, indem Sie `docker-compose up -d` ausführen. \ No newline at end of file diff --git a/docs/manual-guides/Dovecot/u_e-dovecot-any_acl.en.md b/docs/manual-guides/Dovecot/u_e-dovecot-any_acl.en.md index 1169eaefd..adbe243a5 100644 --- a/docs/manual-guides/Dovecot/u_e-dovecot-any_acl.en.md +++ b/docs/manual-guides/Dovecot/u_e-dovecot-any_acl.en.md @@ -6,4 +6,4 @@ This function can be re-enabled by setting `ACL_ANYONE` to `allow` in mailcow.co ACL_ANYONE=allow ``` -Apply the changes by running `docker compose up -d`. \ No newline at end of file +Apply the changes by running `docker-compose up -d`. \ No newline at end of file diff --git a/docs/manual-guides/Dovecot/u_e-dovecot-expunge.de.md b/docs/manual-guides/Dovecot/u_e-dovecot-expunge.de.md index cf5680e0b..2f4e11653 100644 --- a/docs/manual-guides/Dovecot/u_e-dovecot-expunge.de.md +++ b/docs/manual-guides/Dovecot/u_e-dovecot-expunge.de.md @@ -7,25 +7,25 @@ Dann wollen wir mal loslegen: Löschen Sie die Mails eines Benutzers im Junk-Ordner, die **gelesen** und **älter** als 4 Stunden sind ``` -docker compose exec dovecot-mailcow doveadm expunge -u 'mailbox@example.com' mailbox 'Junk' SEEN not SINCE 4h +docker-compose exec dovecot-mailcow doveadm expunge -u 'mailbox@example.com' mailbox 'Junk' SEEN not SINCE 4h ``` Lösche **alle** Mails des Benutzers im Junk-Ordner, die **älter** als 7 Tage sind ``` -docker compose exec dovecot-mailcow doveadm expunge -A mailbox 'Junk' savedbefore 7d +docker-compose exec dovecot-mailcow doveadm expunge -A mailbox 'Junk' savedbefore 7d ``` Löscht **alle** Mails (aller Benutzer) in **allen** Ordnern, die **älter** als 52 Wochen sind (internes Datum der Mail, nicht das Datum, an dem sie auf dem System gespeichert wurde => `before` statt `savedbefore`). Nützlich zum Löschen sehr alter Mails in allen Benutzern und Ordnern (daher besonders nützlich für GDPR-Compliance). ``` -docker compose exec dovecot-mailcow doveadm expunge -A mailbox % before 52w +docker-compose exec dovecot-mailcow doveadm expunge -A mailbox % before 52w ``` Löschen von Mails in einem benutzerdefinierten Ordner **innerhalb** des Posteingangs eines Benutzers, die **nicht** gekennzeichnet und **älter** als 2 Wochen sind ``` -docker compose exec dovecot-mailcow doveadm expunge -u 'mailbox@example.com' mailbox 'INBOX/custom-folder' not FLAGGED not SINCE 2w +docker-compose exec dovecot-mailcow doveadm expunge -u 'mailbox@example.com' mailbox 'INBOX/custom-folder' not FLAGGED not SINCE 2w ``` !!! info @@ -42,8 +42,8 @@ Wenn Sie eine solche Aufgabe automatisieren wollen, können Sie einen Cron-Job a # Pfad zu mailcow-dockerized, z.B. /opt/mailcow-dockerized cd /pfad/zu/ihrem/mailcow-dockerized -/usr/local/bin/docker compose exec -T dovecot-mailcow doveadm expunge -A mailbox 'Junk' savedbefore 2w -/usr/local/bin/docker compose exec -T dovecot-mailcow doveadm expunge -A mailbox 'Junk' SEEN not SINCE 12h +/usr/local/bin/docker-compose exec -T dovecot-mailcow doveadm expunge -A mailbox 'Junk' savedbefore 2w +/usr/local/bin/docker-compose exec -T dovecot-mailcow doveadm expunge -A mailbox 'Junk' SEEN not SINCE 12h [...] ``` @@ -56,7 +56,7 @@ Um einen Cronjob zu erstellen, können Sie `crontab -e` ausführen und etwas wie ### über Docker Job Scheduler -Um dies mit einem Docker-Job-Scheduler zu archivieren, verwenden Sie diese docker compose.override.yml mit Ihrer Mailcow: +Um dies mit einem Docker-Job-Scheduler zu archivieren, verwenden Sie diese docker-compose.override.yml mit Ihrer Mailcow: ``` @@ -82,7 +82,7 @@ services: ``` Der Job-Controller braucht nur Zugriff auf den Docker Control Socket, um das Verhalten von "exec" zu emulieren. Dann fügen wir unserem Dovecot-Container ein paar Labels hinzu, um den Job-Scheduler zu aktivieren und ihm in einem Cron-kompatiblen Scheduling-Format mitzuteilen, wann er laufen soll. Wenn Sie Probleme mit dem Scheduling-String haben, können Sie [crontab guru](https://crontab.guru/) verwenden. -Diese docker compose.override.yml löscht jeden Tag um 4 Uhr morgens alle Mails, die älter als 2 Wochen sind, aus dem Ordner "Junk". Um zu sehen, ob alles richtig gelaufen ist, können Sie nicht nur in Ihrer Mailbox nachsehen, sondern auch im Docker-Log von Ofelia, ob es etwa so aussieht: +Diese docker-compose.override.yml löscht jeden Tag um 4 Uhr morgens alle Mails, die älter als 2 Wochen sind, aus dem Ordner "Junk". Um zu sehen, ob alles richtig gelaufen ist, können Sie nicht nur in Ihrer Mailbox nachsehen, sondern auch im Docker-Log von Ofelia, ob es etwa so aussieht: ``` common.go:124 ▶ NOTICE [Job "dovecot-expunge-trash" (8759567efa66)] Started - doveadm expunge -A mailbox 'Junk' savedbefore 2w, diff --git a/docs/manual-guides/Dovecot/u_e-dovecot-expunge.en.md b/docs/manual-guides/Dovecot/u_e-dovecot-expunge.en.md index 2dd5bcdbd..7023aa22f 100644 --- a/docs/manual-guides/Dovecot/u_e-dovecot-expunge.en.md +++ b/docs/manual-guides/Dovecot/u_e-dovecot-expunge.en.md @@ -7,25 +7,25 @@ That said, let's dive in: Delete a user's mails inside the junk folder that **are read** and **older** than 4 hours ``` -docker compose exec dovecot-mailcow doveadm expunge -u 'mailbox@example.com' mailbox 'Junk' SEEN not SINCE 4h +docker-compose exec dovecot-mailcow doveadm expunge -u 'mailbox@example.com' mailbox 'Junk' SEEN not SINCE 4h ``` Delete **all** user's mails in the junk folder that are **older** than 7 days ``` -docker compose exec dovecot-mailcow doveadm expunge -A mailbox 'Junk' savedbefore 7d +docker-compose exec dovecot-mailcow doveadm expunge -A mailbox 'Junk' savedbefore 7d ``` Delete **all** mails (of all users) in **all** folders that are **older** than 52 weeks (internal date of the mail, not the date it was saved on the system => `before` instead of `savedbefore`). Useful for deleting very old mails on all users and folders (thus especially useful for GDPR-compliance). ``` -docker compose exec dovecot-mailcow doveadm expunge -A mailbox % before 52w +docker-compose exec dovecot-mailcow doveadm expunge -A mailbox % before 52w ``` Delete mails inside a custom folder **inside** a user's inbox that are **not** flagged and **older** than 2 weeks ``` -docker compose exec dovecot-mailcow doveadm expunge -u 'mailbox@example.com' mailbox 'INBOX/custom-folder' not FLAGGED not SINCE 2w +docker-compose exec dovecot-mailcow doveadm expunge -u 'mailbox@example.com' mailbox 'INBOX/custom-folder' not FLAGGED not SINCE 2w ``` !!! info @@ -42,8 +42,8 @@ If you want to automate such a task you can create a cron job on your host that # Path to mailcow-dockerized, e.g. /opt/mailcow-dockerized cd /path/to/your/mailcow-dockerized -/usr/local/bin/docker compose exec -T dovecot-mailcow doveadm expunge -A mailbox 'Junk' savedbefore 2w -/usr/local/bin/docker compose exec -T dovecot-mailcow doveadm expunge -A mailbox 'Junk' SEEN not SINCE 12h +/usr/local/bin/docker-compose exec -T dovecot-mailcow doveadm expunge -A mailbox 'Junk' savedbefore 2w +/usr/local/bin/docker-compose exec -T dovecot-mailcow doveadm expunge -A mailbox 'Junk' SEEN not SINCE 12h [...] ``` @@ -56,7 +56,7 @@ To create a cron job you may execute `crontab -e` and insert something like the ### via Docker job scheduler -To archive this with a docker job scheduler use this docker compose.override.yml with your mailcow: +To archive this with a docker job scheduler use this docker-compose.override.yml with your mailcow: ``` version: '2.1' @@ -81,7 +81,7 @@ services: ``` The job controller just need access to the docker control socket to be able to emulate the behavior of "exec". Then we add a few label to our dovecot-container to activate the job scheduler and tell him in a cron compatible scheduling format when to run. If you struggle with that schedule string you can use [crontab guru](https://crontab.guru/). -This docker compose.override.yml deletes all mails older then 2 weeks from the "Junk" folder every day at 4 am. To see if things ran proper, you can not only see in your mailbox but also check Ofelia's docker log if it looks something like this: +This docker-compose.override.yml deletes all mails older then 2 weeks from the "Junk" folder every day at 4 am. To see if things ran proper, you can not only see in your mailbox but also check Ofelia's docker log if it looks something like this: ``` common.go:124 ▶ NOTICE [Job "dovecot-expunge-trash" (8759567efa66)] Started - doveadm expunge -A mailbox 'Junk' savedbefore 2w, diff --git a/docs/manual-guides/Dovecot/u_e-dovecot-extra_conf.de.md b/docs/manual-guides/Dovecot/u_e-dovecot-extra_conf.de.md index 847b4d1d9..2d0f304a3 100644 --- a/docs/manual-guides/Dovecot/u_e-dovecot-extra_conf.de.md +++ b/docs/manual-guides/Dovecot/u_e-dovecot-extra_conf.de.md @@ -3,5 +3,5 @@ Erstellen Sie eine Datei `data/conf/dovecot/extra.conf` - falls nicht vorhanden Starten Sie `dovecot-mailcow` neu, um Ihre Änderungen zu übernehmen: ``` -docker compose restart dovecot-mailcow +docker-compose restart dovecot-mailcow ``` \ No newline at end of file diff --git a/docs/manual-guides/Dovecot/u_e-dovecot-extra_conf.en.md b/docs/manual-guides/Dovecot/u_e-dovecot-extra_conf.en.md index a77d2bdab..ece38124a 100644 --- a/docs/manual-guides/Dovecot/u_e-dovecot-extra_conf.en.md +++ b/docs/manual-guides/Dovecot/u_e-dovecot-extra_conf.en.md @@ -3,5 +3,5 @@ Create a file `data/conf/dovecot/extra.conf` - if missing - and add your additio Restart `dovecot-mailcow` to apply your changes: ``` -docker compose restart dovecot-mailcow +docker-compose restart dovecot-mailcow ``` \ No newline at end of file diff --git a/docs/manual-guides/Dovecot/u_e-dovecot-fts.de.md b/docs/manual-guides/Dovecot/u_e-dovecot-fts.de.md index d17e83932..8cb8d2c61 100644 --- a/docs/manual-guides/Dovecot/u_e-dovecot-fts.de.md +++ b/docs/manual-guides/Dovecot/u_e-dovecot-fts.de.md @@ -13,9 +13,9 @@ Da wir in Docker laufen und unsere Container mit dem "restart: always" Flag erst ``` # Einzelbenutzer -docker compose exec dovecot-mailcow doveadm fts rescan -u user@domain +docker-compose exec dovecot-mailcow doveadm fts rescan -u user@domain # alle Benutzer -docker compose exec dovecot-mailcow doveadm fts rescan -A +docker-compose exec dovecot-mailcow doveadm fts rescan -A ``` Dovecot Wiki: "Scannt, welche Mails im Volltextsuchindex vorhanden sind und vergleicht diese mit den tatsächlich in den Postfächern vorhandenen Mails. Dies entfernt Mails aus dem Index, die bereits gelöscht wurden und stellt sicher, dass der nächste doveadm-Index alle fehlenden Mails (falls vorhanden) indiziert." @@ -26,9 +26,9 @@ Wenn Sie die Daten sofort neu indizieren wollen, können Sie den folgenden Befeh ``` # einzelner Benutzer -docker compose exec dovecot-mailcow doveadm index -u user@domain '*' +docker-compose exec dovecot-mailcow doveadm index -u user@domain '*' # alle Benutzer, aber offensichtlich langsamer und gefährlicher -docker compose exec dovecot-mailcow doveadm index -A '*' +docker-compose exec dovecot-mailcow doveadm index -A '*' ``` Dies **wird** einige Zeit in Anspruch nehmen, abhängig von Ihrer Maschine und Solr kann oom ausführen, überwachen Sie es! diff --git a/docs/manual-guides/Dovecot/u_e-dovecot-fts.en.md b/docs/manual-guides/Dovecot/u_e-dovecot-fts.en.md index e65a9741d..b378e3e58 100644 --- a/docs/manual-guides/Dovecot/u_e-dovecot-fts.en.md +++ b/docs/manual-guides/Dovecot/u_e-dovecot-fts.en.md @@ -14,9 +14,9 @@ Since we run in Docker and create our containers with the "restart: always" flag ``` # single user -docker compose exec dovecot-mailcow doveadm fts rescan -u user@domain +docker-compose exec dovecot-mailcow doveadm fts rescan -u user@domain # all users -docker compose exec dovecot-mailcow doveadm fts rescan -A +docker-compose exec dovecot-mailcow doveadm fts rescan -A ``` Dovecot Wiki: "Scan what mails exist in the full text search index and compare those to what actually exist in mailboxes. This removes mails from the index that have already been expunged and makes sure that the next doveadm index will index all the missing mails (if any)." @@ -27,9 +27,9 @@ If you want to re-index data immediately, you can run the followig command, wher ``` # single user -docker compose exec dovecot-mailcow doveadm index -u user@domain '*' +docker-compose exec dovecot-mailcow doveadm index -u user@domain '*' # all users, but obviously slower and more dangerous -docker compose exec dovecot-mailcow doveadm index -A '*' +docker-compose exec dovecot-mailcow doveadm index -A '*' ``` This **will** take some time depending on your machine and Solr can run oom, monitor it! diff --git a/docs/manual-guides/Dovecot/u_e-dovecot-idle_interval.de.md b/docs/manual-guides/Dovecot/u_e-dovecot-idle_interval.de.md index 9b7de06b9..a96e7364f 100644 --- a/docs/manual-guides/Dovecot/u_e-dovecot-idle_interval.de.md +++ b/docs/manual-guides/Dovecot/u_e-dovecot-idle_interval.de.md @@ -22,13 +22,13 @@ imap_idle_notify_interval = 5 mins Nun laden Sie Dovecot neu: ``` -docker compose exec dovecot-mailcow dovecot reload +docker-compose exec dovecot-mailcow dovecot reload ``` !!! info Sie können den Wert dieser Einstellung überprüfen mit ``` - docker compose exec dovecot-mailcow dovecot -a | grep "imap_idle_notify_interval" + docker-compose exec dovecot-mailcow dovecot -a | grep "imap_idle_notify_interval" ``` Wenn Sie den Wert nicht geändert haben, sollte er auf 2m stehen. Wenn Sie ihn geändert haben, sollten Sie den neuen Wert sehen. diff --git a/docs/manual-guides/Dovecot/u_e-dovecot-idle_interval.en.md b/docs/manual-guides/Dovecot/u_e-dovecot-idle_interval.en.md index 1dd92f375..2270d6785 100644 --- a/docs/manual-guides/Dovecot/u_e-dovecot-idle_interval.en.md +++ b/docs/manual-guides/Dovecot/u_e-dovecot-idle_interval.en.md @@ -21,13 +21,13 @@ imap_idle_notify_interval = 5 mins ### Reload Dovecot Now reload Dovecot: ``` -docker compose exec dovecot-mailcow dovecot reload +docker-compose exec dovecot-mailcow dovecot reload ``` !!! info You can check the value of this setting with ``` - docker compose exec dovecot-mailcow dovecot -a | grep "imap_idle_notify_interval" + docker-compose exec dovecot-mailcow dovecot -a | grep "imap_idle_notify_interval" ``` If you didn't change it, it should be at 2m. If you did change it, you should see your new value. diff --git a/docs/manual-guides/Dovecot/u_e-dovecot-mail-crypt.de.md b/docs/manual-guides/Dovecot/u_e-dovecot-mail-crypt.de.md index b26ece99f..8e4ffa7eb 100644 --- a/docs/manual-guides/Dovecot/u_e-dovecot-mail-crypt.de.md +++ b/docs/manual-guides/Dovecot/u_e-dovecot-mail-crypt.de.md @@ -2,7 +2,7 @@ Die Mails werden komprimiert (lz4) und verschlüsselt gespeichert. Das Schlüsse Wenn Sie vorhandene maildir-Dateien entschlüsseln/verschlüsseln wollen, können Sie das folgende Skript auf eigene Gefahr verwenden: -Rufen Sie Dovecot auf, indem Sie `docker compose exec dovecot-mailcow /bin/bash` im mailcow-dockerisierten Verzeichnis ausführen. +Rufen Sie Dovecot auf, indem Sie `docker-compose exec dovecot-mailcow /bin/bash` im mailcow-dockerisierten Verzeichnis ausführen. ``` # Entschlüsseln Sie /var/vmail diff --git a/docs/manual-guides/Dovecot/u_e-dovecot-mail-crypt.en.md b/docs/manual-guides/Dovecot/u_e-dovecot-mail-crypt.en.md index c4228ddf4..e2af5b032 100644 --- a/docs/manual-guides/Dovecot/u_e-dovecot-mail-crypt.en.md +++ b/docs/manual-guides/Dovecot/u_e-dovecot-mail-crypt.en.md @@ -2,7 +2,7 @@ Mails are stored compressed (lz4) and encrypted. The key pair can be found in cr If you want to decode/encode existing maildir files, you can use the following script at your own risk: -Enter Dovecot by running `docker compose exec dovecot-mailcow /bin/bash` in the mailcow-dockerized location. +Enter Dovecot by running `docker-compose exec dovecot-mailcow /bin/bash` in the mailcow-dockerized location. ``` # Decrypt /var/vmail diff --git a/docs/manual-guides/Dovecot/u_e-dovecot-public_folder.de.md b/docs/manual-guides/Dovecot/u_e-dovecot-public_folder.de.md index 6039eccfa..a520a24e2 100644 --- a/docs/manual-guides/Dovecot/u_e-dovecot-public_folder.de.md +++ b/docs/manual-guides/Dovecot/u_e-dovecot-public_folder.de.md @@ -22,7 +22,7 @@ Die neue Mailbox im öffentlichen Namensraum wird von den Benutzern automatisch Um allen authentifizierten Benutzern vollen Zugriff auf das neue Postfach (nicht auf den gesamten Namespace) zu gewähren, führen Sie aus: ``` -docker compose exec dovecot-mailcow doveadm acl set -A "Public/Develcow" "authenticated" lookup read write write-seen write-deleted insert post delete expunge create +docker-compose exec dovecot-mailcow doveadm acl set -A "Public/Develcow" "authenticated" lookup read write write-seen write-deleted insert post delete expunge create ``` Passen Sie den Befehl an Ihre Bedürfnisse an, wenn Sie detailliertere Rechte pro Benutzer vergeben möchten (verwenden Sie z.B. `-u user@domain` anstelle von `-A`). diff --git a/docs/manual-guides/Dovecot/u_e-dovecot-public_folder.en.md b/docs/manual-guides/Dovecot/u_e-dovecot-public_folder.en.md index 868e64534..fae83636f 100644 --- a/docs/manual-guides/Dovecot/u_e-dovecot-public_folder.en.md +++ b/docs/manual-guides/Dovecot/u_e-dovecot-public_folder.en.md @@ -22,7 +22,7 @@ The new mailbox in the public namespace will be auto-subscribed by users. To allow all authenticated users access full to that new mailbox (not the whole namespace), run: ``` -docker compose exec dovecot-mailcow doveadm acl set -A "Public/Develcow" "authenticated" lookup read write write-seen write-deleted insert post delete expunge create +docker-compose exec dovecot-mailcow doveadm acl set -A "Public/Develcow" "authenticated" lookup read write write-seen write-deleted insert post delete expunge create ``` Adjust the command to your needs if you like to assign more granular rights per user (use `-u user@domain` instead of `-A` for example). diff --git a/docs/manual-guides/Dovecot/u_e-dovecot-static_master.de.md b/docs/manual-guides/Dovecot/u_e-dovecot-static_master.de.md index 3c3b26270..2dab6628d 100644 --- a/docs/manual-guides/Dovecot/u_e-dovecot-static_master.de.md +++ b/docs/manual-guides/Dovecot/u_e-dovecot-static_master.de.md @@ -11,7 +11,7 @@ DOVECOT_MASTER_USER=mymasteruser DOVECOT_MASTER_PASS=mysecretpass ``` -Führen Sie `docker compose up -d` aus, um Ihre Änderungen zu übernehmen. +Führen Sie `docker-compose up -d` aus, um Ihre Änderungen zu übernehmen. Der statische Master-Benutzername wird zu `DOVECOT_MASTER_USER@mailcow.local` erweitert. diff --git a/docs/manual-guides/Dovecot/u_e-dovecot-static_master.en.md b/docs/manual-guides/Dovecot/u_e-dovecot-static_master.en.md index 528baaea8..6bf63fb52 100644 --- a/docs/manual-guides/Dovecot/u_e-dovecot-static_master.en.md +++ b/docs/manual-guides/Dovecot/u_e-dovecot-static_master.en.md @@ -11,7 +11,7 @@ DOVECOT_MASTER_USER=mymasteruser DOVECOT_MASTER_PASS=mysecretpass ``` -Run `docker compose up -d` to apply your changes. +Run `docker-compose up -d` to apply your changes. The static master username will be expanded to `DOVECOT_MASTER_USER@mailcow.local`. diff --git a/docs/manual-guides/Dovecot/u_e-dovecot-vmail-volume.de.md b/docs/manual-guides/Dovecot/u_e-dovecot-vmail-volume.de.md index 448294d05..6ce247695 100644 --- a/docs/manual-guides/Dovecot/u_e-dovecot-vmail-volume.de.md +++ b/docs/manual-guides/Dovecot/u_e-dovecot-vmail-volume.de.md @@ -3,7 +3,7 @@ !!! warning Neuere Docker-Versionen scheinen sich über bestehende Volumes zu beschweren. Man kann dies vorübergehend beheben, indem man das bestehende Volume entfernt und mailcow mit der Override-Datei startet. Aber es scheint nach einem Neustart problematisch zu sein (muss bestätigt werden). -Ein einfacher, schmutziger, aber stabiler Workaround ist es, mailcow zu stoppen (`docker compose down`), `/var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data` zu entfernen und einen neuen Link zu Ihrem entfernten Dateisystem zu erstellen, zum Beispiel: +Ein einfacher, schmutziger, aber stabiler Workaround ist es, mailcow zu stoppen (`docker-compose down`), `/var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data` zu entfernen und einen neuen Link zu Ihrem entfernten Dateisystem zu erstellen, zum Beispiel: ``` mv /var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data /var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data_backup @@ -16,7 +16,7 @@ Starten Sie anschließend mailcow. ## Der "alte" Weg -Wenn man einen anderen Ordner für das vmail-Volume verwenden möchte, kann man eine `docker compose.override.yml` Datei erstellen und den folgenden Inhalt hinzufügen: +Wenn man einen anderen Ordner für das vmail-Volume verwenden möchte, kann man eine `docker-compose.override.yml` Datei erstellen und den folgenden Inhalt hinzufügen: ``` version: '2.1' @@ -51,8 +51,8 @@ volumes: ``` - Kopieren Sie den Inhalt des `Mountpoint`-Ordners an den neuen Speicherort (z.B. `/data/mailcow/vmail`) mit `cp -a`, `rsync -a` oder einem ähnlichen, nicht strikten Kopierbefehl -- Stoppen Sie mailcow durch Ausführen von `docker compose down` aus Ihrem mailcow-Stammverzeichnis (z.B. `/opt/mailcow-dockerized`) -- Erstellen Sie die Datei `docker compose.override.yml`, bearbeiten Sie den Gerätepfad entsprechend +- Stoppen Sie mailcow durch Ausführen von `docker-compose down` aus Ihrem mailcow-Stammverzeichnis (z.B. `/opt/mailcow-dockerized`) +- Erstellen Sie die Datei `docker-compose.override.yml`, bearbeiten Sie den Gerätepfad entsprechend - Löschen Sie den aktuellen vmail-Ordner: `docker volume rm mailcowdockerized_vmail-vol-1` -- Starten Sie mailcow durch Ausführen von `docker compose up -d` aus Ihrem mailcow-Stammverzeichnis (z.B. `/opt/mailcow-dockerized`) +- Starten Sie mailcow durch Ausführen von `docker-compose up -d` aus Ihrem mailcow-Stammverzeichnis (z.B. `/opt/mailcow-dockerized`) diff --git a/docs/manual-guides/Dovecot/u_e-dovecot-vmail-volume.en.md b/docs/manual-guides/Dovecot/u_e-dovecot-vmail-volume.en.md index 23528208f..4b270d351 100644 --- a/docs/manual-guides/Dovecot/u_e-dovecot-vmail-volume.en.md +++ b/docs/manual-guides/Dovecot/u_e-dovecot-vmail-volume.en.md @@ -3,7 +3,7 @@ !!! warning Newer Docker versions seem to complain about existing volumes. You can fix this temporarily by removing the existing volume and start mailcow with the override file. But it seems to be problematic after a reboot (needs to be confirmed). -An easy, dirty, yet stable workaround is to stop mailcow (`docker compose down`), remove `/var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data` and create a new link to your remote filesystem location, for example: +An easy, dirty, yet stable workaround is to stop mailcow (`docker-compose down`), remove `/var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data` and create a new link to your remote filesystem location, for example: ``` mv /var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data /var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data_backup @@ -16,7 +16,7 @@ Start mailcow afterwards. ## The "old" way -If you want to use another folder for the vmail-volume, you can create a `docker compose.override.yml` file and add the following content: +If you want to use another folder for the vmail-volume, you can create a `docker-compose.override.yml` file and add the following content: ``` version: '2.1' @@ -51,7 +51,7 @@ volumes: ``` - Copy the content of the `Mountpoint` folder to the new location (e.g. `/data/mailcow/vmail`) using `cp -a`, `rsync -a` or a similar non strcuture breaking copy command -- Stop mailcow by executing `docker compose down` from within your mailcow root folder (e.g. `/opt/mailcow-dockerized`) -- Create the file `docker compose.override.yml`, edit the device path accordingly +- Stop mailcow by executing `docker-compose down` from within your mailcow root folder (e.g. `/opt/mailcow-dockerized`) +- Create the file `docker-compose.override.yml`, edit the device path accordingly - Delete the current vmail folder: `docker volume rm mailcowdockerized_vmail-vol-1` -- Start mailcow by executing `docker compose up -d` from within your mailcow root folder (e.g. `/opt/mailcow-dockerized`) \ No newline at end of file +- Start mailcow by executing `docker-compose up -d` from within your mailcow root folder (e.g. `/opt/mailcow-dockerized`) \ No newline at end of file diff --git a/docs/manual-guides/Nginx/u_e-nginx_custom.de.md b/docs/manual-guides/Nginx/u_e-nginx_custom.de.md index 8398f35c9..1da7ae973 100644 --- a/docs/manual-guides/Nginx/u_e-nginx_custom.de.md +++ b/docs/manual-guides/Nginx/u_e-nginx_custom.de.md @@ -112,7 +112,7 @@ Wenn PHP in eine benutzerdefinierte Site eingebunden werden soll, verwenden Sie Starten Sie Nginx neu (und PHP-FPM, falls ein neuer Listener erstellt wurde): ``` -docker compose restart nginx-mailcow -docker compose restart php-fpm-mailcow +docker-compose restart nginx-mailcow +docker-compose restart php-fpm-mailcow ``` diff --git a/docs/manual-guides/Nginx/u_e-nginx_custom.en.md b/docs/manual-guides/Nginx/u_e-nginx_custom.en.md index b44ac57f6..d36a4f457 100644 --- a/docs/manual-guides/Nginx/u_e-nginx_custom.en.md +++ b/docs/manual-guides/Nginx/u_e-nginx_custom.en.md @@ -113,6 +113,6 @@ If PHP is to be included in a custom site, please use the PHP-FPM listener on ph Restart Nginx (and PHP-FPM, if a new listener was created): ``` -docker compose restart nginx-mailcow -docker compose restart php-fpm-mailcow +docker-compose restart nginx-mailcow +docker-compose restart php-fpm-mailcow ``` diff --git a/docs/manual-guides/Nginx/u_e-nginx_webmail-site.de.md b/docs/manual-guides/Nginx/u_e-nginx_webmail-site.de.md index 75eaa0d0c..1985e5e3a 100644 --- a/docs/manual-guides/Nginx/u_e-nginx_webmail-site.de.md +++ b/docs/manual-guides/Nginx/u_e-nginx_webmail-site.de.md @@ -26,7 +26,7 @@ server { } ``` -Speichern Sie und starten Sie Nginx neu: `docker compose restart nginx-mailcow`. +Speichern Sie und starten Sie Nginx neu: `docker-compose restart nginx-mailcow`. Öffnen Sie nun `mailcow.conf` und suchen Sie `ADDITIONAL_SAN`. Fügen Sie `webmail.example.org` zu diesem Array hinzu, verwenden Sie keine Anführungszeichen! @@ -35,4 +35,4 @@ Fügen Sie `webmail.example.org` zu diesem Array hinzu, verwenden Sie keine Anf ADDITIONAL_SAN=webmail.example.org ``` -Führen Sie `docker compose up -d` aus. Siehe "acme-mailcow" und "nginx-mailcow" Logs, wenn etwas fehlschlägt. \ No newline at end of file +Führen Sie `docker-compose up -d` aus. Siehe "acme-mailcow" und "nginx-mailcow" Logs, wenn etwas fehlschlägt. \ No newline at end of file diff --git a/docs/manual-guides/Nginx/u_e-nginx_webmail-site.en.md b/docs/manual-guides/Nginx/u_e-nginx_webmail-site.en.md index 4e7819023..aa73e3726 100644 --- a/docs/manual-guides/Nginx/u_e-nginx_webmail-site.en.md +++ b/docs/manual-guides/Nginx/u_e-nginx_webmail-site.en.md @@ -26,7 +26,7 @@ server { } ``` -Save and restart Nginx: `docker compose restart nginx-mailcow`. +Save and restart Nginx: `docker-compose restart nginx-mailcow`. Now open `mailcow.conf` and find `ADDITIONAL_SAN`. Add `webmail.example.org` to this array, don't use quotes! @@ -35,4 +35,4 @@ Add `webmail.example.org` to this array, don't use quotes! ADDITIONAL_SAN=webmail.example.org ``` -Run `docker compose up -d`. See "acme-mailcow" and "nginx-mailcow" logs if anything fails. \ No newline at end of file +Run `docker-compose up -d`. See "acme-mailcow" and "nginx-mailcow" logs if anything fails. \ No newline at end of file diff --git a/docs/manual-guides/Postfix/u_e-postfix-attachment_size.de.md b/docs/manual-guides/Postfix/u_e-postfix-attachment_size.de.md index 0e1d36b62..c31ecac14 100644 --- a/docs/manual-guides/Postfix/u_e-postfix-attachment_size.de.md +++ b/docs/manual-guides/Postfix/u_e-postfix-attachment_size.de.md @@ -3,5 +3,5 @@ Starten Sie Postfix neu: ``` -docker compose restart postfix-mailcow +docker-compose restart postfix-mailcow ``` \ No newline at end of file diff --git a/docs/manual-guides/Postfix/u_e-postfix-attachment_size.en.md b/docs/manual-guides/Postfix/u_e-postfix-attachment_size.en.md index 7ab8d2498..2ae29987d 100644 --- a/docs/manual-guides/Postfix/u_e-postfix-attachment_size.en.md +++ b/docs/manual-guides/Postfix/u_e-postfix-attachment_size.en.md @@ -3,5 +3,5 @@ Open `data/conf/postfix/extra.cf` and set the `message_size_limit` accordingly i Restart Postfix: ``` -docker compose restart postfix-mailcow +docker-compose restart postfix-mailcow ``` \ No newline at end of file diff --git a/docs/manual-guides/Postfix/u_e-postfix-disable_sender_verification.de.md b/docs/manual-guides/Postfix/u_e-postfix-disable_sender_verification.de.md index 4c7ddb894..1187fc1ae 100644 --- a/docs/manual-guides/Postfix/u_e-postfix-disable_sender_verification.de.md +++ b/docs/manual-guides/Postfix/u_e-postfix-disable_sender_verification.de.md @@ -21,7 +21,7 @@ smtpd_sender_restrictions = check_sasl_access hash:/opt/postfix/conf/check_sasl_ Postmap auf check_sasl_access ausführen: ``` -docker compose exec postfix-mailcow postmap /opt/postfix/conf/check_sasl_access +docker-compose exec postfix-mailcow postmap /opt/postfix/conf/check_sasl_access ``` Starten Sie den Postfix-Container neu. diff --git a/docs/manual-guides/Postfix/u_e-postfix-disable_sender_verification.en.md b/docs/manual-guides/Postfix/u_e-postfix-disable_sender_verification.en.md index 12e3233c0..87534ce6b 100644 --- a/docs/manual-guides/Postfix/u_e-postfix-disable_sender_verification.en.md +++ b/docs/manual-guides/Postfix/u_e-postfix-disable_sender_verification.en.md @@ -21,7 +21,7 @@ smtpd_sender_restrictions = check_sasl_access hash:/opt/postfix/conf/check_sasl_ Run postmap on check_sasl_access: ``` -docker compose exec postfix-mailcow postmap /opt/postfix/conf/check_sasl_access +docker-compose exec postfix-mailcow postmap /opt/postfix/conf/check_sasl_access ``` Restart the Postfix container. \ No newline at end of file diff --git a/docs/manual-guides/Postfix/u_e-postfix-extra_cf.de.md b/docs/manual-guides/Postfix/u_e-postfix-extra_cf.de.md index 54ea1bb44..e3958f90d 100644 --- a/docs/manual-guides/Postfix/u_e-postfix-extra_cf.de.md +++ b/docs/manual-guides/Postfix/u_e-postfix-extra_cf.de.md @@ -7,5 +7,5 @@ Syslog-ng wurde so konfiguriert, dass es diese Warnungen ausblendet, während Po Starten Sie `postfix-mailcow` neu, um Ihre Änderungen zu übernehmen: ``` -docker compose restart postfix-mailcow +docker-compose restart postfix-mailcow ``` diff --git a/docs/manual-guides/Postfix/u_e-postfix-extra_cf.en.md b/docs/manual-guides/Postfix/u_e-postfix-extra_cf.en.md index 2b1db5c3a..9b6639e82 100644 --- a/docs/manual-guides/Postfix/u_e-postfix-extra_cf.en.md +++ b/docs/manual-guides/Postfix/u_e-postfix-extra_cf.en.md @@ -7,5 +7,5 @@ Syslog-ng was configured to hide those warnings while Postfix is running, to not Restart `postfix-mailcow` to apply your changes: ``` -docker compose restart postfix-mailcow +docker-compose restart postfix-mailcow ``` diff --git a/docs/manual-guides/Postfix/u_e-postfix-trust_networks.de.md b/docs/manual-guides/Postfix/u_e-postfix-trust_networks.de.md index 4e7fcf4fe..056181460 100644 --- a/docs/manual-guides/Postfix/u_e-postfix-trust_networks.de.md +++ b/docs/manual-guides/Postfix/u_e-postfix-trust_networks.de.md @@ -19,7 +19,7 @@ Bearbeiten Sie `data/conf/postfix/extra.cf`: mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 [fe80::]/10 172.22.1.0/24 [fd4d:6169:6c63:6f77::]/64 192.168.2.0/24 ``` -Führen Sie `docker compose restart postfix-mailcow` aus, um Ihre neuen Einstellungen zu übernehmen. +Führen Sie `docker-compose restart postfix-mailcow` aus, um Ihre neuen Einstellungen zu übernehmen. ### IPv6-Hosts/Subnets @@ -33,7 +33,7 @@ Bearbeiten Sie `data/conf/postfix/extra.cf`: mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 [fe80::]/10 172.22.1.0/24 [fd4d:6169:6c63:6f77::]/64 [2001:db8::]/32 ``` -Führen Sie `docker compose restart postfix-mailcow` aus, um Ihre neuen Einstellungen zu übernehmen. +Führen Sie `docker-compose restart postfix-mailcow` aus, um Ihre neuen Einstellungen zu übernehmen. !!! Info Weitere Informationen über mynetworks finden Sie in der [Postfix-Dokumentation](http://www.postfix.org/postconf.5.html#mynetworks). diff --git a/docs/manual-guides/Postfix/u_e-postfix-trust_networks.en.md b/docs/manual-guides/Postfix/u_e-postfix-trust_networks.en.md index b28c20941..ae1e734bc 100644 --- a/docs/manual-guides/Postfix/u_e-postfix-trust_networks.en.md +++ b/docs/manual-guides/Postfix/u_e-postfix-trust_networks.en.md @@ -19,7 +19,7 @@ Edit `data/conf/postfix/extra.cf`: mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 [fe80::]/10 172.22.1.0/24 [fd4d:6169:6c63:6f77::]/64 192.168.2.0/24 ``` -Run `docker compose restart postfix-mailcow` to apply your new settings. +Run `docker-compose restart postfix-mailcow` to apply your new settings. ### IPv6 hosts/subnets @@ -33,7 +33,7 @@ Edit `data/conf/postfix/extra.cf`: mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 [fe80::]/10 172.22.1.0/24 [fd4d:6169:6c63:6f77::]/64 [2001:db8::]/32 ``` -Run `docker compose restart postfix-mailcow` to apply your new settings. +Run `docker-compose restart postfix-mailcow` to apply your new settings. !!! Info More information about mynetworks can be found in the [Postfix documentation](http://www.postfix.org/postconf.5.html#mynetworks). \ No newline at end of file diff --git a/docs/manual-guides/Redis/u_e-redis.de.md b/docs/manual-guides/Redis/u_e-redis.de.md index 2dd70a9dc..767ed83ee 100644 --- a/docs/manual-guides/Redis/u_e-redis.de.md +++ b/docs/manual-guides/Redis/u_e-redis.de.md @@ -5,7 +5,7 @@ Redis wird als Key-Value-Speicher für die Einstellungen und Daten von rspamd un Um sich mit dem redis cli zu verbinden, führen Sie aus: ``` -docker compose exec redis-mailcow redis-cli +docker-compose exec redis-mailcow redis-cli ``` ### Fehlersuche @@ -17,7 +17,7 @@ Hier sind einige nützliche Befehle für den redis-cli zur Fehlersuche: Überwacht alle vom Server empfangenen Anfragen in Echtzeit: ``` -# docker compose exec redis-mailcow redis-cli +# docker-compose exec redis-mailcow redis-cli 127.0.0.1:6379> überwachen OK 1494077286.401963 [0 172.22.1.253:41228] "SMEMBERS" "BAYES_SPAM_keys" diff --git a/docs/manual-guides/Redis/u_e-redis.en.md b/docs/manual-guides/Redis/u_e-redis.en.md index 38a269f25..a30cc2cd3 100644 --- a/docs/manual-guides/Redis/u_e-redis.en.md +++ b/docs/manual-guides/Redis/u_e-redis.en.md @@ -5,7 +5,7 @@ Redis is used as a key-value store for rspamd's and (some of) mailcow's settings To connect to the redis cli execute: ``` -docker compose exec redis-mailcow redis-cli +docker-compose exec redis-mailcow redis-cli ``` ### Debugging @@ -17,7 +17,7 @@ Here are some useful commands for the redis-cli for debugging: Listens for all requests received by the server in real time: ``` -# docker compose exec redis-mailcow redis-cli +# docker-compose exec redis-mailcow redis-cli 127.0.0.1:6379> monitor OK 1494077286.401963 [0 172.22.1.253:41228] "SMEMBERS" "BAYES_SPAM_keys" diff --git a/docs/manual-guides/Rspamd/u_e-rspamd.de.md b/docs/manual-guides/Rspamd/u_e-rspamd.de.md index 1a62a3b71..b11ee3e8a 100644 --- a/docs/manual-guides/Rspamd/u_e-rspamd.de.md +++ b/docs/manual-guides/Rspamd/u_e-rspamd.de.md @@ -19,12 +19,12 @@ Sie können einen Einzeiler verwenden, um Mails im Klartextformat (unkomprimiert ```bash # Ham -for file in /my/folder/cur/*; do docker exec -i $(docker compose ps -q rspamd-mailcow) rspamc learn_ham < $file; done +for file in /my/folder/cur/*; do docker exec -i $(docker-compose ps -q rspamd-mailcow) rspamc learn_ham < $file; done # Spam -for file in /my/folder/.Junk/cur/*; do docker exec -i $(docker compose ps -q rspamd-mailcow) rspamc learn_spam < $file; done +for file in /my/folder/.Junk/cur/*; do docker exec -i $(docker-compose ps -q rspamd-mailcow) rspamc learn_spam < $file; done ``` -Erwägen Sie, einen lokalen Ordner als neues Volume an `rspamd-mailcow` in `docker compose.yml` anzuhängen und die gegebenen Dateien innerhalb des Containers zu lernen. Dies kann als Workaround verwendet werden, um komprimierte Daten mit zcat zu parsen. Beispiel: +Erwägen Sie, einen lokalen Ordner als neues Volume an `rspamd-mailcow` in `docker-compose.yml` anzuhängen und die gegebenen Dateien innerhalb des Containers zu lernen. Dies kann als Workaround verwendet werden, um komprimierte Daten mit zcat zu parsen. Beispiel: ``bash for file in /data/old_mail/.Junk/cur/*; do rspamc learn_spam < zcat $file; done @@ -44,21 +44,21 @@ cp /var/lib/docker/volumes/mailcowdockerized_redis-vol-1/_data/dump.rdb /root/ **Bayes-Daten zurücksetzen** ```bash -docker compose exec redis-mailcow sh -c 'redis-cli --scan --pattern BAYES_* | xargs redis-cli del' -docker compose exec redis-mailcow sh -c 'redis-cli --scan --pattern RS* | xargs redis-cli del' +docker-compose exec redis-mailcow sh -c 'redis-cli --scan --pattern BAYES_* | xargs redis-cli del' +docker-compose exec redis-mailcow sh -c 'redis-cli --scan --pattern RS* | xargs redis-cli del' ``` **Neurale Daten zurücksetzen** ```bash -docker compose exec redis-mailcow sh -c 'redis-cli --scan --pattern rn_* | xargs redis-cli del' +docker-compose exec redis-mailcow sh -c 'redis-cli --scan --pattern rn_* | xargs redis-cli del' ``` **Fuzzy-Daten zurücksetzen** ```bash # Wir müssen zuerst das redis-cli eingeben: -docker compose exec redis-mailcow redis-cli +docker-compose exec redis-mailcow redis-cli # In redis-cli: 127.0.0.1:6379> EVAL "for i, name in ipairs(redis.call('KEYS', ARGV[1])) do redis.call('DEL', name); end" 0 fuzzy* ``` @@ -76,8 +76,8 @@ Wenn redis-cli sich beschwert über... ## CLI-Werkzeuge ``bash -docker compose exec rspamd-mailcow rspamc --help -docker compose exec rspamd-mailcow rspamadm --help +docker-compose exec rspamd-mailcow rspamc --help +docker-compose exec rspamd-mailcow rspamadm --help ``` ## Greylisting deaktivieren @@ -94,7 +94,7 @@ Fügen Sie die Zeile hinzu: enabled = false; ``` -Speichern Sie die Datei und starten Sie "rspamd-mailcow" neu: `docker compose restart rspamd-mailcow` +Speichern Sie die Datei und starten Sie "rspamd-mailcow" neu: `docker-compose restart rspamd-mailcow` ## Spamfilter-Schwellenwerte (global) @@ -106,7 +106,7 @@ add_header = 8; greylist = 7; ``` -Speichern Sie die Datei und starten Sie "rspamd-mailcow" neu: `docker compose restart rspamd-mailcow` +Speichern Sie die Datei und starten Sie "rspamd-mailcow" neu: `docker-compose restart rspamd-mailcow` Bestehende Einstellungen der Benutzer werden nicht überschrieben! @@ -114,9 +114,9 @@ Um benutzerdefinierte Schwellenwerte zurückzusetzen, führen Sie aus: ``` source mailcow.conf -docker compose exec mysql-mailcow mysql -umailcow -p$DBPASS mailcow -e "delete from filterconf where option = 'highspamlevel' or option = 'lowspamlevel';" +docker-compose exec mysql-mailcow mysql -umailcow -p$DBPASS mailcow -e "delete from filterconf where option = 'highspamlevel' or option = 'lowspamlevel';" # oder: -# docker compose exec mysql-mailcow mysql -umailcow -p$DBPASS mailcow -e "delete from filterconf where option = 'highspamlevel' or option = 'lowspamlevel' and object = 'only-this-mailbox@example.org';" +# docker-compose exec mysql-mailcow mysql -umailcow -p$DBPASS mailcow -e "delete from filterconf where option = 'highspamlevel' or option = 'lowspamlevel' and object = 'only-this-mailbox@example.org';" ``` ## Benutzerdefinierte Ablehnungsnachrichten @@ -127,7 +127,7 @@ Die Standard-Spam-Reject-Meldung kann durch Hinzufügen einer neuen Datei `data/ reject_message = "Meine eigene Ablehnungsnachricht"; ``` -Speichern Sie die Datei und starten Sie Rspamd neu: `docker compose restart rspamd-mailcow`. +Speichern Sie die Datei und starten Sie Rspamd neu: `docker-compose restart rspamd-mailcow`. Waehrend das oben genannte fuer abgelehnte Mails mit einem hohen Spam-Score funktioniert, ignorieren Prefilter-Aktionen diese Einstellung. Für diese Karten muss das Multimap-Modul in Rspamd angepasst werden: @@ -146,7 +146,7 @@ GLOBAL_RCPT_BL { } ``` -3. Speichern Sie die Datei und starten Sie Rspamd neu: `docker compose restart rspamd-mailcow`. +3. Speichern Sie die Datei und starten Sie Rspamd neu: `docker-compose restart rspamd-mailcow`. ## Verwerfen statt zurückweisen @@ -159,7 +159,7 @@ discard_on_reject = true; Starten Sie Rspamd neu: ```bash -docker compose restart rspamd-mailcow +docker-compose restart rspamd-mailcow ``` ## Lösche alle Ratelimit-Schlüssel @@ -167,7 +167,7 @@ docker compose restart rspamd-mailcow Wenn Sie das UI nicht verwenden wollen und stattdessen alle Schlüssel in der Redis-Datenbank löschen wollen, können Sie redis-cli für diese Aufgabe verwenden: ``` -docker compose exec redis-mailcow sh +docker-compose exec redis-mailcow sh # Unlink (verfügbar in Redis >=4.) löscht im Hintergrund redis-cli --scan --pattern RL* | xargs redis-cli unlink ``` @@ -175,7 +175,7 @@ redis-cli --scan --pattern RL* | xargs redis-cli unlink Starten Sie Rspamd neu: ```bash -docker compose exec redis-mailcow sh +docker-compose exec redis-mailcow sh ``` ## Erneutes Senden von Quarantäne-Benachrichtigungen auslösen @@ -183,7 +183,7 @@ docker compose exec redis-mailcow sh Sollte nur zur Fehlersuche verwendet werden! ``` -docker compose exec dovecot-mailcow bash +docker-compose exec dovecot-mailcow bash mysql -umailcow -p$DBPASS mailcow -e "update quarantine set notified = 0;" redis-cli -h redis DEL Q_LAST_NOTIFIED quarantine_notify.py @@ -203,7 +203,7 @@ Bearbeiten Sie `data/conf/rspamd/local.d/history_redis.conf`: nrows = 1000; # Ändern Sie diesen Wert ``` -Starten Sie anschließend Rspamd neu: `docker compose restart rspamd-mailcow` +Starten Sie anschließend Rspamd neu: `docker-compose restart rspamd-mailcow` diff --git a/docs/manual-guides/Rspamd/u_e-rspamd.en.md b/docs/manual-guides/Rspamd/u_e-rspamd.en.md index bedaa6fad..db42333ca 100644 --- a/docs/manual-guides/Rspamd/u_e-rspamd.en.md +++ b/docs/manual-guides/Rspamd/u_e-rspamd.en.md @@ -19,12 +19,12 @@ You can use a one-liner to learn mail in plain-text (uncompressed) format: ```bash # Ham -for file in /my/folder/cur/*; do docker exec -i $(docker compose ps -q rspamd-mailcow) rspamc learn_ham < $file; done +for file in /my/folder/cur/*; do docker exec -i $(docker-compose ps -q rspamd-mailcow) rspamc learn_ham < $file; done # Spam -for file in /my/folder/.Junk/cur/*; do docker exec -i $(docker compose ps -q rspamd-mailcow) rspamc learn_spam < $file; done +for file in /my/folder/.Junk/cur/*; do docker exec -i $(docker-compose ps -q rspamd-mailcow) rspamc learn_spam < $file; done ``` -Consider attaching a local folder as new volume to `rspamd-mailcow` in `docker compose.yml` and learn given files inside the container. This can be used as workaround to parse compressed data with zcat. Example: +Consider attaching a local folder as new volume to `rspamd-mailcow` in `docker-compose.yml` and learn given files inside the container. This can be used as workaround to parse compressed data with zcat. Example: ```bash for file in /data/old_mail/.Junk/cur/*; do rspamc learn_spam < zcat $file; done @@ -44,21 +44,21 @@ cp /var/lib/docker/volumes/mailcowdockerized_redis-vol-1/_data/dump.rdb /root/ **Reset Bayes data** ```bash -docker compose exec redis-mailcow sh -c 'redis-cli --scan --pattern BAYES_* | xargs redis-cli del' -docker compose exec redis-mailcow sh -c 'redis-cli --scan --pattern RS* | xargs redis-cli del' +docker-compose exec redis-mailcow sh -c 'redis-cli --scan --pattern BAYES_* | xargs redis-cli del' +docker-compose exec redis-mailcow sh -c 'redis-cli --scan --pattern RS* | xargs redis-cli del' ``` **Reset Neural data** ```bash -docker compose exec redis-mailcow sh -c 'redis-cli --scan --pattern rn_* | xargs redis-cli del' +docker-compose exec redis-mailcow sh -c 'redis-cli --scan --pattern rn_* | xargs redis-cli del' ``` **Reset Fuzzy data** ```bash # We need to enter the redis-cli first: -docker compose exec redis-mailcow redis-cli +docker-compose exec redis-mailcow redis-cli # In redis-cli: 127.0.0.1:6379> EVAL "for i, name in ipairs(redis.call('KEYS', ARGV[1])) do redis.call('DEL', name); end" 0 fuzzy* ``` @@ -77,8 +77,8 @@ If redis-cli complains about... ## CLI tools ```bash -docker compose exec rspamd-mailcow rspamc --help -docker compose exec rspamd-mailcow rspamadm --help +docker-compose exec rspamd-mailcow rspamc --help +docker-compose exec rspamd-mailcow rspamadm --help ``` ## Disable Greylisting @@ -95,7 +95,7 @@ Add the line: enabled = false; ``` -Save the file and restart "rspamd-mailcow": `docker compose restart rspamd-mailcow` +Save the file and restart "rspamd-mailcow": `docker-compose restart rspamd-mailcow` ## Spam filter thresholds (global) @@ -107,7 +107,7 @@ add_header = 8; greylist = 7; ``` -Save the file and restart "rspamd-mailcow": `docker compose restart rspamd-mailcow` +Save the file and restart "rspamd-mailcow": `docker-compose restart rspamd-mailcow` Existing settings of users will not be overwritten! @@ -115,9 +115,9 @@ To reset custom defined thresholds, run: ``` source mailcow.conf -docker compose exec mysql-mailcow mysql -umailcow -p$DBPASS mailcow -e "delete from filterconf where option = 'highspamlevel' or option = 'lowspamlevel';" +docker-compose exec mysql-mailcow mysql -umailcow -p$DBPASS mailcow -e "delete from filterconf where option = 'highspamlevel' or option = 'lowspamlevel';" # or: -# docker compose exec mysql-mailcow mysql -umailcow -p$DBPASS mailcow -e "delete from filterconf where option = 'highspamlevel' or option = 'lowspamlevel' and object = 'only-this-mailbox@example.org';" +# docker-compose exec mysql-mailcow mysql -umailcow -p$DBPASS mailcow -e "delete from filterconf where option = 'highspamlevel' or option = 'lowspamlevel' and object = 'only-this-mailbox@example.org';" ``` ## Custom reject messages @@ -128,7 +128,7 @@ The default spam reject message can be changed by adding a new file `data/conf/r reject_message = "My custom reject message"; ``` -Save the file and restart Rspamd: `docker compose restart rspamd-mailcow`. +Save the file and restart Rspamd: `docker-compose restart rspamd-mailcow`. While the above works for rejected mails with a high spam score, prefilter reject actions will ignore this setting. For these maps, the multimap module in Rspamd needs to be adjusted: @@ -147,7 +147,7 @@ GLOBAL_RCPT_BL { } ``` -3. Save the file and restart Rspamd: `docker compose restart rspamd-mailcow`. +3. Save the file and restart Rspamd: `docker-compose restart rspamd-mailcow`. ## Discard instead of reject @@ -160,7 +160,7 @@ discard_on_reject = true; Restart Rspamd: ```bash -docker compose restart rspamd-mailcow +docker-compose restart rspamd-mailcow ``` ## Wipe all ratelimit keys @@ -168,7 +168,7 @@ docker compose restart rspamd-mailcow If you don't want to use the UI and instead wipe all keys in the Redis database, you can use redis-cli for that task: ``` -docker compose exec redis-mailcow sh +docker-compose exec redis-mailcow sh # Unlink (available in Redis >=4.) will delete in the backgronud redis-cli --scan --pattern RL* | xargs redis-cli unlink ``` @@ -176,7 +176,7 @@ redis-cli --scan --pattern RL* | xargs redis-cli unlink Restart Rspamd: ```bash -docker compose exec redis-mailcow sh +docker-compose exec redis-mailcow sh ``` ## Trigger a resend of quarantine notifications @@ -184,7 +184,7 @@ docker compose exec redis-mailcow sh Should be used for debugging only! ``` -docker compose exec dovecot-mailcow bash +docker-compose exec dovecot-mailcow bash mysql -umailcow -p$DBPASS mailcow -e "update quarantine set notified = 0;" redis-cli -h redis DEL Q_LAST_NOTIFIED quarantine_notify.py @@ -204,4 +204,4 @@ Edit `data/conf/rspamd/local.d/history_redis.conf`: nrows = 1000; # change this value ``` -Restart Rspamd afterwards: `docker compose restart rspamd-mailcow` +Restart Rspamd afterwards: `docker-compose restart rspamd-mailcow` diff --git a/docs/manual-guides/SOGo/u_e-sogo.de.md b/docs/manual-guides/SOGo/u_e-sogo.de.md index 3893519c9..b8202d767 100644 --- a/docs/manual-guides/SOGo/u_e-sogo.de.md +++ b/docs/manual-guides/SOGo/u_e-sogo.de.md @@ -8,7 +8,7 @@ Sie können die mitgelieferte `custom-theme.js` als Beispiel verwenden, indem Si Nachdem Sie `data/conf/sogo/custom-theme.js` modifiziert und Änderungen an Ihrem neuen SOGo-Theme vorgenommen haben, müssen Sie 1. Bearbeiten Sie `data/conf/sogo/sogo.conf` und fügen Sie `SOGoUIxDebugEnabled = YES;` ein. -2. SOGo und Memcached Container neu starten, indem man `docker compose restart memcached-mailcow sogo-mailcow` ausführt. +2. SOGo und Memcached Container neu starten, indem man `docker-compose restart memcached-mailcow sogo-mailcow` ausführt. 3. SOGo im Browser öffnen 4. öffnen Sie die Entwicklerkonsole des Browsers, normalerweise ist die Tastenkombination F12 5. nur wenn Sie Firefox benutzen: schreiben Sie mit der Hand in die Entwicklerkonsole `allow pasting` und drücken Sie Enter @@ -24,7 +24,7 @@ copy([].slice.call(document.styleSheets) 7. Öffnen Sie den Texteditor und fügen Sie die Daten aus der Zwischenablage ein (Strg+V), Sie sollten ein minimiertes CSS erhalten, speichern Sie es 8. kopieren Sie die CSS-Datei auf den Mailcow-Server `data/conf/sogo/custom-theme.css` 9. editiere `data/conf/sogo/sogo.conf` und setze `SOGoUIxDebugEnabled = NO;` -10. Anhängen/Erstellen von `docker compose.override.yml` mit: +10. Anhängen/Erstellen von `docker-compose.override.yml` mit: ``` Version: '2.1' @@ -33,8 +33,8 @@ Dienste: volumes: - ./data/conf/sogo/custom-theme.css:/usr/lib/GNUstep/SOGo/WebServerResources/css/theme-default.css:z ``` -11. führen Sie `docker compose up -d` aus -12. Ausführen von `docker compose restart memcached-mailcow` +11. führen Sie `docker-compose up -d` aus +12. Ausführen von `docker-compose restart memcached-mailcow` ## Zurücksetzen auf das SOGo Standardthema 1. checken Sie `data/conf/sogo/custom-theme.js` aus, indem Sie `git fetch ; git checkout origin/master data/conf/sogo/custom-theme.js data/conf/sogo/custom-theme.js` ausführen @@ -60,22 +60,22 @@ und ersetzen Sie es durch: ``` $mdThemingProvider.theme('default'); ``` -3. Entfernen Sie aus `docker compose.override.yml` Volume Mount in `sogo-mailcow`: +3. Entfernen Sie aus `docker-compose.override.yml` Volume Mount in `sogo-mailcow`: ``` - ./data/conf/sogo/custom-theme.css:/usr/lib/GNUstep/SOGo/WebServerResources/css/theme-default.css:z ``` -4. führen Sie `docker compose up -d` aus -5. Starten Sie `docker compose restart memcached-mailcow`. +4. führen Sie `docker-compose up -d` aus +5. Starten Sie `docker-compose restart memcached-mailcow`. ## Favicon ändern mailcow-Builds nach dem 31. Januar 2021 können SOGo's Favicon ändern, indem sie `data/conf/sogo/custom-favicon.ico` für SOGo und `data/web/favicon.png` für mailcow UI ersetzen. **Anmerkung**: Sie können `.png` Favicons für SOGo verwenden, indem Sie sie in `custom-favicon.ico` umbenennen. Für beide, SOGo und mailcow UI Favicons, müssen Sie eine der Standardgrößen verwenden: 16x16, 32x32, 64x64, 128x128 und 256x256. -Nachdem Sie diese Datei ersetzt haben, müssen Sie SOGo und Memcached Container neu starten, indem Sie `docker compose restart memcached-mailcow sogo-mailcow` ausführen. +Nachdem Sie diese Datei ersetzt haben, müssen Sie SOGo und Memcached Container neu starten, indem Sie `docker-compose restart memcached-mailcow sogo-mailcow` ausführen. ## Logo ändern Mailcow-Builds nach dem 21. Dezember 2018 können das SOGo-Logo ändern, indem sie die Datei `data/conf/sogo/sogo-full.svg` ersetzen oder erstellen (falls sie fehlt). -Nachdem Sie diese Datei ersetzt haben, müssen Sie SOGo und Memcached Container neu starten, indem Sie `docker compose restart memcached-mailcow sogo-mailcow` ausführen. +Nachdem Sie diese Datei ersetzt haben, müssen Sie SOGo und Memcached Container neu starten, indem Sie `docker-compose restart memcached-mailcow sogo-mailcow` ausführen. ## Domains verbinden (untereinander sichtbar machen) Domains sind normalerweise voneinander isoliert. @@ -97,15 +97,15 @@ Suche... ); ``` -SOGo neu starten: `docker compose restart sogo-mailcow` +SOGo neu starten: `docker-compose restart sogo-mailcow` ## Deaktivieren Sie die Passwortänderung Bearbeiten Sie `data/conf/sogo/sogo.conf` und **ändern** Sie `SOGoPasswordChangeEnabled` auf `NO`. Bitte fügen Sie keinen neuen Parameter hinzu. -Führen Sie `docker compose restart memcached-mailcow sogo-mailcow` aus, um die Änderungen zu aktivieren. +Führen Sie `docker-compose restart memcached-mailcow sogo-mailcow` aus, um die Änderungen zu aktivieren. ## TOTP zurücksetzen / TOTP deaktivieren -Führen Sie `docker compose exec -u sogo sogo-mailcow sogo-tool user-preferences set defaults user@example.com SOGoTOTPEnabled '{"SOGoTOTPEnabled":0}'` aus dem mailcow Verzeichnis aus. +Führen Sie `docker-compose exec -u sogo sogo-mailcow sogo-tool user-preferences set defaults user@example.com SOGoTOTPEnabled '{"SOGoTOTPEnabled":0}'` aus dem mailcow Verzeichnis aus. diff --git a/docs/manual-guides/SOGo/u_e-sogo.en.md b/docs/manual-guides/SOGo/u_e-sogo.en.md index 9fa23eb45..e048038ba 100644 --- a/docs/manual-guides/SOGo/u_e-sogo.en.md +++ b/docs/manual-guides/SOGo/u_e-sogo.en.md @@ -8,7 +8,7 @@ You can use the provided `custom-theme.js` as an example starting point by remov After you modified `data/conf/sogo/custom-theme.js` and made changes to your new SOGo theme you need to 1. edit `data/conf/sogo/sogo.conf` and append/set `SOGoUIxDebugEnabled = YES;` -2. restart SOGo and Memcached containers by executing `docker compose restart memcached-mailcow sogo-mailcow`. +2. restart SOGo and Memcached containers by executing `docker-compose restart memcached-mailcow sogo-mailcow`. 3. open SOGo in browser 4. open browser developer console, usually shortcut is F12 5. only if you use Firefox: write by hands in dev console `allow pasting` and press enter @@ -24,7 +24,7 @@ copy([].slice.call(document.styleSheets) 7. open text editor and paste data from clipboard (Ctrl+V), you should get minified CSS, save it 8. copy CSS file to mailcow server `data/conf/sogo/custom-theme.css` 9. edit `data/conf/sogo/sogo.conf` and set `SOGoUIxDebugEnabled = NO;` -10. append/create `docker compose.override.yml` with: +10. append/create `docker-compose.override.yml` with: ``` version: '2.1' @@ -33,8 +33,8 @@ services: volumes: - ./data/conf/sogo/custom-theme.css:/usr/lib/GNUstep/SOGo/WebServerResources/css/theme-default.css:z ``` -11. run `docker compose up -d` -12. run `docker compose restart memcached-mailcow` +11. run `docker-compose up -d` +12. run `docker-compose restart memcached-mailcow` ## Reset to SOGo default theme 1. checkout `data/conf/sogo/custom-theme.js` by executing `git fetch ; git checkout origin/master data/conf/sogo/custom-theme.js data/conf/sogo/custom-theme.js` @@ -60,22 +60,22 @@ and replace it with: ``` $mdThemingProvider.theme('default'); ``` -3. remove from `docker compose.override.yml` volume mount in `sogo-mailcow`: +3. remove from `docker-compose.override.yml` volume mount in `sogo-mailcow`: ``` - ./data/conf/sogo/custom-theme.css:/usr/lib/GNUstep/SOGo/WebServerResources/css/theme-default.css:z ``` -4. run `docker compose up -d` -5. run `docker compose restart memcached-mailcow` +4. run `docker-compose up -d` +5. run `docker-compose restart memcached-mailcow` ## Change favicon mailcow builds after 31 January 2021 can change SOGo's favicon by replacing `data/conf/sogo/custom-favicon.ico` for SOGo and `data/web/favicon.png` for mailcow UI. **Note**: You can use `.png` favicons for SOGo by renaming them to `custom-favicon.ico`. For both SOGo and mailcow UI favicons you need use one of the standard dimensions: 16x16, 32x32, 64x64, 128x128 and 256x256. -After you replaced said file you need to restart SOGo and Memcached containers by executing `docker compose restart memcached-mailcow sogo-mailcow`. +After you replaced said file you need to restart SOGo and Memcached containers by executing `docker-compose restart memcached-mailcow sogo-mailcow`. ## Change logo mailcow builds after 21 December 2018 can change SOGo's logo by replacing or creating (if missing) `data/conf/sogo/sogo-full.svg`. -After you replaced said file you need to restart SOGo and Memcached containers by executing `docker compose restart memcached-mailcow sogo-mailcow`. +After you replaced said file you need to restart SOGo and Memcached containers by executing `docker-compose restart memcached-mailcow sogo-mailcow`. ## Connect domains Domains are usually isolated from eachother. @@ -97,14 +97,14 @@ Search... ); ``` -Restart SOGo: `docker compose restart sogo-mailcow` +Restart SOGo: `docker-compose restart sogo-mailcow` ## Disable password changing Edit `data/conf/sogo/sogo.conf` and **change** `SOGoPasswordChangeEnabled` to `NO`. Please do not add a new parameter. -Run `docker compose restart memcached-mailcow sogo-mailcow` to activate the changes. +Run `docker-compose restart memcached-mailcow sogo-mailcow` to activate the changes. ## Reset TOTP / Disable TOTP -Run `docker compose exec -u sogo sogo-mailcow sogo-tool user-preferences set defaults user@example.com SOGoTOTPEnabled '{"SOGoTOTPEnabled":0}'` from within the mailcow directory. +Run `docker-compose exec -u sogo sogo-mailcow sogo-tool user-preferences set defaults user@example.com SOGoTOTPEnabled '{"SOGoTOTPEnabled":0}'` from within the mailcow directory. diff --git a/docs/manual-guides/Unbound/u_e-unbound-fwd.de.md b/docs/manual-guides/Unbound/u_e-unbound-fwd.de.md index f723f17a7..43c62fc3c 100644 --- a/docs/manual-guides/Unbound/u_e-unbound-fwd.de.md +++ b/docs/manual-guides/Unbound/u_e-unbound-fwd.de.md @@ -18,7 +18,7 @@ forward-zone: Unbound neu starten: ``` -docker compose restart unbound-mailcow +docker-compose restart unbound-mailcow ``` @@ -26,9 +26,9 @@ docker compose restart unbound-mailcow ``` cd /opt/mailcow-dockerized -cp helper-scripts/docker compose.override.yml.d/EXTERNAL_DNS/docker compose.override.yml . +cp helper-scripts/docker-compose.override.yml.d/EXTERNAL_DNS/docker-compose.override.yml . ``` -Bearbeiten Sie `docker compose.override.yml` und passen Sie die IP an. +Bearbeiten Sie `docker-compose.override.yml` und passen Sie die IP an. -Führen Sie `docker compose down ; docker compose up -d` aus. \ No newline at end of file +Führen Sie `docker-compose down ; docker-compose up -d` aus. \ No newline at end of file diff --git a/docs/manual-guides/Unbound/u_e-unbound-fwd.en.md b/docs/manual-guides/Unbound/u_e-unbound-fwd.en.md index fa8054240..097bcbd87 100644 --- a/docs/manual-guides/Unbound/u_e-unbound-fwd.en.md +++ b/docs/manual-guides/Unbound/u_e-unbound-fwd.en.md @@ -18,7 +18,7 @@ forward-zone: Restart Unbound: ``` -docker compose restart unbound-mailcow +docker-compose restart unbound-mailcow ``` @@ -26,9 +26,9 @@ docker compose restart unbound-mailcow ``` cd /opt/mailcow-dockerized -cp helper-scripts/docker compose.override.yml.d/EXTERNAL_DNS/docker compose.override.yml . +cp helper-scripts/docker-compose.override.yml.d/EXTERNAL_DNS/docker-compose.override.yml . ``` -Edit `docker compose.override.yml` and adjust the IP. +Edit `docker-compose.override.yml` and adjust the IP. -Run `docker compose down ; docker compose up -d`. \ No newline at end of file +Run `docker-compose down ; docker-compose up -d`. \ No newline at end of file diff --git a/docs/manual-guides/Watchdog/u_e-watchdog-thresholds.de.md b/docs/manual-guides/Watchdog/u_e-watchdog-thresholds.de.md index 0582db014..35679a83e 100644 --- a/docs/manual-guides/Watchdog/u_e-watchdog-thresholds.de.md +++ b/docs/manual-guides/Watchdog/u_e-watchdog-thresholds.de.md @@ -1,4 +1,4 @@ -Watchdog verwendet Standardwerte für alle in `docker compose.yml` definierten Thresholde. +Watchdog verwendet Standardwerte für alle in `docker-compose.yml` definierten Thresholde. Die Standardwerte sind für die meisten Konfigurationen geeignet. Beispiel: @@ -23,7 +23,7 @@ Beispiel: - MAILQ_CRIT=${MAILQ_CRIT:-30} ``` -Um sie anzupassen, fügen Sie einfach die notwendigen Threshold Variablen (z.B. `MAILQ_THRESHOLD=10`) zu `mailcow.conf` hinzu und führen `docker compose up -d` aus. +Um sie anzupassen, fügen Sie einfach die notwendigen Threshold Variablen (z.B. `MAILQ_THRESHOLD=10`) zu `mailcow.conf` hinzu und führen `docker-compose up -d` aus. ### Threshold Beschreibungen diff --git a/docs/manual-guides/Watchdog/u_e-watchdog-thresholds.en.md b/docs/manual-guides/Watchdog/u_e-watchdog-thresholds.en.md index ecf9506b4..cc9c6e8ff 100644 --- a/docs/manual-guides/Watchdog/u_e-watchdog-thresholds.en.md +++ b/docs/manual-guides/Watchdog/u_e-watchdog-thresholds.en.md @@ -1,4 +1,4 @@ -Watchdog uses default values for all thresholds defined in `docker compose.yml`. +Watchdog uses default values for all thresholds defined in `docker-compose.yml`. The default values will work for most setups. Example: @@ -23,7 +23,7 @@ Example: - MAILQ_CRIT=${MAILQ_CRIT:-30} ``` -To adjust them just add necessary threshold variables (e.g. `MAILQ_THRESHOLD=10`) to `mailcow.conf` and run `docker compose up -d`. +To adjust them just add necessary threshold variables (e.g. `MAILQ_THRESHOLD=10`) to `mailcow.conf` and run `docker-compose up -d`. ### Thresholds descriptions diff --git a/docs/manual-guides/mailcow-UI/u_e-mailcow_ui-tfa.de.md b/docs/manual-guides/mailcow-UI/u_e-mailcow_ui-tfa.de.md index 7095ecdee..d61ac6d4c 100644 --- a/docs/manual-guides/mailcow-UI/u_e-mailcow_ui-tfa.de.md +++ b/docs/manual-guides/mailcow-UI/u_e-mailcow_ui-tfa.de.md @@ -76,7 +76,7 @@ Mit WebAuthn gibt es die Möglichkeit, nur offizielle Fido Security Keys zu verw Dies dient in erster Linie der Sicherheit, da es Administratoren ermöglicht, sicherzustellen, dass nur offizielle Hardware in ihrer Umgebung verwendet werden kann. -Um diese Funktion zu aktivieren, ändern Sie den Wert `WEBAUTHN_ONLY_TRUSTED_VENDORS` in mailcow.conf von `n` auf `y` und starten Sie die betroffenen Container mit `docker compose up -d` neu. +Um diese Funktion zu aktivieren, ändern Sie den Wert `WEBAUTHN_ONLY_TRUSTED_VENDORS` in mailcow.conf von `n` auf `y` und starten Sie die betroffenen Container mit `docker-compose up -d` neu. Die mailcow wird nun die Vendor-Zertifikate verwenden, die sich in Ihrem mailcow-Verzeichnis unter `data/web/inc/lib/WebAuthn/rootCertificates` befinden. diff --git a/docs/manual-guides/mailcow-UI/u_e-mailcow_ui-tfa.en.md b/docs/manual-guides/mailcow-UI/u_e-mailcow_ui-tfa.en.md index 4a42ce0b9..d3c434f7c 100644 --- a/docs/manual-guides/mailcow-UI/u_e-mailcow_ui-tfa.en.md +++ b/docs/manual-guides/mailcow-UI/u_e-mailcow_ui-tfa.en.md @@ -78,7 +78,7 @@ With WebAuthn there is the possibility to use only official Fido Security Keys ( This is primarily for security purposes, as it allows administrators to ensure that only official hardware can be used in their environment. -To enable this feature, change the value `WEBAUTHN_ONLY_TRUSTED_VENDORS` in mailcow.conf from `n` to `y` and restart the affected containers with `docker compose up -d`. +To enable this feature, change the value `WEBAUTHN_ONLY_TRUSTED_VENDORS` in mailcow.conf from `n` to `y` and restart the affected containers with `docker-compose up -d`. The mailcow will now use the Vendor Certificates located in your mailcow directory under `data/web/inc/lib/WebAuthn/rootCertificates`. diff --git a/docs/manual-guides/u_e-80_to_443.de.md b/docs/manual-guides/u_e-80_to_443.de.md index 23be5a024..2cae26ce8 100644 --- a/docs/manual-guides/u_e-80_to_443.de.md +++ b/docs/manual-guides/u_e-80_to_443.de.md @@ -26,11 +26,11 @@ server { Falls Sie den Parameter HTTP_BIND geändert haben, erstellen Sie den Container neu: ``` -docker compose up -d +docker-compose up -d ``` Andernfalls starten Sie Nginx neu: ``` -docker compose restart nginx-mailcow +docker-compose restart nginx-mailcow ``` \ No newline at end of file diff --git a/docs/manual-guides/u_e-80_to_443.en.md b/docs/manual-guides/u_e-80_to_443.en.md index eaaba3e8a..2dbcc9fae 100644 --- a/docs/manual-guides/u_e-80_to_443.en.md +++ b/docs/manual-guides/u_e-80_to_443.en.md @@ -26,11 +26,11 @@ server { In case you changed the HTTP_BIND parameter, recreate the container: ``` -docker compose up -d +docker-compose up -d ``` Otherwise restart Nginx: ``` -docker compose restart nginx-mailcow +docker-compose restart nginx-mailcow ``` \ No newline at end of file diff --git a/docs/manual-guides/u_e-reeanble-weak-protocols.de.md b/docs/manual-guides/u_e-reeanble-weak-protocols.de.md index a1a7ad12f..749f7dffd 100644 --- a/docs/manual-guides/u_e-reeanble-weak-protocols.de.md +++ b/docs/manual-guides/u_e-reeanble-weak-protocols.de.md @@ -20,7 +20,7 @@ ssl_min_protocol = TLSv1 Starten Sie die betroffenen Dienste neu: ``` -docker compose restart postfix-mailcow dovecot-mailcow +docker-compose restart postfix-mailcow dovecot-mailcow ``` Tipp: Sie können TLS 1.2 in Windows 7 aktivieren. \ No newline at end of file diff --git a/docs/manual-guides/u_e-reeanble-weak-protocols.en.md b/docs/manual-guides/u_e-reeanble-weak-protocols.en.md index 8254765db..9151bfb7b 100644 --- a/docs/manual-guides/u_e-reeanble-weak-protocols.en.md +++ b/docs/manual-guides/u_e-reeanble-weak-protocols.en.md @@ -20,7 +20,7 @@ ssl_min_protocol = TLSv1 Restart the affected services: ``` -docker compose restart postfix-mailcow dovecot-mailcow +docker-compose restart postfix-mailcow dovecot-mailcow ``` Hint: You can enable TLS 1.2 in Windows 7. \ No newline at end of file diff --git a/docs/model-protocol_access.md b/docs/model-protocol_access.md deleted file mode 100644 index 81ea182e0..000000000 --- a/docs/model-protocol_access.md +++ /dev/null @@ -1,2 +0,0 @@ -# Configuring protocol access - diff --git a/docs/models/model-passwd.de.md b/docs/models/model-passwd.de.md index a44b962d8..01a083bec 100644 --- a/docs/models/model-passwd.de.md +++ b/docs/models/model-passwd.de.md @@ -46,4 +46,4 @@ Der Wert von `MAILCOW_PASS_SCHEME` wird _immer_ verwendet, um neue Passwörter z > Ich habe die Passwort-Hashes in der SQL-Tabelle "Mailbox" geändert und kann mich nicht anmelden. -Eine "Ansicht" muss aktualisiert werden. Sie können dies durch einen Neustart von sogo-mailcow auslösen: `docker compose restart sogo-mailcow` \ No newline at end of file +Eine "Ansicht" muss aktualisiert werden. Sie können dies durch einen Neustart von sogo-mailcow auslösen: `docker-compose restart sogo-mailcow` \ No newline at end of file diff --git a/docs/models/model-passwd.en.md b/docs/models/model-passwd.en.md index 5885b723c..e77ffe0d6 100644 --- a/docs/models/model-passwd.en.md +++ b/docs/models/model-passwd.en.md @@ -46,4 +46,4 @@ The value of `MAILCOW_PASS_SCHEME` will _always_ be used to encrypt new password > I changed the password hashes in the "mailbox" SQL table and cannot login. -A "view" needs to be updated. You can trigger this by restarting sogo-mailcow: `docker compose restart sogo-mailcow` \ No newline at end of file +A "view" needs to be updated. You can trigger this by restarting sogo-mailcow: `docker-compose restart sogo-mailcow` \ No newline at end of file diff --git a/docs/post_installation/firststeps-disable_ipv6.de.md b/docs/post_installation/firststeps-disable_ipv6.de.md index ae918534f..6585374b0 100644 --- a/docs/post_installation/firststeps-disable_ipv6.de.md +++ b/docs/post_installation/firststeps-disable_ipv6.de.md @@ -3,12 +3,12 @@ Dies wird **NUR** empfohlen, wenn Sie kein IPv6-fähiges Netzwerk auf Ihrem Host Wenn Sie es wirklich brauchen, können Sie die Verwendung von IPv6 in der Compose-Datei deaktivieren. Zusätzlich können Sie auch den Start des Containers "ipv6nat-mailcow" deaktivieren, da er nicht benötigt wird, wenn Sie IPv6 nicht verwenden. -Anstatt die Datei docker compose.yml direkt zu bearbeiten, ist es besser, eine Override-Datei zu erstellen +Anstatt die Datei docker-compose.yml direkt zu bearbeiten, ist es besser, eine Override-Datei zu erstellen zu erstellen und Ihre Änderungen am Dienst dort zu implementieren. Leider scheint dies im Moment nur für Dienste zu funktionieren, nicht für Netzwerkeinstellungen. -Um IPv6 im mailcow-Netzwerk zu deaktivieren, öffnen Sie docker compose.yml mit Ihrem bevorzugten Texteditor und suchen Sie nach dem Netzwerk-Abschnitt (er befindet sich am Ende der Datei). +Um IPv6 im mailcow-Netzwerk zu deaktivieren, öffnen Sie docker-compose.yml mit Ihrem bevorzugten Texteditor und suchen Sie nach dem Netzwerk-Abschnitt (er befindet sich am Ende der Datei). -**1.** Ändern Sie docker compose.yml +**1.** Ändern Sie docker-compose.yml Ändern Sie `enable_ipv6: true` in `enable_ipv6: false`: @@ -22,13 +22,13 @@ networks: **2.** ipv6nat-mailcow deaktivieren -Um den ipv6nat-mailcow Container ebenfalls zu deaktivieren, gehen Sie in Ihr mailcow Verzeichnis und erstellen Sie eine neue Datei namens "docker compose.override.yml": +Um den ipv6nat-mailcow Container ebenfalls zu deaktivieren, gehen Sie in Ihr mailcow Verzeichnis und erstellen Sie eine neue Datei namens "docker-compose.override.yml": **HINWEIS:** Wenn Sie bereits eine Override-Datei haben, erstellen Sie diese natürlich nicht neu, sondern fügen Sie die untenstehenden Zeilen entsprechend in Ihre bestehende Datei ein! ``` # cd /opt/mailcow-dockerized -# touch docker compose.override.yml +# touch docker-compose.override.yml ``` Öffnen Sie die Datei in Ihrem bevorzugten Texteditor und tragen Sie folgendes ein: @@ -46,8 +46,8 @@ services: Damit diese Änderungen wirksam werden, müssen Sie den Stack vollständig stoppen und dann neu starten, damit Container und Netzwerke neu erstellt werden: ``` -docker compose down -docker compose up -d +docker-compose down +docker-compose up -d ``` **3.** Deaktivieren Sie IPv6 in unbound-mailcow @@ -64,7 +64,7 @@ Server: unbound neu starten: ``` -docker compose restart unbound-mailcow +docker-compose restart unbound-mailcow ``` **4.** Deaktivieren Sie IPv6 in postfix-mailcow @@ -79,5 +79,5 @@ inet_protocols = ipv4 Starten Sie Postfix neu: ``` -docker compose restart postfix-mailcow +docker-compose restart postfix-mailcow ``` diff --git a/docs/post_installation/firststeps-disable_ipv6.en.md b/docs/post_installation/firststeps-disable_ipv6.en.md index b31c94989..b9c651c31 100644 --- a/docs/post_installation/firststeps-disable_ipv6.en.md +++ b/docs/post_installation/firststeps-disable_ipv6.en.md @@ -3,12 +3,12 @@ This is **ONLY** recommended if you do not have an IPv6 enabled network on your If you really need to, you can disable the usage of IPv6 in the compose file. Additionally, you can also disable the startup of container "ipv6nat-mailcow", as it's not needed if you won't use IPv6. -Instead of editing docker compose.yml directly, it is preferable to create an override file for it +Instead of editing docker-compose.yml directly, it is preferable to create an override file for it and implement your changes to the service there. Unfortunately, this right now only seems to work for services, not for network settings. -To disable IPv6 on the mailcow network, open docker compose.yml with your favourite text editor and search for the network section (it's near the bottom of the file). +To disable IPv6 on the mailcow network, open docker-compose.yml with your favourite text editor and search for the network section (it's near the bottom of the file). -**1.** Modify docker compose.yml +**1.** Modify docker-compose.yml Change `enable_ipv6: true` to `enable_ipv6: false`: @@ -22,13 +22,13 @@ networks: **2.** Disable ipv6nat-mailcow -To disable the ipv6nat-mailcow container as well, go to your mailcow directory and create a new file called "docker compose.override.yml": +To disable the ipv6nat-mailcow container as well, go to your mailcow directory and create a new file called "docker-compose.override.yml": **NOTE:** If you already have an override file, of course don't recreate it, but merge the lines below into your existing one accordingly! ``` # cd /opt/mailcow-dockerized -# touch docker compose.override.yml +# touch docker-compose.override.yml ``` Open the file in your favourite text editor and fill in the following: @@ -46,8 +46,8 @@ services: For these changes to be effective, you need to fully stop and then restart the stack, so containers and networks are recreated: ``` -docker compose down -docker compose up -d +docker-compose down +docker-compose up -d ``` **3.** Disable IPv6 in unbound-mailcow @@ -64,7 +64,7 @@ server: Restart Unbound: ``` -docker compose restart unbound-mailcow +docker-compose restart unbound-mailcow ``` **4.** Disable IPv6 in postfix-mailcow @@ -79,5 +79,5 @@ inet_protocols = ipv4 Restart Postfix: ``` -docker compose restart postfix-mailcow +docker-compose restart postfix-mailcow ``` \ No newline at end of file diff --git a/docs/post_installation/firststeps-dmarc_reporting.de.md b/docs/post_installation/firststeps-dmarc_reporting.de.md index 0956e4dbb..bbcde508c 100644 --- a/docs/post_installation/firststeps-dmarc_reporting.de.md +++ b/docs/post_installation/firststeps-dmarc_reporting.de.md @@ -34,7 +34,7 @@ reporting { } ``` -Erstellen oder ändern Sie `docker compose.override.yml` im mailcow-dockerized Basisverzeichnis: +Erstellen oder ändern Sie `docker-compose.override.yml` im mailcow-dockerized Basisverzeichnis: ``` version: '2.1' @@ -52,7 +52,7 @@ services: - rspamd-mailcow ``` -Starte `docker compose up -d` +Starte `docker-compose up -d` ## Senden Sie eine Kopie der Berichte an sich selbst @@ -78,32 +78,32 @@ Dies kann nützlich sein, wenn Sie... Prüfen Sie, wann der Berichtsplan zuletzt ausgeführt wurde: ``` -docker compose exec rspamd-mailcow date -r /var/lib/rspamd/dmarc_reports_last_log +docker-compose exec rspamd-mailcow date -r /var/lib/rspamd/dmarc_reports_last_log ``` Sehen Sie sich die letzte Berichtsausgabe an: ``` -docker compose exec rspamd-mailcow cat /var/lib/rspamd/dmarc_reports_last_log +docker-compose exec rspamd-mailcow cat /var/lib/rspamd/dmarc_reports_last_log ``` Manuelles Auslösen eines DMARC-Berichts: ``` -docker compose exec rspamd-mailcow rspamadm dmarc_report +docker-compose exec rspamd-mailcow rspamadm dmarc_report ``` Bestätigen Sie, dass Rspamd Daten in Redis aufgezeichnet hat: Ändern Sie `20220428` in ein anderes interessantes Datum zum schauen. ``` -docker compose exec redis-mailcow redis-cli SMEMBERS "dmarc_idx;20220428" +docker-compose exec redis-mailcow redis-cli SMEMBERS "dmarc_idx;20220428" ``` Nehmen Sie eine der Zeilen aus der Ausgabe, die Sie interessiert, und fordern Sie sie an, z. B.: ``` -docker compose exec redis-mailcow redis-cli ZRANGE "dmarc_rpt;microsoft.com;mailto:d@rua.agari.com;20220428" 0 49 +docker-compose exec redis-mailcow redis-cli ZRANGE "dmarc_rpt;microsoft.com;mailto:d@rua.agari.com;20220428" 0 49 ``` @@ -115,11 +115,11 @@ Der Olefia-Zeitplan hat die gleiche Implementierung wie `cron` in Go, die unters Um den Zeitplan zu ändern: -1. Bearbeiten Sie `docker compose.override.yml` und stellen Sie `ofelia.job-exec.rspamd_dmarc_reporting.schedule: "@every 24h"` auf einen gewünschten Wert, zum Beispiel auf `"@midnight"` +1. Bearbeiten Sie `docker-compose.override.yml` und stellen Sie `ofelia.job-exec.rspamd_dmarc_reporting.schedule: "@every 24h"` auf einen gewünschten Wert, zum Beispiel auf `"@midnight"` -2. Führen Sie `docker compose up -d` aus. +2. Führen Sie `docker-compose up -d` aus. -3. Führen Sie `docker compose restart ofelia-mailcow` aus +3. Führen Sie `docker-compose restart ofelia-mailcow` aus ## DMARC-Berichterstattung deaktivieren @@ -127,6 +127,6 @@ Zum Deaktivieren der Berichterstattung: 1. Setzen Sie `enabled` auf `false` in `data/conf/rspamd/local.d/dmarc.conf`. -2. Machen Sie Änderungen in `docker compose.override.yml` an `rspamd-mailcow` und `ofelia-mailcow` rückgängig +2. Machen Sie Änderungen in `docker-compose.override.yml` an `rspamd-mailcow` und `ofelia-mailcow` rückgängig -3. Führen Sie `docker compose up -d` aus +3. Führen Sie `docker-compose up -d` aus diff --git a/docs/post_installation/firststeps-dmarc_reporting.en.md b/docs/post_installation/firststeps-dmarc_reporting.en.md index 7cf480814..588e784d8 100644 --- a/docs/post_installation/firststeps-dmarc_reporting.en.md +++ b/docs/post_installation/firststeps-dmarc_reporting.en.md @@ -34,7 +34,7 @@ reporting { } ``` -Create or modify `docker compose.override.yml` in the mailcow-dockerized base directory: +Create or modify `docker-compose.override.yml` in the mailcow-dockerized base directory: ``` version: '2.1' @@ -52,7 +52,7 @@ services: - rspamd-mailcow ``` -Run `docker compose up -d` +Run `docker-compose up -d` ## Send a copy reports to yourself @@ -78,30 +78,30 @@ This can be useful if you... Check when the report schedule last ran: ``` -docker compose exec rspamd-mailcow date -r /var/lib/rspamd/dmarc_reports_last_log +docker-compose exec rspamd-mailcow date -r /var/lib/rspamd/dmarc_reports_last_log ``` See the latest report output: ``` -docker compose exec rspamd-mailcow cat /var/lib/rspamd/dmarc_reports_last_log +docker-compose exec rspamd-mailcow cat /var/lib/rspamd/dmarc_reports_last_log ``` Manually trigger a DMARC report: ``` -docker compose exec rspamd-mailcow rspamadm dmarc_report +docker-compose exec rspamd-mailcow rspamadm dmarc_report ``` Validate that Rspamd has recorded data in Redis: Change `20220428` to date which you interested in. ``` -docker compose exec redis-mailcow redis-cli SMEMBERS "dmarc_idx;20220428" +docker-compose exec redis-mailcow redis-cli SMEMBERS "dmarc_idx;20220428" ``` Take one of the lines from output you interested in and request it, f.e.: ``` -docker compose exec redis-mailcow redis-cli ZRANGE "dmarc_rpt;microsoft.com;mailto:d@rua.agari.com;20220428" 0 49 +docker-compose exec redis-mailcow redis-cli ZRANGE "dmarc_rpt;microsoft.com;mailto:d@rua.agari.com;20220428" 0 49 ``` ## Change DMARC reporting frequency @@ -112,11 +112,11 @@ Olefia schedule has same implementation as `cron` in Go, supported syntax descri To change schedule: -1. Edit `docker compose.override.yml` and a djust `ofelia.job-exec.rspamd_dmarc_reporting.schedule: "@every 24h"` to a desired value, for example to `"@midnight"` +1. Edit `docker-compose.override.yml` and a djust `ofelia.job-exec.rspamd_dmarc_reporting.schedule: "@every 24h"` to a desired value, for example to `"@midnight"` -2. Run `docker compose up -d` +2. Run `docker-compose up -d` -3. Run `docker compose restart ofelia-mailcow` +3. Run `docker-compose restart ofelia-mailcow` ## Disable DMARC Reporting @@ -124,6 +124,6 @@ To disable reporting: 1. Set `enabled` to `false` in `data/conf/rspamd/local.d/dmarc.conf` -2. Revert changes done in `docker compose.override.yml` to `rspamd-mailcow` and `ofelia-mailcow` +2. Revert changes done in `docker-compose.override.yml` to `rspamd-mailcow` and `ofelia-mailcow` -3. Run `docker compose up -d` +3. Run `docker-compose up -d` diff --git a/docs/post_installation/firststeps-ip_bindings.de.md b/docs/post_installation/firststeps-ip_bindings.de.md index 6e527097f..58224fcbd 100644 --- a/docs/post_installation/firststeps-ip_bindings.de.md +++ b/docs/post_installation/firststeps-ip_bindings.de.md @@ -33,15 +33,15 @@ SQL_PORT=127.0.0.1:13306 SOLR_PORT=127.0.0.1:18983 ``` -Um Ihre Änderungen zu übernehmen, führen Sie `docker compose down` gefolgt von `docker compose up -d` aus. +Um Ihre Änderungen zu übernehmen, führen Sie `docker-compose down` gefolgt von `docker-compose up -d` aus. ## IPv6-Binding Das Ändern von IPv6-Bindings ist anders als bei IPv4. Auch dies hat einen technischen Hintergrund. -Eine `docker compose.override.yml` Datei wird verwendet, anstatt die `docker compose.yml` Datei direkt zu bearbeiten. Dies geschieht, um die Aktualisierbarkeit zu erhalten, da die Datei `docker compose.yml` regelmäßig aktualisiert wird und Ihre Änderungen höchstwahrscheinlich überschrieben werden. +Eine `docker-compose.override.yml` Datei wird verwendet, anstatt die `docker-compose.yml` Datei direkt zu bearbeiten. Dies geschieht, um die Aktualisierbarkeit zu erhalten, da die Datei `docker-compose.yml` regelmäßig aktualisiert wird und Ihre Änderungen höchstwahrscheinlich überschrieben werden. -Bearbeiten Sie die Datei "docker compose.override.yml" und erstellen Sie sie mit dem folgenden Inhalt. Ihr Inhalt wird mit der produktiven Datei "docker compose.yml" zusammengeführt. +Bearbeiten Sie die Datei "docker-compose.override.yml" und erstellen Sie sie mit dem folgenden Inhalt. Ihr Inhalt wird mit der produktiven Datei "docker-compose.yml" zusammengeführt. Es wird eine imaginäre IPv6 **2a00:dead:beef::abc** angegeben. Das erste Suffix `:PORT1` definiert den externen Port, während das zweite Suffix `:PORT2` zu dem entsprechenden Port innerhalb des Containers führt und nicht verändert werden darf. @@ -69,4 +69,4 @@ services: - '2a00:dead:beef::abc:443:443' ``` -Um Ihre Änderungen zu übernehmen, führen Sie `docker compose down` gefolgt von `docker compose up -d` aus. \ No newline at end of file +Um Ihre Änderungen zu übernehmen, führen Sie `docker-compose down` gefolgt von `docker-compose up -d` aus. \ No newline at end of file diff --git a/docs/post_installation/firststeps-ip_bindings.en.md b/docs/post_installation/firststeps-ip_bindings.en.md index 69d7a62ab..c1a05340d 100644 --- a/docs/post_installation/firststeps-ip_bindings.en.md +++ b/docs/post_installation/firststeps-ip_bindings.en.md @@ -33,15 +33,15 @@ SQL_PORT=127.0.0.1:13306 SOLR_PORT=127.0.0.1:18983 ``` -To apply your changes, run `docker compose down` followed by `docker compose up -d`. +To apply your changes, run `docker-compose down` followed by `docker-compose up -d`. ## IPv6 binding Changing IPv6 bindings is different from IPv4. Again, this has a technical background. -A `docker compose.override.yml` file will be used instead of editing the `docker compose.yml` file directly. This is to maintain updatability, as the `docker compose.yml` file gets updated regularly and your changes will most likely be overwritten. +A `docker-compose.override.yml` file will be used instead of editing the `docker-compose.yml` file directly. This is to maintain updatability, as the `docker-compose.yml` file gets updated regularly and your changes will most likely be overwritten. -Edit to create a file `docker compose.override.yml` with the following content. Its content will be merged with the productive `docker compose.yml` file. +Edit to create a file `docker-compose.override.yml` with the following content. Its content will be merged with the productive `docker-compose.yml` file. An imaginary IPv6 **2a00:dead:beef::abc** is given. The first suffix `:PORT1` defines the external port, while the second suffix `:PORT2` routes to the corresponding port inside the container and must not be changed. @@ -69,4 +69,4 @@ services: - '2a00:dead:beef::abc:443:443' ``` -To apply your changes, run `docker compose down` followed by `docker compose up -d`. \ No newline at end of file +To apply your changes, run `docker-compose down` followed by `docker-compose up -d`. \ No newline at end of file diff --git a/docs/post_installation/firststeps-logging.de.md b/docs/post_installation/firststeps-logging.de.md index 54ec97709..8ca0de403 100644 --- a/docs/post_installation/firststeps-logging.de.md +++ b/docs/post_installation/firststeps-logging.de.md @@ -1,7 +1,7 @@ Das Logging in mailcow: dockerized besteht aus mehreren Stufen, ist aber immerhin wesentlich flexibler und einfacher in einen Logging-Daemon zu integrieren als bisher. In Docker schreibt die containerisierte Anwendung (PID 1) ihre Ausgabe auf stdout. Für echte Ein-Anwendungs-Container funktioniert das sehr gut. -Führen Sie `docker compose logs --help` aus, um mehr zu erfahren. +Führen Sie `docker-compose logs --help` aus, um mehr zu erfahren. Einige Container protokollieren oder streamen an mehrere Ziele. @@ -26,11 +26,11 @@ Redis-Schlüssel enthalten nur Logs von Anwendungen und filtern Systemmeldungen ### Logging-Treiber -#### Über docker compose.override.yml +#### Über docker-compose.override.yml Hier ist die gute Nachricht: Da Docker einige großartige Logging-Treiber hat, können Sie mailcow: dockerized mit Leichtigkeit in Ihre bestehende Logging-Umgebung integrieren. -Erstellen Sie eine `docker compose.override.yml` und fügen Sie zum Beispiel diesen Block hinzu, um das "gelf" Logging-Plugin für `postfix-mailcow` zu verwenden: +Erstellen Sie eine `docker-compose.override.yml` und fügen Sie zum Beispiel diesen Block hinzu, um das "gelf" Logging-Plugin für `postfix-mailcow` zu verwenden: ``` version: '2.1' @@ -118,7 +118,7 @@ Für Syslog: } ``` -Starten Sie den Docker-Daemon neu und führen Sie `docker compose down && docker compose up -d` aus, um die Container mit dem neuen Protokollierungstreiber neu zu erstellen. +Starten Sie den Docker-Daemon neu und führen Sie `docker-compose down && docker-compose up -d` aus, um die Container mit dem neuen Protokollierungstreiber neu zu erstellen. ### Log rotation diff --git a/docs/post_installation/firststeps-logging.en.md b/docs/post_installation/firststeps-logging.en.md index 5bca9273d..bcc3fef15 100644 --- a/docs/post_installation/firststeps-logging.en.md +++ b/docs/post_installation/firststeps-logging.en.md @@ -1,7 +1,7 @@ Logging in mailcow: dockerized consists of multiple stages, but is, after all, much more flexible and easier to integrate into a logging daemon than before. In Docker the containerized application (PID 1) writes its output to stdout. For real one-application containers this works just fine. -Run `docker compose logs --help` to learn more. +Run `docker-compose logs --help` to learn more. Some containers log or stream to multiple destinations. @@ -26,11 +26,11 @@ Redis keys will only hold logs from applications and filter out system messages ### Logging drivers -#### Via docker compose.override.yml +#### Via docker-compose.override.yml Here is the good news: Since Docker has some great logging drivers, you can integrate mailcow: dockerized into your existing logging environment with ease. -Create a `docker compose.override.yml` and add, for example, this block to use the "gelf" logging plugin for `postfix-mailcow`: +Create a `docker-compose.override.yml` and add, for example, this block to use the "gelf" logging plugin for `postfix-mailcow`: ``` version: '2.1' @@ -117,7 +117,7 @@ For Syslog: } ``` -Restart the Docker daemon and run `docker compose down && docker compose up -d` to recreate the containers with the new logging driver. +Restart the Docker daemon and run `docker-compose down && docker-compose up -d` to recreate the containers with the new logging driver. ### Log rotation diff --git a/docs/post_installation/firststeps-rp.de.md b/docs/post_installation/firststeps-rp.de.md index 8dc321384..4b7a92ee5 100644 --- a/docs/post_installation/firststeps-rp.de.md +++ b/docs/post_installation/firststeps-rp.de.md @@ -13,7 +13,7 @@ Dadurch werden auch die Bindungen innerhalb des Nginx-Containers geändert! Dies **WICHTIG:** Verwenden Sie nicht Port 8081, 9081 oder 65510! -Erzeugen Sie die betroffenen Container neu, indem Sie `docker compose up -d` ausführen. +Erzeugen Sie die betroffenen Container neu, indem Sie `docker-compose up -d` ausführen. **Wichtige Informationen, bitte lesen Sie diese sorgfältig durch!** @@ -180,9 +180,9 @@ backend mailcow In diesem Abschnitt gehen wir davon aus, dass Sie Ihren Traefik 2 `[certificatesresolvers]` in Ihrer Traefik-Konfigurationsdatei richtig konfiguriert haben und auch acme verwenden. Das folgende Beispiel verwendet Lets Encrypt, aber Sie können es gerne auf Ihren eigenen Zertifikatsresolver ändern. Eine grundlegende Traefik 2 toml-Konfigurationsdatei mit allen oben genannten Elementen, die für dieses Beispiel verwendet werden kann, finden Sie hier [traefik.toml](https://github.com/Frenzoid/TraefikBasicConfig/blob/master/traefik.toml), falls Sie eine solche Datei benötigen oder einen Hinweis, wie Sie Ihre Konfiguration anpassen können. Zuallererst werden wir den acme-mailcow-Container deaktivieren, da wir die von traefik bereitgestellten Zertifikate verwenden werden. -Dazu müssen wir `SKIP_LETS_ENCRYPT=y` in unserer `mailcow.conf` setzen und `docker compose up -d` ausführen, um die Änderungen zu übernehmen. +Dazu müssen wir `SKIP_LETS_ENCRYPT=y` in unserer `mailcow.conf` setzen und `docker-compose up -d` ausführen, um die Änderungen zu übernehmen. -Dann erstellen wir eine `docker compose.override.yml` Datei, um die Hauptdatei `docker compose.yml` zu überschreiben, die sich im Mailcow-Stammverzeichnis befindet. +Dann erstellen wir eine `docker-compose.override.yml` Datei, um die Hauptdatei `docker-compose.yml` zu überschreiben, die sich im Mailcow-Stammverzeichnis befindet. ```yaml version: '2.1' @@ -216,7 +216,7 @@ services: network_mode: none volumes: # mounten Sie den Ordner, der Traefiks `acme.json' Datei enthält - # in diesem Fall wird Traefik von seinem eigenen docker compose in ../traefik gestartet + # in diesem Fall wird Traefik von seinem eigenen docker-compose in ../traefik gestartet - ../traefik/data:/traefik:ro # SSL-Ordner von mailcow einhängen - ./data/assets/ssl/:/output:rw @@ -230,13 +230,13 @@ networks: external: true ``` -Starten Sie die neuen Container mit `docker compose up -d`. +Starten Sie die neuen Container mit `docker-compose up -d`. Da Traefik 2 ein acme v2 Format verwendet, um ALLE Lizenzen von allen Domains zu speichern, müssen wir einen Weg finden, die Zertifikate auszulagern. Zum Glück haben wir [diesen kleinen Container] (https://hub.docker.com/r/humenius/traefik-certs-dumper), der die Datei `acme.json` über ein Volume und eine Variable `DOMAIN=example. org`, und damit wird der Container die `cert.pem` und `key.pem` Dateien ausgeben, dafür lassen wir einfach den `traefik-certs-dumper` Container laufen, binden das `/traefik` Volume an den Ordner, in dem unsere `acme.json` gespeichert ist, binden das `/output` Volume an unseren mailcow `data/assets/ssl/` Ordner, und setzen die `DOMAIN=example.org` Variable auf die Domain, von der wir die Zertifikate ausgeben wollen. Dieser Container überwacht die Datei `acme.json` auf Änderungen und generiert die Dateien `cert.pem` und `key.pem` direkt in `data/assets/ssl/`, wobei der Pfad mit dem `/output`-Pfad des Containers verbunden ist. -Sie können es über die Kommandozeile ausführen oder das [hier] gezeigte docker compose verwenden (https://hub.docker.com/r/humenius/traefik-certs-dumper). +Sie können es über die Kommandozeile ausführen oder das [hier] gezeigte docker-compose verwenden (https://hub.docker.com/r/humenius/traefik-certs-dumper). Nachdem wir die Zertifikate übertragen haben, müssen wir die Konfigurationen aus unseren Postfix- und Dovecot-Containern neu laden und die Zertifikate überprüfen. Wie das geht, sehen Sie [hier](https://mailcow.github.io/mailcow-dockerized-docs/de/post_installation/firststeps-ssl/#ein-eigenes-zertifikat-verwenden). @@ -264,4 +264,4 @@ Wenn Sie vorhaben, einen Servernamen zu verwenden, der nicht `MAILCOW_HOSTNAME` ADDITIONAL_SERVER_NAMES=webmail.domain.tld,other.example.tld ``` -Führen Sie `docker compose up -d` zum Anwenden aus. \ No newline at end of file +Führen Sie `docker-compose up -d` zum Anwenden aus. \ No newline at end of file diff --git a/docs/post_installation/firststeps-rp.en.md b/docs/post_installation/firststeps-rp.en.md index b6c00a229..0b4697beb 100644 --- a/docs/post_installation/firststeps-rp.en.md +++ b/docs/post_installation/firststeps-rp.en.md @@ -13,7 +13,7 @@ This will also change the bindings inside the Nginx container! This is important **IMPORTANT:** Do not use port 8081, 9081 or 65510! -Recreate affected containers by running `docker compose up -d`. +Recreate affected containers by running `docker-compose up -d`. **Important information, please read them carefully!** @@ -182,9 +182,9 @@ For this section we'll assume you have your Traefik 2 `[certificatesresolvers]` So, first of all, we are going to disable the acme-mailcow container since we'll use the certs that traefik will provide us. -For this we'll have to set `SKIP_LETS_ENCRYPT=y` on our `mailcow.conf`, and run `docker compose up -d` to apply the changes. +For this we'll have to set `SKIP_LETS_ENCRYPT=y` on our `mailcow.conf`, and run `docker-compose up -d` to apply the changes. -Then we'll create a `docker compose.override.yml` file in order to override the main `docker compose.yml` found in your mailcow root folder. +Then we'll create a `docker-compose.override.yml` file in order to override the main `docker-compose.yml` found in your mailcow root folder. ```yaml version: '2.1' @@ -218,7 +218,7 @@ services: network_mode: none volumes: # mount the folder which contains Traefik's `acme.json' file - # in this case Traefik is started from its own docker compose in ../traefik + # in this case Traefik is started from its own docker-compose in ../traefik - ../traefik/data:/traefik:ro # mount mailcow's SSL folder - ./data/assets/ssl/:/output:rw @@ -232,14 +232,14 @@ networks: external: true ``` -Start the new containers with `docker compose up -d`. +Start the new containers with `docker-compose up -d`. Now, there's only one thing left to do, which is setup the certs so that the mail services can use them as well, since Traefik 2 uses an acme v2 format to save ALL the license from all the domains we have, we'll need to find a way to dump the certs, lucky we have [this tiny container](https://hub.docker.com/r/humenius/traefik-certs-dumper) which grabs the `acme.json` file trough a volume, and a variable `DOMAIN=example.org`, and with these, the container will output the `cert.pem` and `key.pem` files, for this we'll simply run the `traefik-certs-dumper` container binding the `/traefik` volume to the folder where our `acme.json` is saved, bind the `/output` volume to our mailcow `data/assets/ssl/` folder, and set up the `DOMAIN=example.org` variable to the domain we want the certs dumped from. This container will watch over the `acme.json` file for any changes, and regenerate the `cert.pem` and `key.pem` files directly into `data/assets/ssl/` being the path binded to the container's `/output` path. -You can use the command line to run it, or use the docker compose shown [here](https://hub.docker.com/r/humenius/traefik-certs-dumper). +You can use the command line to run it, or use the docker-compose shown [here](https://hub.docker.com/r/humenius/traefik-certs-dumper). After we have the certs dumped, we'll have to reload the configs from our postfix and dovecot containers, and check the certs, you can see how [here](https://mailcow.github.io/mailcow-dockerized-docs/firststeps-ssl/#how-to-use-your-own-certificate). @@ -268,4 +268,4 @@ If you plan to use a server name that is not `MAILCOW_HOSTNAME` in your reverse ADDITIONAL_SERVER_NAMES=webmail.domain.tld,other.example.tld ``` -Run `docker compose up -d` to apply. \ No newline at end of file +Run `docker-compose up -d` to apply. \ No newline at end of file diff --git a/docs/post_installation/firststeps-snat.de.md b/docs/post_installation/firststeps-snat.de.md index a5bc49636..dfa9a2707 100644 --- a/docs/post_installation/firststeps-snat.de.md +++ b/docs/post_installation/firststeps-snat.de.md @@ -11,8 +11,8 @@ SNAT_TO_SOURCE=1.2.3.4 SNAT6_TO_SOURCE=dead:beef ``` -Führen Sie `docker compose up -d` aus. +Führen Sie `docker-compose up -d` aus. Die Werte werden von netfilter-mailcow gelesen. netfilter-mailcow stellt sicher, dass die Post-Routing-Regeln auf Position 1 in der Netfilter-Tabelle stehen. Es löscht sie automatisch und legt sie neu an, wenn sie an einer anderen Position als 1 gefunden werden. -Überprüfen Sie die Ausgabe von `docker compose logs --tail=200 netfilter-mailcow`, um sicherzustellen, dass die SNAT-Einstellungen angewendet wurden. \ No newline at end of file +Überprüfen Sie die Ausgabe von `docker-compose logs --tail=200 netfilter-mailcow`, um sicherzustellen, dass die SNAT-Einstellungen angewendet wurden. \ No newline at end of file diff --git a/docs/post_installation/firststeps-snat.en.md b/docs/post_installation/firststeps-snat.en.md index 5bf0f8c20..4a5742d14 100644 --- a/docs/post_installation/firststeps-snat.en.md +++ b/docs/post_installation/firststeps-snat.en.md @@ -11,8 +11,8 @@ SNAT_TO_SOURCE=1.2.3.4 SNAT6_TO_SOURCE=dead:beef ``` -Run `docker compose up -d`. +Run `docker-compose up -d`. The values are read by netfilter-mailcow. netfilter-mailcow will make sure, the post-routing rules are on position 1 in the netfilter table. It does automatically delete and re-create them if they are found on another position than 1. -Check the output of `docker compose logs --tail=200 netfilter-mailcow` to ensure the SNAT settings have been applied. \ No newline at end of file +Check the output of `docker-compose logs --tail=200 netfilter-mailcow` to ensure the SNAT settings have been applied. \ No newline at end of file diff --git a/docs/post_installation/firststeps-ssl.de.md b/docs/post_installation/firststeps-ssl.de.md index 7ce72508e..e2831273a 100644 --- a/docs/post_installation/firststeps-ssl.de.md +++ b/docs/post_installation/firststeps-ssl.de.md @@ -13,7 +13,7 @@ Nur Namen, die validiert werden können, werden als SAN hinzugefügt. Für jede Domain, die Sie entfernen, wird das Zertifikat verschoben und ein neues Zertifikat angefordert. Es ist nicht möglich, Domains in einem Zertifikat zu behalten, wenn wir nicht in der Lage sind, die Challenge für diese zu validieren. -Wenn Sie den ACME-Client neu starten wollen, verwenden Sie `docker compose restart acme-mailcow` und überwachen Sie die Protokolle mit `docker compose logs --tail=200 -f acme-mailcow`. +Wenn Sie den ACME-Client neu starten wollen, verwenden Sie `docker-compose restart acme-mailcow` und überwachen Sie die Protokolle mit `docker-compose logs --tail=200 -f acme-mailcow`. ### Zusätzliche Domain-Namen @@ -29,7 +29,7 @@ Jeder Name wird anhand seiner IPv6-Adresse oder - wenn IPv6 in Ihrer Domäne nic Ein Wildcard-Name wie `smtp.*` wird versuchen, ein smtp.DOMAIN_NAME SAN für jede zu mailcow hinzugefügte Domain zu erhalten. -Führen Sie `docker compose up -d` aus, um betroffene Container automatisch neu zu erstellen. +Führen Sie `docker-compose up -d` aus, um betroffene Container automatisch neu zu erstellen. !!! info Die Verwendung anderer Namen als `MAILCOW_HOSTNAME` für den Zugriff auf das mailcow UI kann weitere Konfiguration erfordern. @@ -40,7 +40,7 @@ Wenn Sie planen, einen anderen Servernamen als `MAILCOW_HOSTNAME` für den Zugri ADDITIONAL_SERVER_NAMES=webmail.domain.tld,other.example.tld ``` -Führen Sie `docker compose up -d` aus, um es anzuwenden. +Führen Sie `docker-compose up -d` aus, um es anzuwenden. ### Erneuerung erzwingen @@ -49,9 +49,9 @@ Um eine Erneuerung zu erzwingen, müssen Sie eine Datei namens `force_renew` ers ``` cd /opt/mailcow-dockerized touch data/assets/ssl/force_renew -docker compose restart acme-mailcow +docker-compose restart acme-mailcow # Prüfen Sie nun die Logs auf eine Erneuerung -docker compose logs --tail=200 -f acme-mailcow +docker-compose logs --tail=200 -f acme-mailcow ``` Die Datei wird automatisch gelöscht. @@ -60,20 +60,20 @@ Die Datei wird automatisch gelöscht. Sie können die **IP-Überprüfung** überspringen, indem Sie `SKIP_IP_CHECK=y` in mailcow.conf setzen (keine Anführungszeichen). Seien Sie gewarnt, dass eine Fehlkonfiguration dazu führt, dass Sie von Let's Encrypt eingeschränkt werden! Dies ist vor allem für Multi-IP-Setups nützlich, bei denen der IP-Check die falsche Quell-IP-Adresse zurückgeben würde. Aufgrund der Verwendung von dynamischen IPs für acme-mailcow ist Source-NAT bei Neustarts nicht konsistent. -Wenn Sie Probleme mit der "HTTP-Validierung" haben, aber Ihre IP-Adressbestätigung erfolgreich ist, verwenden Sie höchstwahrscheinlich firewalld, ufw oder eine andere Firewall, die Verbindungen von `br-mailcow` zu Ihrem externen Interface verbietet. Sowohl firewalld als auch ufw lassen dies standardmäßig nicht zu. Es reicht oft nicht aus, diese Firewall-Dienste einfach zu stoppen. Sie müssen mailcow stoppen (`docker compose down`), den Firewall-Dienst stoppen, die Ketten flushen und Docker neu starten. +Wenn Sie Probleme mit der "HTTP-Validierung" haben, aber Ihre IP-Adressbestätigung erfolgreich ist, verwenden Sie höchstwahrscheinlich firewalld, ufw oder eine andere Firewall, die Verbindungen von `br-mailcow` zu Ihrem externen Interface verbietet. Sowohl firewalld als auch ufw lassen dies standardmäßig nicht zu. Es reicht oft nicht aus, diese Firewall-Dienste einfach zu stoppen. Sie müssen mailcow stoppen (`docker-compose down`), den Firewall-Dienst stoppen, die Ketten flushen und Docker neu starten. Sie können diese Validierungsmethode auch überspringen, indem Sie `SKIP_HTTP_VERIFICATION=y` in "mailcow.conf" setzen. Seien Sie gewarnt, dass dies nicht zu empfehlen ist. In den meisten Fällen wird die HTTP-Überprüfung übersprungen, um unbekannte NAT-Reflection-Probleme zu umgehen, die durch das Ignorieren dieser spezifischen Netzwerk-Fehlkonfiguration nicht gelöst werden. Wenn Sie Probleme haben, TLSA-Einträge in der DNS-Übersicht innerhalb von mailcow zu generieren, haben Sie höchstwahrscheinlich Probleme mit NAT-Reflexion, die Sie beheben sollten. -Wenn du einen SKIP_* Parameter geändert hast, führe `docker compose up -d` aus, um deine Änderungen zu übernehmen. +Wenn du einen SKIP_* Parameter geändert hast, führe `docker-compose up -d` aus, um deine Änderungen zu übernehmen. ### Deaktivieren Sie Let's Encrypt #### Deaktivieren Sie Let's Encrypt vollständig -Setzen Sie `SKIP_LETS_ENCRYPT=y` in "mailcow.conf" und erstellen Sie "acme-mailcow" neu, indem Sie `docker compose up -d` ausführen. +Setzen Sie `SKIP_LETS_ENCRYPT=y` in "mailcow.conf" und erstellen Sie "acme-mailcow" neu, indem Sie `docker-compose up -d` ausführen. #### Alle Namen außer ${MAILCOW_HOSTNAME} überspringen -Fügen Sie `ONLY_MAILCOW_HOSTNAME=y` zu "mailcow.conf" hinzu und erstellen Sie "acme-mailcow" neu, indem Sie `docker compose up -d` ausführen. +Fügen Sie `ONLY_MAILCOW_HOSTNAME=y` zu "mailcow.conf" hinzu und erstellen Sie "acme-mailcow" neu, indem Sie `docker-compose up -d` ausführen. ### Das Let's Encrypt subjectAltName-Limit von 100 Domains @@ -91,7 +91,7 @@ Um dies zu lösen, können Sie `ENABLE_SSL_SNI` so konfigurieren, dass es generi Postfix, Dovecot und Nginx werden dann diese Zertifikate mit SNI bedienen. -Setzen Sie `ENABLE_SSL_SNI=y` in "mailcow.conf" und erstellen Sie "acme-mailcow" durch Ausführen von `docker compose up -d`. +Setzen Sie `ENABLE_SSL_SNI=y` in "mailcow.conf" und erstellen Sie "acme-mailcow" durch Ausführen von `docker-compose up -d`. !!! warning Nicht alle Clients unterstützen SNI, [siehe Dovecot Dokumentation](https://wiki.dovecot.org/SSL/SNIClientSupport) oder [Wikipedia](https://en.wikipedia.org/wiki/Server_Name_Indication#Support). @@ -131,7 +131,7 @@ Siehe [Post-Hook-Skript für Nicht-Mailcow-ACME-Clients](../firststeps-rp#option Bearbeiten Sie `mailcow.conf` und fügen Sie `LE_STAGING=y` hinzu. -Führen Sie `docker compose up -d` aus, um Ihre Änderungen zu aktivieren. +Führen Sie `docker-compose up -d` aus, um Ihre Änderungen zu aktivieren. ### Benutzerdefinierte Verzeichnis-URL @@ -143,11 +143,11 @@ DIRECTORY_URL=https://acme-custom-v9000.api.letsencrypt.org/directory Sie können `LE_STAGING` nicht mit `DIRECTORY_URL` verwenden. Wenn beide gesetzt sind, wird nur `LE_STAGING` verwendet. -Führen Sie `docker compose up -d` aus, um Ihre Änderungen zu aktivieren. +Führen Sie `docker-compose up -d` aus, um Ihre Änderungen zu aktivieren. ### Überprüfen Sie Ihre Konfiguration -Führen Sie `docker compose logs acme-mailcow` aus, um herauszufinden, warum eine Validierung fehlschlägt. +Führen Sie `docker-compose logs acme-mailcow` aus, um herauszufinden, warum eine Validierung fehlschlägt. Um zu überprüfen, ob nginx das richtige Zertifikat verwendet, benutzen Sie einfach einen Browser Ihrer Wahl und überprüfen Sie das angezeigte Zertifikat. diff --git a/docs/post_installation/firststeps-ssl.en.md b/docs/post_installation/firststeps-ssl.en.md index d834d5827..2cf09a882 100644 --- a/docs/post_installation/firststeps-ssl.en.md +++ b/docs/post_installation/firststeps-ssl.en.md @@ -13,7 +13,7 @@ Only names that can be validated, will be added as SAN. For every domain you remove, the certificate will be moved and a new certificate will be requested. It is not possible to keep domains in a certificate, when we are not able validate the challenge for those. -If you want to re-run the ACME client, use `docker compose restart acme-mailcow` and monitor its logs with `docker compose logs --tail=200 -f acme-mailcow`. +If you want to re-run the ACME client, use `docker-compose restart acme-mailcow` and monitor its logs with `docker-compose logs --tail=200 -f acme-mailcow`. ### Additional domain names @@ -29,7 +29,7 @@ Each name will be validated against its IPv6 address or - if IPv6 is not configu A wildcard name like `smtp.*` will try to obtain a smtp.DOMAIN_NAME SAN for each domain added to mailcow. -Run `docker compose up -d` to recreate affected containers automatically. +Run `docker-compose up -d` to recreate affected containers automatically. !!! info Using names other name `MAILCOW_HOSTNAME` to access the mailcow UI may need further configuration. @@ -40,7 +40,7 @@ If you plan to use a server name that is not `MAILCOW_HOSTNAME` to access the ma ADDITIONAL_SERVER_NAMES=webmail.domain.tld,other.example.tld ``` -Run `docker compose up -d` to apply. +Run `docker-compose up -d` to apply. ### Force renewal @@ -49,9 +49,9 @@ To force a renewal, you need to create a file named `force_renew` and restart th ``` cd /opt/mailcow-dockerized touch data/assets/ssl/force_renew -docker compose restart acme-mailcow +docker-compose restart acme-mailcow # Now check the logs for a renewal -docker compose logs --tail=200 -f acme-mailcow +docker-compose logs --tail=200 -f acme-mailcow ``` The file will be deleted automatically. @@ -60,20 +60,20 @@ The file will be deleted automatically. You can skip the **IP verification** by setting `SKIP_IP_CHECK=y` in mailcow.conf (no quotes). Be warned that a misconfiguration will get you ratelimited by Let's Encrypt! This is primarily useful for multi-IP setups where the IP check would return the incorrect source IP address. Due to using dynamic IPs for acme-mailcow, source NAT is not consistent over restarts. -If you encounter problems with "HTTP validation", but your IP address confirmation succeeds, you are most likely using firewalld, ufw or any other firewall, that disallows connections from `br-mailcow` to your external interface. Both firewalld and ufw disallow this by default. It is often not enough to just stop these firewall services. You'd need to stop mailcow (`docker compose down`), stop the firewall service, flush the chains and restart Docker. +If you encounter problems with "HTTP validation", but your IP address confirmation succeeds, you are most likely using firewalld, ufw or any other firewall, that disallows connections from `br-mailcow` to your external interface. Both firewalld and ufw disallow this by default. It is often not enough to just stop these firewall services. You'd need to stop mailcow (`docker-compose down`), stop the firewall service, flush the chains and restart Docker. You can also skip this validation method by setting `SKIP_HTTP_VERIFICATION=y` in "mailcow.conf". Be warned that this is discouraged. In most cases, the HTTP verification is skipped to workaround unknown NAT reflection issues, which are not resolved by ignoring this specific network misconfiguration. If you encounter problems generating TLSA records in the DNS overview within mailcow, you are most likely having issues with NAT reflection you should fix. -If you changed a SKIP_* parameter, run `docker compose up -d` to apply your changes. +If you changed a SKIP_* parameter, run `docker-compose up -d` to apply your changes. ### Disable Let's Encrypt #### Disable Let's Encrypt completely -Set `SKIP_LETS_ENCRYPT=y` in "mailcow.conf" and recreate "acme-mailcow" by running `docker compose up -d`. +Set `SKIP_LETS_ENCRYPT=y` in "mailcow.conf" and recreate "acme-mailcow" by running `docker-compose up -d`. #### Skip all names but ${MAILCOW_HOSTNAME} -Add `ONLY_MAILCOW_HOSTNAME=y` to "mailcow.conf" and recreate "acme-mailcow" by running `docker compose up -d`. +Add `ONLY_MAILCOW_HOSTNAME=y` to "mailcow.conf" and recreate "acme-mailcow" by running `docker-compose up -d`. ### The Let's Encrypt subjectAltName limit of 100 domains @@ -91,7 +91,7 @@ To solve this, you can configure `ENABLE_SSL_SNI` to generate: Postfix, Dovecot and Nginx will then serve these certificates with SNI. -Set `ENABLE_SSL_SNI=y` in "mailcow.conf" and recreate "acme-mailcow" by running `docker compose up -d`. +Set `ENABLE_SSL_SNI=y` in "mailcow.conf" and recreate "acme-mailcow" by running `docker-compose up -d`. !!! warning Not all clients support SNI, [see Dovecot documentation](https://wiki.dovecot.org/SSL/SNIClientSupport) or [Wikipedia](https://en.wikipedia.org/wiki/Server_Name_Indication#Support). @@ -131,7 +131,7 @@ See [Post-hook script for non-mailcow ACME clients](../firststeps-rp/#optional-p Edit `mailcow.conf` and add `LE_STAGING=y`. -Run `docker compose up -d` to activate your changes. +Run `docker-compose up -d` to activate your changes. ### Custom directory URL @@ -143,11 +143,11 @@ DIRECTORY_URL=https://acme-custom-v9000.api.letsencrypt.org/directory You cannot use `LE_STAGING` with `DIRECTORY_URL`. If both are set, only `LE_STAGING` is used. -Run `docker compose up -d` to activate your changes. +Run `docker-compose up -d` to activate your changes. ### Check your configuration -Run `docker compose logs acme-mailcow` to find out why a validation fails. +Run `docker-compose logs acme-mailcow` to find out why a validation fails. To check if nginx serves the correct certificate, simply use a browser of your choice and check the displayed certificate. diff --git a/docs/prerequisite/prerequisite-system.de.md b/docs/prerequisite/prerequisite-system.de.md index 7035e8ba3..5c690da64 100644 --- a/docs/prerequisite/prerequisite-system.de.md +++ b/docs/prerequisite/prerequisite-system.de.md @@ -188,4 +188,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 **4.1** in [unseren Installationsanleitungen](../i_u_m/i_u_m_install.de.md). +Besonders relevant für OpenStack-Benutzer: Überprüfen Sie Ihre MTU und setzen Sie sie entsprechend in docker-compose.yml. Siehe **4.1** in [unseren Installationsanleitungen](../i_u_m/i_u_m_install.de.md). diff --git a/docs/prerequisite/prerequisite-system.en.md b/docs/prerequisite/prerequisite-system.en.md index 7f8d259f8..0f0b8958d 100644 --- a/docs/prerequisite/prerequisite-system.en.md +++ b/docs/prerequisite/prerequisite-system.en.md @@ -185,4 +185,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 **4.1** in [our installation docs](../i_u_m/i_u_m_install.en.md). +Especially relevant for OpenStack users: Check your MTU and set it accordingly in docker-compose.yml. See **4.1** in [our installation docs](../i_u_m/i_u_m_install.en.md). diff --git a/docs/third_party/third_party-borgmatic.de.md b/docs/third_party/third_party-borgmatic.de.md index a9e46a3ae..1be3aaf3b 100644 --- a/docs/third_party/third_party-borgmatic.de.md +++ b/docs/third_party/third_party-borgmatic.de.md @@ -16,9 +16,9 @@ Diese Anleitung behandelt nur die Grundlagen. ## Einrichten von borgmatic -### Erstellen oder ändern Sie `docker compose.override.yml` +### Erstellen oder ändern Sie `docker-compose.override.yml` -Im mailcow-dockerized Stammverzeichnis erstellen oder bearbeiten Sie `docker compose.override.yml` und fügen Sie die folgende +Im mailcow-dockerized Stammverzeichnis erstellen oder bearbeiten Sie `docker-compose.override.yml` und fügen Sie die folgende Konfiguration ein: ```yaml version: '2.1' @@ -128,7 +128,7 @@ oder OpenSSH wird sich weigern, den SSH-Schlüssel zu benutzen. Für den nächsten Schritt müssen wir den Container in einem konfigurierten Zustand hochfahren und laufen lassen. Um das zu tun, führen Sie aus: ```shell -docker compose up -d +docker-compose up -d ``` ## Wiederherstellung von einem Backup @@ -148,12 +148,12 @@ keine benutzerdefinierten Daten in ihrem maildir oder ihrer mailcow Datenbank. ausschließlich. SELinux wird (berechtigterweise) jeden anderen Container, wie z.B. den borgmatic Container, daran hindern, auf dieses Volume zu schreiben. -Bevor Sie eine Wiederherstellung durchführen, müssen Sie das vmail-Volume in `docker compose.override.yml` beschreibbar machen, indem Sie das +Bevor Sie eine Wiederherstellung durchführen, müssen Sie das vmail-Volume in `docker-compose.override.yml` beschreibbar machen, indem Sie das das `ro`-Flag aus dem Volume entfernen. Dann können Sie den folgenden Befehl verwenden, um das Maildir aus einem Backup wiederherzustellen: ```shell -docker compose exec borgmatic-mailcow borgmatic extract --path mnt/source --archive latest +docker-compose exec borgmatic-mailcow borgmatic extract --path mnt/source --archive latest ``` Alternativ können Sie auch einen beliebigen Archivnamen aus der Liste der Archive angeben (siehe @@ -167,7 +167,7 @@ Alternativ können Sie auch einen beliebigen Archivnamen aus der Liste der Archi Um die MySQL-Datenbank aus dem letzten Archiv wiederherzustellen, verwenden Sie diesen Befehl: ```shell -docker compose exec borgmatic-mailcow borgmatic restore --archive latest +docker-compose exec borgmatic-mailcow borgmatic restore --archive latest ``` Alternativ können Sie auch einen beliebigen Archivnamen aus der Liste der Archive angeben (siehe @@ -181,7 +181,7 @@ ihn wieder zu aktivieren. Um mailcow neu zu starten, verwenden Sie den folgenden Befehl: ```shell -docker compose down && docker compose up -d +docker-compose down && docker-compose up -d ``` Wenn Sie SELinux verwenden, werden dadurch auch alle Dateien in Ihrem vmail-Volume neu benannt. Seien Sie geduldig, denn dies kann @@ -192,13 +192,13 @@ eine Weile dauern kann, wenn Sie viele Dateien haben. ### Manueller Archivierungslauf (mit Debugging-Ausgabe) ```shell -docker compose exec borgmatic-mailcow borgmatic -v 2 +docker-compose exec borgmatic-mailcow borgmatic -v 2 ``` ### Auflistung aller verfügbaren Archive ```shell -docker compose exec borgmatic-mailcow borgmatic list +docker-compose exec borgmatic-mailcow borgmatic list ``` ### Sperre aufheben @@ -207,7 +207,7 @@ Wenn borg während eines Archivierungslaufs unterbrochen wird, hinterlässt es e neue Operationen durchgeführt werden können: ```shell -docker compose exec borgmatic-mailcow borg break-lock user@rsync.net:mailcow +docker-compose exec borgmatic-mailcow borg break-lock user@rsync.net:mailcow ``` Wobei `user@rsync.net:mailcow` die URI zu Ihrem Repository ist. @@ -225,7 +225,7 @@ Beachten Sie, dass Sie in beiden Fällen auch die Passphrase haben müssen, um d Um die `keyfile` zu holen, führen Sie aus: ```shell -docker compose exec borgmatic-mailcow borg key export --paper user@rsync.net:mailcow +docker-compose exec borgmatic-mailcow borg key export --paper user@rsync.net:mailcow ``` Wobei `user@rsync.net:mailcow` die URI zu Ihrem Repository ist. \ No newline at end of file diff --git a/docs/third_party/third_party-borgmatic.en.md b/docs/third_party/third_party-borgmatic.en.md index c526166b0..80bd0d677 100644 --- a/docs/third_party/third_party-borgmatic.en.md +++ b/docs/third_party/third_party-borgmatic.en.md @@ -16,9 +16,9 @@ This guide only covers the basics. ## Setting up borgmatic -### Create or amend `docker compose.override.yml` +### Create or amend `docker-compose.override.yml` -In the mailcow-dockerized root folder create or edit `docker compose.override.yml` and insert the following +In the mailcow-dockerized root folder create or edit `docker-compose.override.yml` and insert the following configuration: ```yaml @@ -129,7 +129,7 @@ or OpenSSH will refuse to use the SSH key. For the next step we need the container to be up and running in a configured state. To do that run: ```shell -docker compose up -d +docker-compose up -d ``` ### Initialize the repository @@ -140,7 +140,7 @@ initialized. To initialize the repository run: ```shell -docker compose exec borgmatic-mailcow borgmatic init --encryption repokey-blake2 +docker-compose exec borgmatic-mailcow borgmatic init --encryption repokey-blake2 ``` You will be asked you to authenticate the SSH host key of your remote repository server. See if it matches and confirm @@ -158,7 +158,7 @@ Now that we finished configuring and initializing the repository restart the con state: ```shell -docker compose restart borgmatic-mailcow +docker-compose restart borgmatic-mailcow ``` ## Restoring from a backup @@ -178,12 +178,12 @@ any custom data in your maildir or your mailcow database. exclusively. SELinux will (rightfully) prevent any other container, such as the borgmatic container, from writing to this volume. -Before running a restore you must make the vmail volume writeable in `docker compose.override.yml` by removing +Before running a restore you must make the vmail volume writeable in `docker-compose.override.yml` by removing the `ro` flag from the volume. Then you can use the following command to restore the maildir from a backup: ```shell -docker compose exec borgmatic-mailcow borgmatic extract --path mnt/source --archive latest +docker-compose exec borgmatic-mailcow borgmatic extract --path mnt/source --archive latest ``` Alternatively you can specify any archive name from the list of archives (see @@ -198,7 +198,7 @@ Alternatively you can specify any archive name from the list of archives (see To restore the MySQL database from the latest archive use this command: ```shell -docker compose exec borgmatic-mailcow borgmatic restore --archive latest +docker-compose exec borgmatic-mailcow borgmatic restore --archive latest ``` Alternatively you can specify any archive name from the list of archives (see @@ -212,7 +212,7 @@ re-enable it. To restart mailcow use the follwing command: ```shell -docker compose down && docker compose up -d +docker-compose down && docker-compose up -d ``` If you use SELinux this will also trigger the re-labeling of all files in your vmail volume. Be patient, as this may @@ -223,13 +223,13 @@ take a while if you have lots of files. ### Manual archiving run (with debugging output) ```shell -docker compose exec borgmatic-mailcow borgmatic -v 2 +docker-compose exec borgmatic-mailcow borgmatic -v 2 ``` ### Listing all available archives ```shell -docker compose exec borgmatic-mailcow borgmatic list +docker-compose exec borgmatic-mailcow borgmatic list ``` ### Break lock @@ -238,7 +238,7 @@ When borg is interrupted during an archiving run it will leave behind a stale lo new operations can be performed: ```shell -docker compose exec borgmatic-mailcow borg break-lock user@rsync.net:mailcow +docker-compose exec borgmatic-mailcow borg break-lock user@rsync.net:mailcow ``` Where `user@rsync.net:mailcow` is the URI to your repository. @@ -256,7 +256,7 @@ Note that in either case you also must have the passphrase to decrypt any archiv To fetch the keyfile run: ```shell -docker compose exec borgmatic-mailcow borg key export --paper user@rsync.net:mailcow +docker-compose exec borgmatic-mailcow borg key export --paper user@rsync.net:mailcow ``` Where `user@rsync.net:mailcow` is the URI to your repository. \ No newline at end of file diff --git a/docs/third_party/third_party-gitea.de.md b/docs/third_party/third_party-gitea.de.md index 4b023397c..5e0748304 100644 --- a/docs/third_party/third_party-gitea.de.md +++ b/docs/third_party/third_party-gitea.de.md @@ -1,6 +1,6 @@ Mit der Fähigkeit von Gitea, sich über SMTP zu authentifizieren, ist es trivial, es mit mailcow zu integrieren. Es sind nur wenige Änderungen erforderlich: -1\. Öffnen Sie `docker compose.override.yml` und fügen Sie Gitea hinzu: +1\. Öffnen Sie `docker-compose.override.yml` und fügen Sie Gitea hinzu: ``` version: '2.1' @@ -31,9 +31,9 @@ location /gitea/ { GITEA_SSH_PORT=127.0.0.1:4000 ``` -5\. Führen Sie `docker compose up -d` aus, um den Gitea-Container hochzufahren und führen Sie anschließend `docker compose restart nginx-mailcow` aus. +5\. Führen Sie `docker-compose up -d` aus, um den Gitea-Container hochzufahren und führen Sie anschließend `docker-compose restart nginx-mailcow` aus. -6\. Wenn Sie mailcow zu https gezwungen haben, führen Sie Schritt 9 aus und starten Sie gitea mit `docker compose restart gitea-mailcow` neu. Fahren Sie mit Schritt 7 fort (Denken Sie daran, https anstelle von http zu verwenden, `https://mx.example.org/gitea/` +6\. Wenn Sie mailcow zu https gezwungen haben, führen Sie Schritt 9 aus und starten Sie gitea mit `docker-compose restart gitea-mailcow` neu. Fahren Sie mit Schritt 7 fort (Denken Sie daran, https anstelle von http zu verwenden, `https://mx.example.org/gitea/` 7\. Öffnen Sie `http://${MAILCOW_HOSTNAME}/gitea/`, zum Beispiel `http://mx.example.org/gitea/`. Für die Datenbankdetails stellen Sie `mysql` als Datenbankhost ein. Verwenden Sie den in mailcow.conf gefundenen Wert von DBNAME als Datenbankname, DBUSER als Datenbankbenutzer und DBPASS als Datenbankpasswort. @@ -51,5 +51,5 @@ SSH_PORT = 4000 ROOT_URL = https://mx.example.org/gitea/ ``` -10\. Starten Sie gitea neu mit `docker compose restart gitea-mailcow`. Ihre Nutzer sollten in der Lage sein, sich mit von mailcow verwalteten Konten anzumelden. +10\. Starten Sie gitea neu mit `docker-compose restart gitea-mailcow`. Ihre Nutzer sollten in der Lage sein, sich mit von mailcow verwalteten Konten anzumelden. diff --git a/docs/third_party/third_party-gitea.en.md b/docs/third_party/third_party-gitea.en.md index f358c7d53..62cc81878 100644 --- a/docs/third_party/third_party-gitea.en.md +++ b/docs/third_party/third_party-gitea.en.md @@ -1,6 +1,6 @@ With Gitea' ability to authenticate over SMTP it is trivial to integrate it with mailcow. Few changes are needed: -1\. Open `docker compose.override.yml` and add gitea: +1\. Open `docker-compose.override.yml` and add gitea: ``` version: '2.1' @@ -31,9 +31,9 @@ location /gitea/ { GITEA_SSH_PORT=127.0.0.1:4000 ``` -5\. Run `docker compose up -d` to bring up the gitea container and run `docker compose restart nginx-mailcow` afterwards. +5\. Run `docker-compose up -d` to bring up the gitea container and run `docker-compose restart nginx-mailcow` afterwards. -6\. If you forced mailcow to https, execute step 9 and restart gitea with `docker compose restart gitea-mailcow` . Go head with step 7 (Remember to use https instead of http, `https://mx.example.org/gitea/` +6\. If you forced mailcow to https, execute step 9 and restart gitea with `docker-compose restart gitea-mailcow` . Go head with step 7 (Remember to use https instead of http, `https://mx.example.org/gitea/` 7\. Open `http://${MAILCOW_HOSTNAME}/gitea/`, for example `http://mx.example.org/gitea/`. For database details set `mysql` as database host. Use the value of DBNAME found in mailcow.conf as database name, DBUSER as database user and DBPASS as database password. @@ -51,4 +51,4 @@ SSH_PORT = 4000 ROOT_URL = https://mx.example.org/gitea/ ``` -10\. Restart gitea with `docker compose restart gitea-mailcow`. Your users should be able to login with mailcow managed accounts. \ No newline at end of file +10\. Restart gitea with `docker-compose restart gitea-mailcow`. Your users should be able to login with mailcow managed accounts. \ No newline at end of file diff --git a/docs/third_party/third_party-gogs.de.md b/docs/third_party/third_party-gogs.de.md index b3b9f6fd1..bc7676f03 100644 --- a/docs/third_party/third_party-gogs.de.md +++ b/docs/third_party/third_party-gogs.de.md @@ -1,6 +1,6 @@ Mit Gogs' Fähigkeit, sich über SMTP zu authentifizieren, ist es einfach, es mit mailcow zu verbinden. Es sind nur wenige Änderungen erforderlich: -1\. Öffne `docker compose.override.yml` und füge Gogs hinzu: +1\. Öffne `docker-compose.override.yml` und füge Gogs hinzu: ``` version: '2.1' @@ -31,7 +31,7 @@ location /gogs/ { GOGS_SSH_PORT=127.0.0.1:4000 ``` -5\. Führen Sie `docker compose up -d` aus, um den Gogs-Container hochzufahren und führen Sie anschließend `docker compose restart nginx-mailcow` aus. +5\. Führen Sie `docker-compose up -d` aus, um den Gogs-Container hochzufahren und führen Sie anschließend `docker-compose restart nginx-mailcow` aus. 6\. Öffnen Sie `http://${MAILCOW_HOSTNAME}/gogs/`, zum Beispiel `http://mx.example.org/gogs/`. Für Datenbank-Details setzen Sie `mysql` als Datenbank-Host. Verwenden Sie den in mailcow.conf gefundenen Wert von DBNAME als Datenbankname, DBUSER als Datenbankbenutzer und DBPASS als Datenbankpasswort. @@ -49,5 +49,5 @@ SSH_PORT = 4000 ROOT_URL = https://mx.example.org/gogs/ ``` -9\. Starten Sie Gogs neu mit `docker compose restart gogs-mailcow`. Ihre Benutzer sollten in der Lage sein, sich mit von mailcow verwalteten Konten einzuloggen. +9\. Starten Sie Gogs neu mit `docker-compose restart gogs-mailcow`. Ihre Benutzer sollten in der Lage sein, sich mit von mailcow verwalteten Konten einzuloggen. diff --git a/docs/third_party/third_party-gogs.en.md b/docs/third_party/third_party-gogs.en.md index 51670f368..2f817f2f8 100644 --- a/docs/third_party/third_party-gogs.en.md +++ b/docs/third_party/third_party-gogs.en.md @@ -1,6 +1,6 @@ With Gogs' ability to authenticate over SMTP it is trivial to integrate it with mailcow. Few changes are needed: -1\. Open `docker compose.override.yml` and add Gogs: +1\. Open `docker-compose.override.yml` and add Gogs: ``` version: '2.1' @@ -31,7 +31,7 @@ location /gogs/ { GOGS_SSH_PORT=127.0.0.1:4000 ``` -5\. Run `docker compose up -d` to bring up the Gogs container and run `docker compose restart nginx-mailcow` afterwards. +5\. Run `docker-compose up -d` to bring up the Gogs container and run `docker-compose restart nginx-mailcow` afterwards. 6\. Open `http://${MAILCOW_HOSTNAME}/gogs/`, for example `http://mx.example.org/gogs/`. For database details set `mysql` as database host. Use the value of DBNAME found in mailcow.conf as database name, DBUSER as database user and DBPASS as database password. @@ -49,4 +49,4 @@ SSH_PORT = 4000 ROOT_URL = https://mx.example.org/gogs/ ``` -9\. Restart Gogs with `docker compose restart gogs-mailcow`. Your users should be able to login with mailcow managed accounts. \ No newline at end of file +9\. Restart Gogs with `docker-compose restart gogs-mailcow`. Your users should be able to login with mailcow managed accounts. \ No newline at end of file diff --git a/docs/third_party/third_party-mailman3.de.md b/docs/third_party/third_party-mailman3.de.md index 6c4958df8..48b3860a3 100644 --- a/docs/third_party/third_party-mailman3.de.md +++ b/docs/third_party/third_party-mailman3.de.md @@ -90,7 +90,7 @@ certbot certonly -d MAILMAN_DOMAIN #### Installieren Sie mailcow -Folgen Sie der [mailcow installation](../i_u_m/i_u_m_install.md). **Schritt 5 auslassen und nicht mit `docker compose` starten!** +Folgen Sie der [mailcow installation](../i_u_m/i_u_m_install.md). **Schritt 5 auslassen und nicht mit `docker-compose` starten!** #### Mailcow konfigurieren @@ -110,7 +110,7 @@ SNAT6_TO_SOURCE=dead:beef # Ändern Sie dies in Ihre globale IPv6 #### Mailman-Integration hinzufügen -Erstelle die Datei `/opt/mailcow-dockerized/docker compose.override.yml` (z.B. mit `nano`) und füge die folgenden Zeilen hinzu: +Erstelle die Datei `/opt/mailcow-dockerized/docker-compose.override.yml` (z.B. mit `nano`) und füge die folgenden Zeilen hinzu: ``` version: '2.1' @@ -204,7 +204,7 @@ Erstellen Sie ein langes Passwort für die Datenbank, z. B. mit dem Linux-Befehl Erstellen Sie einen langen Schlüssel für *Django*, z. B. mit dem Linux-Befehl `cat /dev/urandom | tr -dc a-zA-Z0-9 | head -c30; echo`. Speichern Sie diesen Schlüssel für einen Moment als DJANGO_KEY. -Erstellen Sie die Datei `/opt/docker-mailman/docker compose.override.yaml` und ersetzen Sie `HYPERKITTY_KEY`, `DBPASS` und `DJANGO_KEY` durch die generierten Werte: +Erstellen Sie die Datei `/opt/docker-mailman/docker-compose.override.yaml` und ersetzen Sie `HYPERKITTY_KEY`, `DBPASS` und `DJANGO_KEY` durch die generierten Werte: ``` version: '2' @@ -278,11 +278,11 @@ a2ensite mailman.conf systemctl restart apache2 cd /opt/docker-mailman -docker compose pull -docker compose up -d +docker-compose pull +docker-compose up -d cd /opt/mailcow-dockerized/ -docker compose pull +docker-compose pull ./renew-ssl.sh ``` @@ -296,7 +296,7 @@ Wenn man eine neue Liste anlegt und versucht, sofort eine E-Mail zu versenden, a ``` cd /opt/mailcow-dockerized -docker compose restart postfix-mailcow +docker-compose restart postfix-mailcow ``` ## Update diff --git a/docs/third_party/third_party-mailman3.en.md b/docs/third_party/third_party-mailman3.en.md index 81a0e814c..55549f624 100644 --- a/docs/third_party/third_party-mailman3.en.md +++ b/docs/third_party/third_party-mailman3.en.md @@ -91,7 +91,7 @@ certbot certonly -d MAILMAN_DOMAIN #### Install mailcow -Follow the [mailcow installation](../i_u_m/i_u_m_install.md). **Omit step 5 and do not pull and up with `docker compose`!** +Follow the [mailcow installation](../i_u_m/i_u_m_install.md). **Omit step 5 and do not pull and up with `docker-compose`!** #### Configure mailcow @@ -111,7 +111,7 @@ SNAT6_TO_SOURCE=dead:beef # change this to your global IPv6 #### Add Mailman integration -Create the file `/opt/mailcow-dockerized/docker compose.override.yml` (e.g. with `nano`) and add the following lines: +Create the file `/opt/mailcow-dockerized/docker-compose.override.yml` (e.g. with `nano`) and add the following lines: ``` version: '2.1' @@ -204,7 +204,7 @@ Create a long password for the database, e.g. with the linux command `cat /dev/u Create a long key for *Django*, e.g. with the linux command `cat /dev/urandom | tr -dc a-zA-Z0-9 | head -c30; echo`. Save this key for a moment as DJANGO_KEY. -Create the file `/opt/docker-mailman/docker compose.override.yaml` and replace `HYPERKITTY_KEY`, `DBPASS` and `DJANGO_KEY` with the generated values: +Create the file `/opt/docker-mailman/docker-compose.override.yaml` and replace `HYPERKITTY_KEY`, `DBPASS` and `DJANGO_KEY` with the generated values: ``` version: '2' @@ -279,11 +279,11 @@ a2ensite mailman.conf systemctl restart apache2 cd /opt/docker-mailman -docker compose pull -docker compose up -d +docker-compose pull +docker-compose up -d cd /opt/mailcow-dockerized/ -docker compose pull +docker-compose pull ./renew-ssl.sh ``` @@ -297,7 +297,7 @@ When you create a new list and try to immediately send an e-mail, *postfix* resp ``` cd /opt/mailcow-dockerized -docker compose restart postfix-mailcow +docker-compose restart postfix-mailcow ``` ## Update diff --git a/docs/third_party/third_party-nextcloud.de.md b/docs/third_party/third_party-nextcloud.de.md index e4433263c..bd1482d1f 100644 --- a/docs/third_party/third_party-nextcloud.de.md +++ b/docs/third_party/third_party-nextcloud.de.md @@ -6,11 +6,11 @@ Nextcloud kann mit dem [helper script](https://github.com/mailcow/mailcow-docker Für den Fall, dass Sie das Passwort (z.B. für admin) vergessen haben und kein neues anfordern können [über den Passwort-Reset-Link auf dem Login-Bildschirm] (https://docs.nextcloud.com/server/20/admin_manual/configuration_user/reset_admin_password.html?highlight=reset), können Sie durch den Aufruf des Helper-Skripts mit `-r` als Parameter ein neues Passwort setzen. Verwenden Sie diese Option nur, wenn Ihre Nextcloud nicht so konfiguriert ist, dass Sie mailcow zur Authentifizierung verwendet, wie im nächsten Abschnitt beschrieben. -Damit mailcow ein Zertifikat für die Nextcloud Domain generieren kann, muss die Domain unter welcher die Nextcloud später erreichbar sein soll als ADDITIONAL_SAN in die mailcow.conf hinzufügt werden und `docker compose up -d` zur Übernahme ausgeführt werden. Für weitere Informationen siehe: [Erweitertes SSL](../post_installation/firststeps-ssl.md). +Damit mailcow ein Zertifikat für die Nextcloud Domain generieren kann, muss die Domain unter welcher die Nextcloud später erreichbar sein soll als ADDITIONAL_SAN in die mailcow.conf hinzufügt werden und `docker-compose up -d` zur Übernahme ausgeführt werden. Für weitere Informationen siehe: [Erweitertes SSL](../post_installation/firststeps-ssl.md). ## Hintergrund-Aufgaben -Zur Verwendung der empfohlenen Einstellung (Cron) zur Verarbeitung der Hintergrund-Aufgaben müssen in der `docker compose.override.yml` folgende Zeilen +Zur Verwendung der empfohlenen Einstellung (Cron) zur Verarbeitung der Hintergrund-Aufgaben müssen in der `docker-compose.override.yml` folgende Zeilen hinzugefügt werden: ``` @@ -23,9 +23,9 @@ services: ofelia.job-exec.nextcloud-cron.command: "su www-data -s /bin/bash -c \"/usr/local/bin/php -f /web/nextcloud/cron.php\"" ``` -Nachdem diese Zeilen hinzugefügt wurden muss `docker compose up -d` ausgeführt werden, um das Docker Image mit den entsprechenden Labels zu versehen. Danach muss - zudem der docker scheduler neu gestartet werden, um den neuen Job zu registrieren. Dazu wird `docker compose restart ofelia-mailcow` ausgeführt. Zur - Überprüfung, ob die `ofelia` Konfiguration korrekt ist geladen wurde, kann mittels `docker compose logs ofelia-mailcow` nach einer Zeile mit dem Inhalt +Nachdem diese Zeilen hinzugefügt wurden muss `docker-compose up -d` ausgeführt werden, um das Docker Image mit den entsprechenden Labels zu versehen. Danach muss + zudem der docker scheduler neu gestartet werden, um den neuen Job zu registrieren. Dazu wird `docker-compose restart ofelia-mailcow` ausgeführt. Zur + Überprüfung, ob die `ofelia` Konfiguration korrekt ist geladen wurde, kann mittels `docker-compose logs ofelia-mailcow` nach einer Zeile mit dem Inhalt `New job registered "nextcloud-cron" - ...` gesucht werden. Hierdurch wird alle 5 Minuten die Hintergrundverarbeitung gestartet. Da die Ausführung selbst keine Ausgabe liefert, kann die korrekte Funktionsweise in den @@ -86,7 +86,7 @@ Klicken Sie auf die Schaltfläche _Speichern_ ganz unten auf der Seite. Wenn Sie bisher Nextcloud mit mailcow-Authentifizierung über user\_external/IMAP verwendet haben, müssen Sie einige zusätzliche Schritte durchführen, um Ihre bestehenden Benutzerkonten mit OAuth2 zu verknüpfen. 1\. Klicken Sie auf die Schaltfläche in der oberen rechten Ecke und wählen Sie _Apps_. Scrollen Sie nach unten zur App _Externe Benutzerauthentifizierung_ und klicken Sie daneben auf _Entfernen_. -2\. Führen Sie die folgenden Abfragen in Ihrer Nextcloud-Datenbank aus (wenn Sie Nextcloud mit dem Skript von mailcow einrichten, können Sie `source mailcow.conf && docker compose exec mysql-mailcow mysql -u$DBUSER -p$DBPASS $DBNAME` ausführen): +2\. Führen Sie die folgenden Abfragen in Ihrer Nextcloud-Datenbank aus (wenn Sie Nextcloud mit dem Skript von mailcow einrichten, können Sie `source mailcow.conf && docker-compose exec mysql-mailcow mysql -u$DBUSER -p$DBPASS $DBNAME` ausführen): ``` INSERT INTO nc_users (uid, uid_lower) SELECT DISTINCT uid, LOWER(uid) FROM nc_users_external; INSERT INTO nc_sociallogin_connect (uid, identifier) SELECT DISTINCT uid, CONCAT("Mailcow-", uid) FROM nc_users_external; @@ -96,7 +96,7 @@ INSERT INTO nc_sociallogin_connect (uid, identifier) SELECT DISTINCT uid, CONCAT Wenn Sie Nextcloud bisher ohne mailcow-Authentifizierung, aber mit den gleichen Benutzernamen wie mailcow genutzt haben, können Sie Ihre bestehenden Benutzerkonten auch mit OAuth2 verknüpfen. -1\. Führen Sie die folgenden Abfragen in Ihrer Nextcloud-Datenbank aus (wenn Sie Nextcloud mit dem Skript von mailcow einrichten, können Sie `source mailcow.conf && docker compose exec mysql-mailcow mysql -u$DBUSER -p$DBPASS $DBNAME` ausführen): +1\. Führen Sie die folgenden Abfragen in Ihrer Nextcloud-Datenbank aus (wenn Sie Nextcloud mit dem Skript von mailcow einrichten, können Sie `source mailcow.conf && docker-compose exec mysql-mailcow mysql -u$DBUSER -p$DBPASS $DBNAME` ausführen): ``` INSERT INTO nc_sociallogin_connect (uid, identifier) SELECT DISTINCT uid, CONCAT("Mailcow-", uid) FROM nc_users; ``` @@ -127,4 +127,4 @@ Es kann vorkommen, dass Sie die Nextcloud-Instanz von Ihrem Netzwerk aus nicht e ``` Nachdem die Änderungen vorgenommen wurden, muss der nginx-Container neu gestartet werden. -`docker compose restart nginx-mailcow` \ No newline at end of file +`docker-compose restart nginx-mailcow` \ No newline at end of file diff --git a/docs/third_party/third_party-nextcloud.en.md b/docs/third_party/third_party-nextcloud.en.md index 0bb928b69..697637b26 100644 --- a/docs/third_party/third_party-nextcloud.en.md +++ b/docs/third_party/third_party-nextcloud.en.md @@ -6,11 +6,11 @@ Nextcloud can be set up (parameter `-i`) and removed (parameter `-p`) with the [ In case you have forgotten the password (e.g. for admin) and can't request a new one [via the password reset link on the login screen](https://docs.nextcloud.com/server/20/admin_manual/configuration_user/reset_admin_password.html?highlight=reset) calling the helper script with `-r` as parameter allows you to set a new password. Only use this option if your Nextcloud isn't configured to use mailcow for authentication as described in the next section. -In order for mailcow to generate a a certificate for the nextcloud domain you need to add "nextcloud.domain.tld" to ADDITIONAL_SAN in mailcow.conf and run `docker compose up -d` to apply. For more informaton refer to: [Advanced SSL](../post_installation/firststeps-ssl.md). +In order for mailcow to generate a a certificate for the nextcloud domain you need to add "nextcloud.domain.tld" to ADDITIONAL_SAN in mailcow.conf and run `docker-compose up -d` to apply. For more informaton refer to: [Advanced SSL](../post_installation/firststeps-ssl.md). ## Background jobs -To use the recommended setting (cron) to execute the background jobs following lines need to be added to the `docker compose.override.yml`: +To use the recommended setting (cron) to execute the background jobs following lines need to be added to the `docker-compose.override.yml`: ``` version: '2.1' @@ -22,9 +22,9 @@ services: ofelia.job-exec.nextcloud-cron.command: "su www-data -s /bin/bash -c \"/usr/local/bin/php -f /web/nextcloud/cron.php\"" ``` -After adding these lines the `docker compose up -d` command must be executed to update the docker image and also the docker scheduler image must be restarted to - pick up the new job definition by executing `docker compose restart ofelia-mailcow`. To check if the job was successfully picked up by `ofelia` the command - `docker compose logs ofelia-mailcow` will contain a line similar to `New job registered "nextcloud-cron" - ...`. +After adding these lines the `docker-compose up -d` command must be executed to update the docker image and also the docker scheduler image must be restarted to + pick up the new job definition by executing `docker-compose restart ofelia-mailcow`. To check if the job was successfully picked up by `ofelia` the command + `docker-compose logs ofelia-mailcow` will contain a line similar to `New job registered "nextcloud-cron" - ...`. By adding these lines the background jobs will be executed every 5 minutes. To verify that the execution works correctly, the only way is to see it in the basic settings when logged in as an admin in Nextcloud. If everything is correct the first scheduled execution will change the background jobs processing setting to @@ -84,7 +84,7 @@ Click the _Save_ button at the very bottom of the page. If you have previously used Nextcloud with mailcow authentication via user\_external/IMAP, you need to perform some additional steps to link your existing user accounts with OAuth2. 1\. Click the button in the top right corner and select _Apps_. Scroll down to the _External user authentication_ app and click _Remove_ next to it. -2\. Run the following queries in your Nextcloud database (if you set up Nextcloud using mailcow's script, you can run `source mailcow.conf && docker compose exec mysql-mailcow mysql -u$DBUSER -p$DBPASS $DBNAME`): +2\. Run the following queries in your Nextcloud database (if you set up Nextcloud using mailcow's script, you can run `source mailcow.conf && docker-compose exec mysql-mailcow mysql -u$DBUSER -p$DBPASS $DBNAME`): ``` INSERT INTO nc_users (uid, uid_lower) SELECT DISTINCT uid, LOWER(uid) FROM nc_users_external; INSERT INTO nc_sociallogin_connect (uid, identifier) SELECT DISTINCT uid, CONCAT("Mailcow-", uid) FROM nc_users_external; @@ -94,7 +94,7 @@ INSERT INTO nc_sociallogin_connect (uid, identifier) SELECT DISTINCT uid, CONCAT If you have previously used Nextcloud without mailcow authentication, but with the same usernames as mailcow, you can also link your existing user accounts with OAuth2. -1\. Run the following queries in your Nextcloud database (if you set up Nextcloud using mailcow's script, you can run `source mailcow.conf && docker compose exec mysql-mailcow mysql -u$DBUSER -p$DBPASS $DBNAME`): +1\. Run the following queries in your Nextcloud database (if you set up Nextcloud using mailcow's script, you can run `source mailcow.conf && docker-compose exec mysql-mailcow mysql -u$DBUSER -p$DBPASS $DBNAME`): ``` INSERT INTO nc_sociallogin_connect (uid, identifier) SELECT DISTINCT uid, CONCAT("Mailcow-", uid) FROM nc_users; ``` @@ -125,4 +125,4 @@ It may happen that you cannot reach the Nextcloud instance from your network. Th ``` After the changes have been made, the nginx container must be restarted. -`docker compose restart nginx-mailcow` \ No newline at end of file +`docker-compose restart nginx-mailcow` \ No newline at end of file diff --git a/docs/third_party/third_party-portainer.de.md b/docs/third_party/third_party-portainer.de.md index ab96a82dc..7e4571105 100644 --- a/docs/third_party/third_party-portainer.de.md +++ b/docs/third_party/third_party-portainer.de.md @@ -1,6 +1,6 @@ -Um Portainer zu aktivieren, müssen die docker compose.yml und site.conf für Nginx geändert werden. +Um Portainer zu aktivieren, müssen die docker-compose.yml und site.conf für Nginx geändert werden. -1\. Erstellen Sie eine neue Datei `docker compose.override.yml` im mailcow-dockerized Stammverzeichnis und fügen Sie die folgende Konfiguration ein +1\. Erstellen Sie eine neue Datei `docker-compose.override.yml` im mailcow-dockerized Stammverzeichnis und fügen Sie die folgende Konfiguration ein ``` version: '2.1' services: @@ -55,7 +55,7 @@ map $http_upgrade $connection_upgrade { 3\. Übernehmen Sie Ihre Änderungen: ``` -docker compose up -d && docker compose restart nginx-mailcow +docker-compose up -d && docker-compose restart nginx-mailcow ``` Nun können Sie einfach zu https://${MAILCOW_HOSTNAME}/portainer/ navigieren, um Ihre Portainer-Container-Überwachungsseite anzuzeigen. Sie werden dann aufgefordert, ein neues Passwort für den **admin** Account anzugeben. Nachdem Sie Ihr Passwort eingegeben haben, können Sie sich mit der Portainer UI verbinden. diff --git a/docs/third_party/third_party-portainer.en.md b/docs/third_party/third_party-portainer.en.md index 8bea87029..aca755692 100644 --- a/docs/third_party/third_party-portainer.en.md +++ b/docs/third_party/third_party-portainer.en.md @@ -1,6 +1,6 @@ -In order to enable Portainer, the docker compose.yml and site.conf for Nginx must be modified. +In order to enable Portainer, the docker-compose.yml and site.conf for Nginx must be modified. -1\. Create a new file `docker compose.override.yml` in the mailcow-dockerized root folder and insert the following configuration +1\. Create a new file `docker-compose.override.yml` in the mailcow-dockerized root folder and insert the following configuration ``` version: '2.1' services: @@ -55,7 +55,7 @@ map $http_upgrade $connection_upgrade { 3\. Apply your changes: ``` -docker compose up -d && docker compose restart nginx-mailcow +docker-compose up -d && docker-compose restart nginx-mailcow ``` Now you can simply navigate to https://${MAILCOW_HOSTNAME}/portainer/ to view your Portainer container monitoring page. You’ll then be prompted to specify a new password for the **admin** account. After specifying your password, you’ll then be able to connect to the Portainer UI. \ No newline at end of file diff --git a/docs/third_party/third_party-roundcube.de.md b/docs/third_party/third_party-roundcube.de.md index 164da9220..6e912fb4e 100644 --- a/docs/third_party/third_party-roundcube.de.md +++ b/docs/third_party/third_party-roundcube.de.md @@ -207,7 +207,7 @@ Editieren Sie `mailcow.conf` und fügen Sie folgendes hinzu: ALLOW_ADMIN_EMAIL_LOGIN_ROUNDCUBE=y ``` -Editieren Sie `docker compose.override.yml` und verfassen/erweitern Sie den Abschnitt für `php-fpm-mailcow`: +Editieren Sie `docker-compose.override.yml` und verfassen/erweitern Sie den Abschnitt für `php-fpm-mailcow`: ```yml version: '2.1' @@ -246,8 +246,8 @@ Kopieren Sie den Inhalt der folgenden Dateien aus diesem [Snippet](https://gitla Starten Sie schließlich mailcow neu ``` -docker compose down -docker compose up -d +docker-compose down +docker-compose up -d ``` diff --git a/docs/third_party/third_party-roundcube.en.md b/docs/third_party/third_party-roundcube.en.md index 787a5db06..9e3e93fb0 100644 --- a/docs/third_party/third_party-roundcube.en.md +++ b/docs/third_party/third_party-roundcube.en.md @@ -207,7 +207,7 @@ Edit `mailcow.conf` and add the following: ALLOW_ADMIN_EMAIL_LOGIN_ROUNDCUBE=y ``` -Edit `docker compose.override.yml` and crate/extend the section for `php-fpm-mailcow`: +Edit `docker-compose.override.yml` and crate/extend the section for `php-fpm-mailcow`: ```yml version: '2.1' @@ -246,6 +246,6 @@ Copy the contents of the following files from this [Snippet](https://gitlab.com/ Finally, restart mailcow ``` -docker compose down -docker compose up -d +docker-compose down +docker-compose up -d ``` \ No newline at end of file diff --git a/docs/troubleshooting/debug-admin_login_sogo.de.md b/docs/troubleshooting/debug-admin_login_sogo.de.md index e3ec735e7..f3f5c0432 100644 --- a/docs/troubleshooting/debug-admin_login_sogo.de.md +++ b/docs/troubleshooting/debug-admin_login_sogo.de.md @@ -11,7 +11,7 @@ ALLOW_ADMIN_EMAIL_LOGIN=y ``` und die betroffenen Container neu erstellen mit ``` -docker compose up -d +docker-compose up -d ``` ## Nachteile bei Aktivierung diff --git a/docs/troubleshooting/debug-admin_login_sogo.en.md b/docs/troubleshooting/debug-admin_login_sogo.en.md index aff5edfda..85b52e2d1 100644 --- a/docs/troubleshooting/debug-admin_login_sogo.en.md +++ b/docs/troubleshooting/debug-admin_login_sogo.en.md @@ -13,7 +13,7 @@ ALLOW_ADMIN_EMAIL_LOGIN=y ``` and recreating the affected containers with ``` -docker compose up -d +docker-compose up -d ``` ## Drawbacks when enabled diff --git a/docs/troubleshooting/debug-attach_service.de.md b/docs/troubleshooting/debug-attach_service.de.md index 2badb19df..2509bc260 100644 --- a/docs/troubleshooting/debug-attach_service.de.md +++ b/docs/troubleshooting/debug-attach_service.de.md @@ -3,7 +3,7 @@ Um einen Container an Ihre Shell anzuhängen, können Sie einfach folgendes ausführen ``` -docker compose exec $Dienst_Name /bin/bash +docker-compose exec $Dienst_Name /bin/bash ``` ### Verbindung zu Diensten herstellen @@ -14,13 +14,13 @@ Wenn Sie sich direkt mit einem Dienst / einer Anwendung verbinden wollen, ist es ``` Quelle mailcow.conf -docker compose exec mysql-mailcow mysql -u${DBUSER} -p${DBPASS} ${DBNAME} +docker-compose exec mysql-mailcow mysql -u${DBUSER} -p${DBPASS} ${DBNAME} ``` #### Redis ``` -docker compose exec redis-mailcow redis-cli +docker-compose exec redis-mailcow redis-cli ``` ## Dienstbeschreibungen diff --git a/docs/troubleshooting/debug-attach_service.en.md b/docs/troubleshooting/debug-attach_service.en.md index 65680c47d..6bf33628f 100644 --- a/docs/troubleshooting/debug-attach_service.en.md +++ b/docs/troubleshooting/debug-attach_service.en.md @@ -3,7 +3,7 @@ To attach a container to your shell you can simply run ``` -docker compose exec $Service_Name /bin/bash +docker-compose exec $Service_Name /bin/bash ``` ### Connecting to Services @@ -14,13 +14,13 @@ If you want to connect to a service / application directly it is always a good i ``` source mailcow.conf -docker compose exec mysql-mailcow mysql -u${DBUSER} -p${DBPASS} ${DBNAME} +docker-compose exec mysql-mailcow mysql -u${DBUSER} -p${DBPASS} ${DBNAME} ``` #### Redis ``` -docker compose exec redis-mailcow redis-cli +docker-compose exec redis-mailcow redis-cli ``` ## Service Descriptions diff --git a/docs/troubleshooting/debug-common_problems.de.md b/docs/troubleshooting/debug-common_problems.de.md index 54376ce6c..fe1438f8b 100644 --- a/docs/troubleshooting/debug-common_problems.de.md +++ b/docs/troubleshooting/debug-common_problems.de.md @@ -23,15 +23,15 @@ Escape-Zeichen ist '^]'. Bitte lesen Sie unsere [DNS-Konfiguration](../prerequisite/prerequisite-dns.de.md) Anleitung. -## docker compose wirft seltsame Fehler aus. +## docker-compose wirft seltsame Fehler aus. ... wie: - `ERROR: Ungültiges Interpolationsformat ...` - `AttributeError: 'NoneType' Objekt hat kein Attribut 'keys'`. -- ERROR: In der Datei './docker compose.yml' hat der Dienst 'version' keine Konfigurationsoptionen. +- ERROR: In der Datei './docker-compose.yml' hat der Dienst 'version' keine Konfigurationsoptionen. -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 diff --git a/docs/troubleshooting/debug-common_problems.en.md b/docs/troubleshooting/debug-common_problems.en.md index f2dc2082f..19e0995dd 100644 --- a/docs/troubleshooting/debug-common_problems.en.md +++ b/docs/troubleshooting/debug-common_problems.en.md @@ -24,15 +24,15 @@ Escape character is '^]'. Please read our guide on [DNS configuration](../prerequisite/prerequisite-dns.en.md). -## docker compose throws weird errors +## docker-compose throws weird errors ... like: - `ERROR: Invalid interpolation format ...` - `AttributeError: 'NoneType' object has no attribute 'keys'`. -- `ERROR: In file './docker compose.yml' service 'version' doesn't have any configuration options`. +- `ERROR: In file './docker-compose.yml' service 'version' doesn't have any configuration options`. -When you encounter one or similar messages while trying to run mailcow: dockerized please check if you have the **latest** version of **Docker** and **docker compose** +When you encounter one or similar messages while trying to run mailcow: dockerized please check if you have the **latest** version of **Docker** and **docker-compose** ## Container XY is unhealthy diff --git a/docs/troubleshooting/debug-logs.de.md b/docs/troubleshooting/debug-logs.de.md index f77831b9c..d02fa91dc 100644 --- a/docs/troubleshooting/debug-logs.de.md +++ b/docs/troubleshooting/debug-logs.de.md @@ -1,12 +1,12 @@ !!! warning Dieser Abschnitt gilt nur für Docker's Standard-Logging-Treiber (JSON). -Um die Logs aller mailcow: dockerized bezogenen Container zu sehen, können Sie `docker compose logs` innerhalb Ihres mailcow-dockerized Ordners verwenden, der Ihre `mailcow.conf` enthält. Dies ist normalerweise ein bisschen viel, aber Sie können die Ausgabe mit `--tail=100` auf die letzten 100 Zeilen pro Container kürzen, oder ein `-f` hinzufügen, um die Live-Ausgabe aller Ihrer Dienste zu verfolgen. +Um die Logs aller mailcow: dockerized bezogenen Container zu sehen, können Sie `docker-compose logs` innerhalb Ihres mailcow-dockerized Ordners verwenden, der Ihre `mailcow.conf` enthält. Dies ist normalerweise ein bisschen viel, aber Sie können die Ausgabe mit `--tail=100` auf die letzten 100 Zeilen pro Container kürzen, oder ein `-f` hinzufügen, um die Live-Ausgabe aller Ihrer Dienste zu verfolgen. -Um die Logs eines bestimmten Dienstes zu sehen, kann man `docker compose logs [options] $service_name` verwenden +Um die Logs eines bestimmten Dienstes zu sehen, kann man `docker-compose logs [options] $service_name` verwenden !!! info - Die verfügbaren Optionen für den Befehl **docker compose logs** sind: + Die verfügbaren Optionen für den Befehl **docker-compose logs** sind: - **-no-color**: Erzeugt eine einfarbige Ausgabe. - **-f**: Der Log-Ausgabe folgen. diff --git a/docs/troubleshooting/debug-logs.en.md b/docs/troubleshooting/debug-logs.en.md index 5661d48af..20b955517 100644 --- a/docs/troubleshooting/debug-logs.en.md +++ b/docs/troubleshooting/debug-logs.en.md @@ -1,12 +1,12 @@ !!! warning This section only applies for Dockers default logging driver (JSON). -To view the logs of all mailcow: dockerized related containers, you can use `docker compose logs` inside your mailcow-dockerized folder that contains your `mailcow.conf`. This is usually a bit much, but you could trim the output with `--tail=100` to the last 100 lines per container, or add a `-f` to follow the live output of all your services. +To view the logs of all mailcow: dockerized related containers, you can use `docker-compose logs` inside your mailcow-dockerized folder that contains your `mailcow.conf`. This is usually a bit much, but you could trim the output with `--tail=100` to the last 100 lines per container, or add a `-f` to follow the live output of all your services. -To view the logs of a specific service you can use `docker compose logs [options] $service_name` +To view the logs of a specific service you can use `docker-compose logs [options] $service_name` !!! info - The available options for the command **docker compose logs** are: + The available options for the command **docker-compose logs** are: - **--no-color**: Produce monochrome output. - **-f**: Follow the log output. diff --git a/docs/troubleshooting/debug-mysql_aria.de.md b/docs/troubleshooting/debug-mysql_aria.de.md index d9b580b89..47a0c6f22 100644 --- a/docs/troubleshooting/debug-mysql_aria.de.md +++ b/docs/troubleshooting/debug-mysql_aria.de.md @@ -2,15 +2,15 @@ Wenn Ihr Server abgestürzt ist und MariaDB eine Fehlermeldung ähnlich `[ERROR] mysqld: Aria recovery failed. Please run aria_chk -r on all Aria tables (*.MAI) and delete all aria_log.######## files`, können Sie Folgendes versuchen, um die Datenbank in einen gesunden Zustand zu bringen: -Starten Sie den Stack und warten Sie, bis mysql-mailcow beginnt, einen Neustart zu melden. Überprüfen Sie dies, indem Sie `docker compose ps` ausführen. +Starten Sie den Stack und warten Sie, bis mysql-mailcow beginnt, einen Neustart zu melden. Überprüfen Sie dies, indem Sie `docker-compose ps` ausführen. Führen Sie nun die folgenden Befehle aus: ``` # Stoppe den Stack, führe nicht "down" aus -docker compose stop +docker-compose stop # Führen Sie eine Bash in dem gestoppten Container als Benutzer mysql aus -docker compose run --rm --entrypoint '/bin/sh -c "gosu mysql bash"' mysql-mailcow +docker-compose run --rm --entrypoint '/bin/sh -c "gosu mysql bash"' mysql-mailcow # cd in das SQL-Datenverzeichnis cd /var/lib/mysql # aria_chk ausführen @@ -19,4 +19,4 @@ aria_chk --check --force */*.MAI rm aria_log.* ``` -Führen Sie nun `docker compose down` gefolgt von `docker compose up -d` aus. \ No newline at end of file +Führen Sie nun `docker-compose down` gefolgt von `docker-compose up -d` aus. \ No newline at end of file diff --git a/docs/troubleshooting/debug-mysql_aria.en.md b/docs/troubleshooting/debug-mysql_aria.en.md index ac32c34f4..0783f26b6 100644 --- a/docs/troubleshooting/debug-mysql_aria.en.md +++ b/docs/troubleshooting/debug-mysql_aria.en.md @@ -2,15 +2,15 @@ If your server crashed and MariaDB logs an error similar to `[ERROR] mysqld: Aria recovery failed. Please run aria_chk -r on all Aria tables (*.MAI) and delete all aria_log.######## files` you may want to try the following to recover the database to a healthy state: -Start the stack and wait until mysql-mailcow begins to report a restarting state. Check by running `docker compose ps`. +Start the stack and wait until mysql-mailcow begins to report a restarting state. Check by running `docker-compose ps`. Now run the following commands: ``` # Stop the stack, don't run "down" -docker compose stop +docker-compose stop # Run a bash in the stopped container as user mysql -docker compose run --rm --entrypoint '/bin/sh -c "gosu mysql bash"' mysql-mailcow +docker-compose run --rm --entrypoint '/bin/sh -c "gosu mysql bash"' mysql-mailcow # cd to the SQL data directory cd /var/lib/mysql # Run aria_chk @@ -19,4 +19,4 @@ aria_chk --check --force */*.MAI rm aria_log.* ``` -Now run `docker compose down` followed by `docker compose up -d`. \ No newline at end of file +Now run `docker-compose down` followed by `docker-compose up -d`. \ No newline at end of file diff --git a/docs/troubleshooting/debug-mysql_upgrade.de.md b/docs/troubleshooting/debug-mysql_upgrade.de.md index de05e9ee4..6fc6af814 100644 --- a/docs/troubleshooting/debug-mysql_upgrade.de.md +++ b/docs/troubleshooting/debug-mysql_upgrade.de.md @@ -3,8 +3,8 @@ Dieser Schritt ist normalerweise nicht notwendig. ``` -docker compose stop mysql-mailcow watchdog-mailcow -docker compose run --rm --entrypoint '/bin/sh -c "gosu mysql mysqld --skip-grant-tables & sleep 10 && bash && exit 0"' mysql-mailcow +docker-compose stop mysql-mailcow watchdog-mailcow +docker-compose run --rm --entrypoint '/bin/sh -c "gosu mysql mysqld --skip-grant-tables & sleep 10 && bash && exit 0"' mysql-mailcow ``` Sobald die SQL-Shell gestartet wurde, führen Sie `mysql_upgrade` aus und verlassen den Container: diff --git a/docs/troubleshooting/debug-mysql_upgrade.en.md b/docs/troubleshooting/debug-mysql_upgrade.en.md index 635a616c0..51ffd498e 100644 --- a/docs/troubleshooting/debug-mysql_upgrade.en.md +++ b/docs/troubleshooting/debug-mysql_upgrade.en.md @@ -3,8 +3,8 @@ This step is usually not necessary. ``` -docker compose stop mysql-mailcow watchdog-mailcow -docker compose run --rm --entrypoint '/bin/sh -c "gosu mysql mysqld --skip-grant-tables & sleep 10 && bash && exit 0"' mysql-mailcow +docker-compose stop mysql-mailcow watchdog-mailcow +docker-compose run --rm --entrypoint '/bin/sh -c "gosu mysql mysqld --skip-grant-tables & sleep 10 && bash && exit 0"' mysql-mailcow ``` As soon as the SQL shell spawned, run `mysql_upgrade` and exit the container: diff --git a/docs/troubleshooting/debug-reset_pw.de.md b/docs/troubleshooting/debug-reset_pw.de.md index 2e2931f2a..84cab9250 100644 --- a/docs/troubleshooting/debug-reset_pw.de.md +++ b/docs/troubleshooting/debug-reset_pw.de.md @@ -9,19 +9,19 @@ cd mailcow_pfad ## MySQL-Passwörter zurücksetzen -Stoppen Sie den Stack, indem Sie `docker compose stop` ausführen. +Stoppen Sie den Stack, indem Sie `docker-compose stop` ausführen. Wenn die Container heruntergefahren sind, führen Sie diesen Befehl aus: ``` -docker compose run --rm --entrypoint '/bin/sh -c "gosu mysql mysqld --skip-grant-tables & sleep 10 && mysql -hlocalhost -uroot && exit 0"' mysql-mailcow +docker-compose run --rm --entrypoint '/bin/sh -c "gosu mysql mysqld --skip-grant-tables & sleep 10 && mysql -hlocalhost -uroot && exit 0"' mysql-mailcow ``` ### 1\. Datenbank-Name finden ``` # source mailcow.conf -# docker compose exec mysql-mailcow mysql -u${DBUSER} -p${DBPASS} ${DBNAME} +# docker-compose exec mysql-mailcow mysql -u${DBUSER} -p${DBPASS} ${DBNAME} MariaDB [(none)]> show databases; +--------------------+ | Database | @@ -83,11 +83,11 @@ Dies funktioniert ähnlich wie das Zurücksetzen eines MySQL-Passworts, jetzt ma ``` Quelle mailcow.conf -docker compose exec mysql-mailcow mysql -u${DBUSER} -p${DBPASS} ${DBNAME} -e "DELETE FROM tfa WHERE username='YOUR_USERNAME';" +docker-compose exec mysql-mailcow mysql -u${DBUSER} -p${DBPASS} ${DBNAME} -e "DELETE FROM tfa WHERE username='YOUR_USERNAME';" ``` ### Für SOGo: ``` -docker compose exec -u sogo sogo-mailcow sogo-tool user-preferences set defaults user@example.com SOGoGoogleAuthenticatorEnabled '{"SOGoGoogleAuthenticatorEnabled":0}' +docker-compose exec -u sogo sogo-mailcow sogo-tool user-preferences set defaults user@example.com SOGoGoogleAuthenticatorEnabled '{"SOGoGoogleAuthenticatorEnabled":0}' ``` \ No newline at end of file diff --git a/docs/troubleshooting/debug-reset_pw.en.md b/docs/troubleshooting/debug-reset_pw.en.md index dcc81e6f8..d476e10b0 100644 --- a/docs/troubleshooting/debug-reset_pw.en.md +++ b/docs/troubleshooting/debug-reset_pw.en.md @@ -9,19 +9,19 @@ cd mailcow_path ## Reset MySQL Passwords -Stop the stack by running `docker compose stop`. +Stop the stack by running `docker-compose stop`. When the containers came to a stop, run this command: ``` -docker compose run --rm --entrypoint '/bin/sh -c "gosu mysql mysqld --skip-grant-tables & sleep 10 && mysql -hlocalhost -uroot && exit 0"' mysql-mailcow +docker-compose run --rm --entrypoint '/bin/sh -c "gosu mysql mysqld --skip-grant-tables & sleep 10 && mysql -hlocalhost -uroot && exit 0"' mysql-mailcow ``` ### 1\. Find database name ``` # source mailcow.conf -# docker compose exec mysql-mailcow mysql -u${DBUSER} -p${DBPASS} ${DBNAME} +# docker-compose exec mysql-mailcow mysql -u${DBUSER} -p${DBPASS} ${DBNAME} MariaDB [(none)]> show databases; +--------------------+ | Database | @@ -83,11 +83,11 @@ This works similar to resetting a MySQL password, now we do it from the host wit ``` source mailcow.conf -docker compose exec mysql-mailcow mysql -u${DBUSER} -p${DBPASS} ${DBNAME} -e "DELETE FROM tfa WHERE username='YOUR_USERNAME';" +docker-compose exec mysql-mailcow mysql -u${DBUSER} -p${DBPASS} ${DBNAME} -e "DELETE FROM tfa WHERE username='YOUR_USERNAME';" ``` ### For SOGo: ``` -docker compose exec -u sogo sogo-mailcow sogo-tool user-preferences set defaults user@example.com SOGoGoogleAuthenticatorEnabled '{"SOGoGoogleAuthenticatorEnabled":0}' +docker-compose exec -u sogo sogo-mailcow sogo-tool user-preferences set defaults user@example.com SOGoGoogleAuthenticatorEnabled '{"SOGoGoogleAuthenticatorEnabled":0}' ``` \ No newline at end of file diff --git a/docs/troubleshooting/debug-reset_tls.de.md b/docs/troubleshooting/debug-reset_tls.de.md index 9a6eda7f9..7e4c94c29 100644 --- a/docs/troubleshooting/debug-reset_tls.de.md +++ b/docs/troubleshooting/debug-reset_tls.de.md @@ -2,12 +2,12 @@ Sollten Sie Probleme mit Ihrem Zertifikat, Schlüssel oder Let's Encrypt-Konto h ``` source mailcow.conf -docker compose down +docker-compose down rm -rf data/assets/ssl mkdir data/assets/ssl openssl req -x509 -newkey rsa:4096 -keyout data/assets/ssl-example/key.pem -out data/assets/ssl-example/cert.pem -days 365 -subj "/C=DE/ST=NRW/L=Willich/O=mailcow/OU=mailcow/CN=${MAILCOW_HOSTNAME}" -sha256 -nodes cp -n -d data/assets/ssl-example/*.pem data/assets/ssl/ -docker compose up -d +docker-compose up -d ``` Dies wird mailcow stoppen, die benötigten Variablen beschaffen, ein selbstsigniertes Zertifikat erstellen und mailcow starten. diff --git a/docs/troubleshooting/debug-reset_tls.en.md b/docs/troubleshooting/debug-reset_tls.en.md index 739a3eac6..8ecce380a 100644 --- a/docs/troubleshooting/debug-reset_tls.en.md +++ b/docs/troubleshooting/debug-reset_tls.en.md @@ -2,12 +2,12 @@ In case you encounter problems with your certificate, key or Let's Encrypt accou ``` source mailcow.conf -docker compose down +docker-compose down rm -rf data/assets/ssl mkdir data/assets/ssl openssl req -x509 -newkey rsa:4096 -keyout data/assets/ssl-example/key.pem -out data/assets/ssl-example/cert.pem -days 365 -subj "/C=DE/ST=NRW/L=Willich/O=mailcow/OU=mailcow/CN=${MAILCOW_HOSTNAME}" -sha256 -nodes cp -n -d data/assets/ssl-example/*.pem data/assets/ssl/ -docker compose up -d +docker-compose up -d ``` This will stop mailcow, source the variables we need, create a self-signed certificate and start mailcow. diff --git a/docs/troubleshooting/debug-rm_volumes.de.md b/docs/troubleshooting/debug-rm_volumes.de.md index 3df49230c..37eb73a8b 100644 --- a/docs/troubleshooting/debug-rm_volumes.de.md +++ b/docs/troubleshooting/debug-rm_volumes.de.md @@ -14,4 +14,4 @@ docker volume rm mailcowdockerized_${VOLUME_NAME} - Entfernen Sie das Volume `rspamd-vol-1`, um alle Rspamd-Daten zu entfernen. - Entfernen Sie Volume `crypt-vol-1`, um alle Crypto-Daten zu entfernen. Dies wird **alle Mails** unlesbar machen. -Alternativ dazu wird die Ausführung von `docker compose down -v` **alle mailcow: dockerized volumes** zerstören und alle zugehörigen Container und Netzwerke löschen. +Alternativ dazu wird die Ausführung von `docker-compose down -v` **alle mailcow: dockerized volumes** zerstören und alle zugehörigen Container und Netzwerke löschen. diff --git a/docs/troubleshooting/debug-rm_volumes.en.md b/docs/troubleshooting/debug-rm_volumes.en.md index 2d98c51a7..fc8cd7b25 100644 --- a/docs/troubleshooting/debug-rm_volumes.en.md +++ b/docs/troubleshooting/debug-rm_volumes.en.md @@ -14,4 +14,4 @@ docker volume rm mailcowdockerized_${VOLUME_NAME} - Remove volume `rspamd-vol-1` to remove all Rspamd data. - Remove volume `crypt-vol-1` to remove all crypto data. This will render **all mails** unreadable. -Alternatively, running `docker compose down -v` will **destroy all mailcow: dockerized volumes** and delete any related containers and networks. +Alternatively, running `docker-compose down -v` will **destroy all mailcow: dockerized volumes** and delete any related containers and networks. diff --git a/docs/troubleshooting/debug-rspamd_memory_leaks.de.md b/docs/troubleshooting/debug-rspamd_memory_leaks.de.md index 23ecedccb..9f2df8c05 100644 --- a/docs/troubleshooting/debug-rspamd_memory_leaks.de.md +++ b/docs/troubleshooting/debug-rspamd_memory_leaks.de.md @@ -1,7 +1,7 @@ Eine kurze Anleitung, um einen schlecht funktionierenden Rspamd tiefgehend zu analysieren. ``` -docker compose exec rspamd-mailcow bash +docker-compose exec rspamd-mailcow bash if ! grep -qi 'apt-stable-asan' /etc/apt/sources.list.d/rspamd.list; then sed -i 's/apt-stabil/apt-stabil-asan/i' /etc/apt/sources.list.d/rspamd.list @@ -18,10 +18,10 @@ export ASAN_OPTIONS=new_delete_type_mismatch=0:detect_leaks=1:detect_odr_violati ``` -Starten Sie Rspamd neu: `docker compose restart rspamd-mailcow` +Starten Sie Rspamd neu: `docker-compose restart rspamd-mailcow` Ihr Speicherverbrauch wird stark ansteigen, er wird auch stetig wachsen, was nicht mit einem möglichen Memory Leak zusammenhängt, nach dem Sie suchen. -Lassen Sie den Container für ein paar Minuten, Stunden oder Tage laufen (es sollte die Zeit sein, die Sie normalerweise warten, bis der Memory Leak "passiert") und starten Sie ihn neu: `docker compose restart rspamd-mailcow`. +Lassen Sie den Container für ein paar Minuten, Stunden oder Tage laufen (es sollte die Zeit sein, die Sie normalerweise warten, bis der Memory Leak "passiert") und starten Sie ihn neu: `docker-compose restart rspamd-mailcow`. -Betreten Sie nun den Container, indem Sie `docker compose exec rspamd-mailcow bash` ausführen, wechseln Sie das Verzeichnis zu /tmp und kopieren Sie die asan-Dateien an den gewünschten Ort oder laden Sie sie über termbin.com hoch (`cat /tmp/rspamd-asan.* | nc termbin.com 9999`). \ No newline at end of file +Betreten Sie nun den Container, indem Sie `docker-compose exec rspamd-mailcow bash` ausführen, wechseln Sie das Verzeichnis zu /tmp und kopieren Sie die asan-Dateien an den gewünschten Ort oder laden Sie sie über termbin.com hoch (`cat /tmp/rspamd-asan.* | nc termbin.com 9999`). \ No newline at end of file diff --git a/docs/troubleshooting/debug-rspamd_memory_leaks.en.md b/docs/troubleshooting/debug-rspamd_memory_leaks.en.md index d3a55ce24..97cae3393 100644 --- a/docs/troubleshooting/debug-rspamd_memory_leaks.en.md +++ b/docs/troubleshooting/debug-rspamd_memory_leaks.en.md @@ -1,7 +1,7 @@ A quick guide to deeply analyze a malfunctioning Rspamd. ``` -docker compose exec rspamd-mailcow bash +docker-compose exec rspamd-mailcow bash if ! grep -qi 'apt-stable-asan' /etc/apt/sources.list.d/rspamd.list; then sed -i 's/apt-stable/apt-stable-asan/i' /etc/apt/sources.list.d/rspamd.list @@ -18,10 +18,10 @@ export ASAN_OPTIONS=new_delete_type_mismatch=0:detect_leaks=1:detect_odr_violati ``` -Restart Rspamd: `docker compose restart rspamd-mailcow` +Restart Rspamd: `docker-compose restart rspamd-mailcow` Your memory consumption will increase by a lot, it will also steadily grow, which is not related to a possible memory leak you are looking for. -Leave the container running for a few minutes, hours or days (it should match the time you usually wait for the leak to "happen") and restart it: `docker compose restart rspamd-mailcow`. +Leave the container running for a few minutes, hours or days (it should match the time you usually wait for the leak to "happen") and restart it: `docker-compose restart rspamd-mailcow`. -Now enter the container by running `docker compose exec rspamd-mailcow bash`, change the directory to /tmp and copy the asan Files to your desired location or upload them via termbin.com (`cat /tmp/rspamd-asan.* | nc termbin.com 9999`). \ No newline at end of file +Now enter the container by running `docker-compose exec rspamd-mailcow bash`, change the directory to /tmp and copy the asan Files to your desired location or upload them via termbin.com (`cat /tmp/rspamd-asan.* | nc termbin.com 9999`). \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 3cea19c4f..19a2578d1 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -348,6 +348,7 @@ plugins: 'u_e-rspamd.md': 'manual-guides/Rspamd/u_e-rspamd.en.md' 'u_e-sogo.md': 'manual-guides/SOGo/u_e-sogo.en.md' 'u_e-docker-cust_dockerfiles.md': 'manual-guides/Docker/u_e-docker-cust_dockerfiles.en.md' + 'u_e-docker-dc_bash_compl.md': 'manual-guides/Docker/u_e-docker-dc_bash_compl.en.md' 'u_e-why_unbound.md': 'manual-guides/u_e-why_unbound.en.md' 'u_e-autodiscover_config.md': 'manual-guides/u_e-autodiscover_config.en.md' 'u_e-80_to_443.md': 'manual-guides/u_e-80_to_443.en.md'