diff --git a/docs/index.de.md.bak b/docs/index.de.md.bak deleted file mode 100644 index 85fca7947..000000000 --- a/docs/index.de.md.bak +++ /dev/null @@ -1,96 +0,0 @@ -# 🐮 + 🐋 = 💕 - -## Hilf dem mailcow Projekt - -Bitte erwägen Sie einen Supportvertrag gegen eine geringe monatliche Gebühr unter [Servercow EN](https://www.servercow.de/mailcow?lang=en#support)/[Servercow DE](https://www.servercow.de/mailcow?#support), um die weitere Entwicklung zu unterstützen. _Wir_ unterstützen _Dich_, während _Du_ _uns_ unterstützt. :) - -Wenn du super toll bist und ohne Vertrag unterstützen möchtest, kannst du eine SAL-Lizenz bekommen, die deine Tollheit bestätigt (eine flexible Einmalzahlung) bei [Servercow EN](https://www.servercow.de/mailcow?lang=en#sal)/[Servercow DE](https://www.servercow.de/mailcow#sal). - -## Support erhalten - -Es gibt zwei Möglichkeiten, Support für Ihre mailcow-Installation zu erhalten. - -### Kommerzieller Support - -Für professionellen und priorisierten kommerziellen Support können Sie ein Basis-Support-Abonnement unter [Servercow EN](https://www.servercow.de/mailcow?lang=en#support)/[Servercow DE](https://www.servercow.de/mailcow#support) abschließen. Für kundenspezifische Anfragen oder Fragen kontaktieren Sie uns stattdessen bitte unter [info@servercow.de](mailto:info@servercow.de). - -Darüber hinaus bieten wir auch eine voll ausgestattete und verwaltete Mailcow [hier](https://www.servercow.de/mailcow#managed) an. Auf diese Weise kümmern wir uns um die technische Magie darunter und Sie können Ihr ganzes Mail-Erlebnis auf eine problemlose Weise genießen. - -### Community-Unterstützung und Chat - -Die andere Alternative ist unser kostenloser Community-Support auf unseren verschiedenen Kanälen unten. Bitte beachten Sie, dass dieser Support von unserer großartigen Community rund um mailcow betrieben wird. Diese Art von Support ist best-effort, freiwillig und es gibt keine Garantie für irgendetwas. - -- Unsere mailcow Gemeinschaft @ [community.mailcow.email](https://community.mailcow.email) - -- Telegram @ [t.me/mailcow](https://t.me/mailcow). - -- Telegram @ [t.me/mailcowOfftopic](https://t.me/mailcowOfftopic). - -Telegram Desktop-Clients sind für [mehrere Plattformen](https://desktop.telegram.org) verfügbar. Sie können den Gruppenverlauf nach Stichworten durchsuchen. - -Nur für **Fehlerverfolgung, Feature Requests und Codebeiträge**: - -- GitHub @ [mailcow/mailcow-dockerized](https://github.com/mailcow/mailcow-dockerized) - -## Demo - -Sie können eine Demo unter [demo.mailcow.email](https://demo.mailcow.email) finden, benutzen Sie die folgenden Anmeldedaten zum Login: - -- **Administrator**: admin / moohoo -- **Domänen-Administrator**: Abteilung / moohoo -- **Postfach**: demo@440044.xyz / moohoo - -## Überblick - -Die integrierte **mailcow UI** ermöglicht administrative Arbeiten auf Ihrer Mailserver-Instanz sowie einen getrennten Domain-Administrator- und Mailbox-Benutzer-Zugriff: - -- [DKIM](http://dkim.org) und [ARC](http://arc-spec.org/) Unterstützung -- Black- und Whitelists pro Domain und pro Benutzer -- Spam-Score-Verwaltung pro Benutzer (Spam ablehnen, Spam markieren, Greylist) -- Erlauben Sie Mailbox-Benutzern, temporäre Spam-Aliase zu erstellen -- Voranstellen von E-Mail-Tags an den Betreff oder Verschieben von E-Mails in Unterordner (pro Benutzer) -- Mailbox-Benutzer können die TLS-Durchsetzung für eingehende und ausgehende Nachrichten umschalten -- Benutzer können die Caches von SOGo ActiveSync-Geräten zurücksetzen -- imapsync, um entfernte Postfächer regelmäßig zu migrieren oder abzurufen -- TFA: Yubikey OTP und U2F USB (nur Google Chrome und Derivate), TOTP -- Hinzufügen von Domänen, Postfächern, Aliasen, Domänenaliasen und SOGo-Ressourcen -- Hinzufügen von Whitelist-Hosts zur Weiterleitung von Mails an mailcow -- Fail2ban-ähnliche Integration -- Quarantäne-System -- Antivirus-Scanning inkl. Makro-Scanning in Office-Dokumenten -- Integrierte Basisüberwachung -- Eine Menge mehr... - -mailcow: dockerized kommt mit mehreren Containern, die in einem überbrückten Netzwerk verbunden sind. -Jeder Container repräsentiert eine einzelne Anwendung. - -- [ACME](https://letsencrypt.org/) -- [ClamAV](https://www.clamav.net/) (optional) -- [Dovecot](https://www.dovecot.org/) -- [MariaDB](https://mariadb.org/) -- [Memcached](https://www.memcached.org/) -- [Netfilter](https://www.netfilter.org/) (Fail2ban-aehnliche Integration von [@mkuron](https://github.com/mkuron)) -- [Nginx](https://nginx.org/) -- [Oletools](https://github.com/decalage2/oletools) über [Olefy](https://github.com/HeinleinSupport/olefy) -- [PHP](https://php.net/) -- [Postfix](http://www.postfix.org/) -- [Redis](https://redis.io/) -- [Rspamd](https://www.rspamd.com/) -- [SOGo](https://sogo.nu/) -- [Solr](https://solr.apache.org/) (optional) -- [Ungebunden](https://unbound.net/) -- Ein Watchdog für die grundlegende Überwachung - -**Docker-Volumes** zur Aufbewahrung dynamischer Daten - kümmern Sie sich um sie! - -- krypt-vol-1 -- mysql-socket-vol-1 -- mysql-vol-1 -- postfix-vol-1 -- redis-vol-1 -- rspamd-vol-1 -- sogo-benutzerdaten-backup-vol-1 -- sogo-web-vol-1 -- solr-vol-1 -- vmail-index-vol-1 -- vmail-vol-1 diff --git a/docs/prerequisite-system.de.md b/docs/prerequisite-system.de.md new file mode 100644 index 000000000..17a3a306d --- /dev/null +++ b/docs/prerequisite-system.de.md @@ -0,0 +1,174 @@ +# Systemvorraussetzungen + +Bevor Sie **mailcow: dockerized** ausführen, sollten Sie einige Voraussetzungen überprüfen: + +!!! Warnung + Versuchen Sie **nicht**, mailcow auf einem Synology/QNAP-Gerät (jedes NAS), OpenVZ, LXC oder anderen Container-Plattformen zu installieren. KVM, ESX, Hyper-V und andere vollständige Virtualisierungsplattformen werden unterstützt. + +!!! info + - mailcow: dockerized erfordert, dass [einige Ports](#default-ports) für eingehende Verbindungen offen sind, also stellen Sie sicher, dass Ihre Firewall diese nicht blockiert. + - Stellen Sie sicher, dass keine andere Anwendung die Konfiguration von mailcow stört, wie z.B. ein anderer Maildienst + - Ein korrektes DNS-Setup ist entscheidend für jedes gute Mailserver-Setup, also stellen Sie bitte sicher, dass Sie zumindest die [basics](../prerequisite-dns#the-minimal-dns-configuration) abgedeckt haben, bevor Sie beginnen! + - Stellen Sie sicher, dass Ihr System ein korrektes Datum und eine korrekte [Zeiteinstellung](#date-and-time) hat. Dies ist entscheidend für verschiedene Komponenten wie die Zwei-Faktor-TOTP-Authentifizierung. + +## Minimale Systemressourcen + +**OpenVZ, Virtuozzo und LXC werden nicht unterstützt**. + +Bitte stellen Sie sicher, dass Ihr System mindestens über die folgenden Ressourcen verfügt: + +| Ressource | mailcow: dockerized | +| ----------------------- | ------------------------------------------------ | +| CPU | 1 GHz | +| RAM | **Minimum** 6 GiB + 1 GiB Swap (Standardkonfiguration) | +| Festplatte | 20 GiB (ohne Emails) | +| Systemtyp | x86_64 | + +Wir empfehlen, jede Distribution zu verwenden, die von Docker CE unterstützt wird (siehe https://docs.docker.com/install/). Wir testen auf CentOS 7, Debian 10/11 und Ubuntu 18.04/20.04. + +ClamAV und Solr können gierig nach RAM sein. Du kannst sie in `mailcow.conf` durch die Einstellungen `SKIP_CLAMD=y` und `SKIP_SOLR=y` deaktivieren. + +**Info**: Wir sind uns bewusst, dass ein reiner MTA auf 128 MiB RAM laufen kann. mailcow ist eine ausgewachsene und gebrauchsfertige Groupware mit vielen Extras, die das Leben einfacher machen. mailcow kommt mit einem Webserver, Webmailer, ActiveSync (MS), Antivirus, Antispam, Indexierung (Solr), Dokumentenscanner (Oletools), SQL (MariaDB), Cache (Redis), MDA, MTA, verschiedenen Webdiensten etc. + +Ein einzelner SOGo-Worker **kann** ~350 MiB RAM belegen, bevor er geleert wird. Je mehr ActiveSync-Verbindungen Sie verwenden möchten, desto mehr RAM wird benötigt. In der Standardkonfiguration werden 20 Arbeiter erzeugt. + +#### Beispiele für die Verwendung + +Ein Unternehmen mit 15 Telefonen (EAS aktiviert) und etwa 50 gleichzeitigen IMAP-Verbindungen sollte 16 GiB RAM einplanen. + +6 GiB RAM + 1 GiB Swap sind für die meisten privaten Installationen ausreichend, während 8 GiB RAM für ~5 bis 10 Benutzer empfohlen werden. + +Im Rahmen unseres Supports können wir Ihnen bei der korrekten Planung Ihres Setups helfen. + +## Firewall & Ports + +Bitte überprüfen Sie, ob alle Standard-Ports von mailcow offen sind und nicht von anderen Anwendungen genutzt werden: + +``` +ss -tlpn | grep -E -w '25|80|110|143|443|465|587|993|995|4190|5222|5269|5443' +# oder: +netstat -tulpn | grep -E -w '25|80|110|143|443|465|587|993|995|4190|5222|5269|5443' +``` + +!!! Warnung + Es gibt einige Probleme mit dem Betrieb von mailcow auf einem Firewalld/ufw aktivierten System. Sie sollten es deaktivieren (wenn möglich) und stattdessen Ihren Regelsatz in die DOCKER-USER-Kette verschieben, die nicht durch einen Neustart des Docker-Dienstes gelöscht wird. Siehe [diese (blog.donnex.net)](https://blog.donnex.net/docker-and-iptables-filtering/) oder [diese (unrouted.io)](https://unrouted.io/2017/08/15/docker-firewall/) Anleitung für Informationen darüber, wie man iptables-persistent mit der DOCKER-USER Kette benutzt. + Da mailcow im Docker-Modus läuft, haben INPUT-Regeln keinen Effekt auf die Beschränkung des Zugriffs auf mailcow. Verwenden Sie stattdessen die FORWARD-Kette. + +Wenn dieser Befehl irgendwelche Ergebnisse liefert, entfernen oder stoppen Sie bitte die Anwendung, die auf diesem Port läuft. Sie können mailcows Ports auch über die Konfigurationsdatei `mailcow.conf` anpassen. + +### Standard Ports + +Wenn Sie eine Firewall vor mailcow haben, stellen Sie bitte sicher, dass diese Ports für eingehende Verbindungen offen sind: + +| Dienst | Protokoll | Port | Container | Variable | +| --------------------|:--------:|:-------|:------------------|----------------------------------| +| Postfix SMTP | TCP | 25 | postfix-mailcow | `${SMTP_PORT}` | +| Postfix SMTPS | TCP | 465 | postfix-mailcow | `${SMTPS_PORT}` | +| Postfix Einreichung | TCP | 587 | postfix-mailcow | `${SUBMISSION_PORT}` | +| Dovecot IMAP | TCP | 143 | dovecot-mailcow | `${IMAP_PORT}` | +| Dovecot IMAPS | TCP | 993 | dovecot-mailcow | `${IMAPS_PORT}` | +| Dovecot POP3 | TCP | 110 | dovecot-mailcow | `${POP_PORT}` | +| Dovecot POP3S | TCP | 995 | dovecot-mailcow | `${POPS_PORT}` | +| Dovecot ManageSieve | TCP | 4190 | dovecot-mailcow | `${SIEVE_PORT}` | +| HTTP(S) | TCP | 80/443 | nginx-mailcow | `${HTTP_PORT}` / `${HTTPS_PORT}` | + +Um einen Dienst an eine IP-Adresse zu binden, können Sie die IP-Adresse wie folgt voranstellen: `SMTP_PORT=1.2.3.4:25` + +**Wichtig**: Sie können keine IP:PORT-Bindungen in HTTP_PORT und HTTPS_PORT verwenden. Bitte verwenden Sie stattdessen `HTTP_PORT=1234` und `HTTP_BIND=1.2.3.4`. + +### Wichtig für Hetzner Firewalls + +Ich zitiere https://github.com/chermsen über https://github.com/mailcow/mailcow-dockerized/issues/497#issuecomment-469847380 (DANKE!): + +Für alle, die mit der Hetzner-Firewall zu kämpfen haben: + +Port 53 ist in diesem Fall für die Firewall-Konfiguration unwichtig. Laut Dokumentation verwendet unbound den Portbereich 1024-65535 für ausgehende Anfragen. +Da es sich bei der Hetzner Robot Firewall um eine statische Firewall handelt (jedes eingehende Paket wird isoliert geprüft) - müssen die folgenden Regeln angewendet werden: + +**Für TCP** +``` +SRC-IP: --- +DST-IP: --- +SRC-Port: --- +DST-Port: 1024-65535 +Protokoll: tcp +TCP-Flags: ack +Aktion: Akzeptieren +``` + +**Für UDP** +``` +SRC-IP: --- +DST-IP: --- +SRC-Port: --- +DST-Port: 1024-65535 +Protokoll: udp +Aktion: Akzeptieren +``` + +Wenn man einen restriktiveren Portbereich anwenden will, muss man zuerst die Konfiguration von unbound ändern (nach der Installation): + +{mailcow-dockerized}/data/conf/unbound/unbound.conf: +``` +ausgehender-Port-vermeiden: 0-32767 +``` + +Nun können die Firewall-Regeln wie folgt angepasst werden: + +``` +[...] +DST Port: 32768-65535 +[...] +``` + +## Datum und Uhrzeit + +Um sicherzustellen, dass Sie das richtige Datum und die richtige Zeit auf Ihrem System eingestellt haben, überprüfen Sie bitte die Ausgabe von `timedatectl status`: + +``` +$ timedatectl status + Lokale Zeit: Sat 2017-05-06 02:12:33 CEST + Weltzeit: Sa 2017-05-06 00:12:33 UTC + RTC-Zeit: Sa 2017-05-06 00:12:32 + Zeitzone: Europa/Berlin (MESZ, +0200) + NTP aktiviert: ja +NTP synchronisiert: ja + RTC in lokaler TZ: nein + Sommerzeit aktiv: ja + Letzte DST-Änderung: Sommerzeit begann am + Sonne 2017-03-26 01:59:59 MEZ + So 2017-03-26 03:00:00 MESZ + Nächste Sommerzeitänderung: Die Sommerzeit endet (die Uhr springt eine Stunde rückwärts) am + Sun 2017-10-29 02:59:59 MESZ + Sun 2017-10-29 02:00:00 MEZ +``` + +Die Zeilen `NTP aktiviert: ja` und `NTP synchronisiert: ja` zeigen an, ob Sie NTP aktiviert haben und ob es synchronisiert ist. + +Um NTP zu aktivieren, müssen Sie den Befehl `timedatectl set-ntp true` ausführen. Sie müssen auch Ihre `/etc/systemd/timesyncd.conf` bearbeiten: + +``` +# vim /etc/systemd/timesyncd.conf +[Zeit] +NTP=0.pool.ntp.org 1.pool.ntp.org 2.pool.ntp.org 3.pool.ntp.org +``` + +## Hetzner Cloud (und wahrscheinlich andere) + +Prüfen Sie `/etc/network/interfaces.d/50-cloud-init.cfg` und ändern Sie die IPv6-Schnittstelle von eth0:0 auf eth0: + +``` +# Falsch: +auto eth0:0 +iface eth0:0 inet6 static +# Richtig: +auto eth0 +iface eth0 inet6 statisch +``` + +Starten Sie die Schnittstelle neu oder starten Sie sie neu. +Vielleicht möchten Sie [cloud-init Netzwerkänderungen deaktivieren.](https://wiki.hetzner.de/index.php/Cloud_IP_static/en#disable_cloud-init_network_changes) + +## 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](https://mailcow.github.io/mailcow-dockerized-docs/i_u_m_install/). diff --git a/docs/prerequisite-system.en.md b/docs/prerequisite-system.en.md new file mode 100644 index 000000000..56841d51a --- /dev/null +++ b/docs/prerequisite-system.en.md @@ -0,0 +1,172 @@ +Before you run **mailcow: dockerized**, there are a few requirements that you should check: + +!!! warning + Do **not** try to install mailcow on a Synology/QNAP device (any NAS), OpenVZ, LXC or other container platforms. KVM, ESX, Hyper-V and other full virtualization platforms are supported. + +!!! info + - mailcow: dockerized requires [some ports](#default-ports) to be open for incoming connections, so make sure that your firewall is not blocking these. + - Make sure that no other application is interfering with mailcow's configuration, such as another mail service + - A correct DNS setup is crucial to every good mailserver setup, so please make sure you got at least the [basics](../prerequisite-dns#the-minimal-dns-configuration) covered before you begin! + - Make sure that your system has a correct date and [time setup](#date-and-time). This is crucial for various components like two factor TOTP authentication. + +## Minimum System Resources + +**OpenVZ, Virtuozzo and LXC are not supported**. + +Please make sure that your system has at least the following resources: + +| Resource | mailcow: dockerized | +| ----------------------- | ------------------------------------------------ | +| CPU | 1 GHz | +| RAM | **Minimum** 6 GiB + 1 GiB swap (default config) | +| Disk | 20 GiB (without emails) | +| System Type | x86_64 | + +We recommend using any distribution listed as supported by Docker CE (check https://docs.docker.com/install/). We test on CentOS 7, Debian 10/11 and Ubuntu 18.04/20.04. + +ClamAV and Solr can be greedy with RAM. You may disable them in `mailcow.conf` by settings `SKIP_CLAMD=y` and `SKIP_SOLR=y`. + +**Info**: We are aware that a pure MTA can run on 128 MiB RAM. mailcow is a full-grown and ready-to-use groupware with many extras making life easier. mailcow comes with a webserver, webmailer, ActiveSync (MS), antivirus, antispam, indexing (Solr), document scanner (Oletools), SQL (MariaDB), Cache (Redis), MDA, MTA, various web services etc. + +A single SOGo worker **can** acquire ~350 MiB RAM before it gets purged. The more ActiveSync connections you plan to use, the more RAM you will need. A default configuration spawns 20 workers. + +#### Usage examples + +A company with 15 phones (EAS enabled) and about 50 concurrent IMAP connections should plan 16 GiB RAM. + +6 GiB RAM + 1 GiB swap are fine for most private installations while 8 GiB RAM are recommended for ~5 to 10 users. + +We can help to correctly plan your setup as part of our support. + +## Firewall & Ports + +Please check if any of mailcow's standard ports are open and not in use by other applications: + +``` +ss -tlpn | grep -E -w '25|80|110|143|443|465|587|993|995|4190|5222|5269|5443' +# or: +netstat -tulpn | grep -E -w '25|80|110|143|443|465|587|993|995|4190|5222|5269|5443' +``` + +!!! warning + There are several problems with running mailcow on a firewalld/ufw enabled system. You should disable it (if possible) and move your ruleset to the DOCKER-USER chain, which is not cleared by a Docker service restart, instead. See [this (blog.donnex.net)](https://blog.donnex.net/docker-and-iptables-filtering/) or [this (unrouted.io)](https://unrouted.io/2017/08/15/docker-firewall/) guide for information about how to use iptables-persistent with the DOCKER-USER chain. + As mailcow runs dockerized, INPUT rules have no effect on restricting access to mailcow. Use the FORWARD chain instead. + +If this command returns any results please remove or stop the application running on that port. You may also adjust mailcows ports via the `mailcow.conf` configuration file. + +### Default Ports + +If you have a firewall in front of mailcow, please make sure that these ports are open for incoming connections: + +| Service | Protocol | Port | Container | Variable | +| --------------------|:--------:|:-------|:------------------|----------------------------------| +| Postfix SMTP | TCP | 25 | postfix-mailcow | `${SMTP_PORT}` | +| Postfix SMTPS | TCP | 465 | postfix-mailcow | `${SMTPS_PORT}` | +| Postfix Submission | TCP | 587 | postfix-mailcow | `${SUBMISSION_PORT}` | +| Dovecot IMAP | TCP | 143 | dovecot-mailcow | `${IMAP_PORT}` | +| Dovecot IMAPS | TCP | 993 | dovecot-mailcow | `${IMAPS_PORT}` | +| Dovecot POP3 | TCP | 110 | dovecot-mailcow | `${POP_PORT}` | +| Dovecot POP3S | TCP | 995 | dovecot-mailcow | `${POPS_PORT}` | +| Dovecot ManageSieve | TCP | 4190 | dovecot-mailcow | `${SIEVE_PORT}` | +| HTTP(S) | TCP | 80/443 | nginx-mailcow | `${HTTP_PORT}` / `${HTTPS_PORT}` | + +To bind a service to an IP address, you can prepend the IP like this: `SMTP_PORT=1.2.3.4:25` + +**Important**: You cannot use IP:PORT bindings in HTTP_PORT and HTTPS_PORT. Please use `HTTP_PORT=1234` and `HTTP_BIND=1.2.3.4` instead. + +### Important for Hetzner firewalls + +Quoting https://github.com/chermsen via https://github.com/mailcow/mailcow-dockerized/issues/497#issuecomment-469847380 (THANK YOU!): + +For all who are struggling with the Hetzner firewall: + +Port 53 unimportant for the firewall configuration in this case. According to the documentation unbound uses the port range 1024-65535 for outgoing requests. +Since the Hetzner Robot Firewall is a static firewall (each incoming packet is checked isolated) - the following rules must be applied: + +**For TCP** +``` +SRC-IP: --- +DST IP: --- +SRC Port: --- +DST Port: 1024-65535 +Protocol: tcp +TCP flags: ack +Action: Accept +``` + +**For UDP** +``` +SRC-IP: --- +DST IP: --- +SRC Port: --- +DST Port: 1024-65535 +Protocol: udp +Action: Accept +``` + +If you want to apply a more restrictive port range you have to change the config of unbound first (after installation): + +{mailcow-dockerized}/data/conf/unbound/unbound.conf: +``` +outgoing-port-avoid: 0-32767 +``` + +Now the firewall rules can be adjusted as follows: + +``` +[...] +DST Port: 32768-65535 +[...] +``` + +## Date and Time + +To ensure that you have the correct date and time setup on your system, please check the output of `timedatectl status`: + +``` +$ timedatectl status + Local time: Sat 2017-05-06 02:12:33 CEST + Universal time: Sat 2017-05-06 00:12:33 UTC + RTC time: Sat 2017-05-06 00:12:32 + Time zone: Europe/Berlin (CEST, +0200) + NTP enabled: yes +NTP synchronized: yes + RTC in local TZ: no + DST active: yes + Last DST change: DST began at + Sun 2017-03-26 01:59:59 CET + Sun 2017-03-26 03:00:00 CEST + Next DST change: DST ends (the clock jumps one hour backwards) at + Sun 2017-10-29 02:59:59 CEST + Sun 2017-10-29 02:00:00 CET +``` + +The lines `NTP enabled: yes` and `NTP synchronized: yes` indicate whether you have NTP enabled and if it's synchronized. + +To enable NTP you need to run the command `timedatectl set-ntp true`. You also need to edit your `/etc/systemd/timesyncd.conf`: + +``` +# vim /etc/systemd/timesyncd.conf +[Time] +NTP=0.pool.ntp.org 1.pool.ntp.org 2.pool.ntp.org 3.pool.ntp.org +``` + +## Hetzner Cloud (and probably others) + +Check `/etc/network/interfaces.d/50-cloud-init.cfg` and change the IPv6 interface from eth0:0 to eth0: + +``` +# Wrong: +auto eth0:0 +iface eth0:0 inet6 static +# Right: +auto eth0 +iface eth0 inet6 static +``` + +Reboot or restart the interface. +You may want to [disable cloud-init network changes.](https://wiki.hetzner.de/index.php/Cloud_IP_static/en#disable_cloud-init_network_changes) + +## MTU + +Especially relevant for OpenStack users: Check your MTU and set it accordingly in docker-compose.yml. See **4.1** in [our installation docs](https://mailcow.github.io/mailcow-dockerized-docs/i_u_m_install/). diff --git a/gh-deploy.yml b/gh-deploy.yml new file mode 100644 index 000000000..b6dfdc1c3 --- /dev/null +++ b/gh-deploy.yml @@ -0,0 +1,29 @@ +name: gh-deploy + +on: + push: + branches: + - dev + +jobs: + build: + name: MkDocs Github Pages automatic deployment + runs-on: ubuntu-latest + steps: + - name: Checkout main + uses: actions/checkout@v2 + + - name: Set up Python 3.9 + uses: actions/setup-python@v2 + with: + python-version: '3.9' + + - name: Install requirements + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + + - name: MkDocs gh-deploy + run: | + git pull + mkdocs gh-deploy diff --git a/mkdocs.yml b/mkdocs.yml index ce09e68bf..f229420fb 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -18,9 +18,177 @@ plugins: languages: en: English de: Deutsch + nav_translations: + de: + 'Information & Support': 'Informationen & Support' + ### Prerequisites Section + 'Prerequisites': 'Voraussetzungen' + 'Prepare your system': 'Systemvoraussetzungen' + 'DNS setup': 'DNS Einstellungen' + ### Installation Section + 'Installation, Update & Migration': 'Installation, Update und Migration' + ### Post Installation Tasks Section + 'Post Installation Tasks': 'Post-Installationsaufgaben' + 'Advanced SSL': 'Erweitertes SSL' + 'Disable IPv6': 'IPv6 deaktivieren' + 'IP bindings': 'IP-Verbindungen' + 'Local MTA on Docker host': 'Lokaler MTA auf Docker-Host' + 'Sync job migration': 'Migration von Sync-Jobs' + ### Models Section + 'Models': 'Modelle' + 'Password hashing': 'Passwort-Hashing' + 'Sender and receiver model': 'Sender- und Empfängermodell' + 'General Troubleshooting': 'Allgemeine Fehlersuche' + 'Introduction': 'Einführung' + 'Admin login to SOGo': 'Admin-Anmeldung bei SOGo' + 'Advanced: Find memory leaks in Rspamd': 'Fortgeschritten: Memory-Leaks in Rspamd finden' + 'Attach a Container' : 'Einen Container anhängen' + 'Common Problems': 'Häufig auftretende Probleme' + 'Manual MySQL upgrade': 'Manuelles MySQL-Upgrade' + 'Recover crashed Aria storage engine': 'Abgestürzte Aria-Speicher-Engine wiederherstellen' + 'Remove Persistent Data': 'Persistente Daten löschen' + 'Reset Passwords (incl. SQL)': 'Passwörter zurücksetzen (inkl. SQL)' + 'Reset TLS certificates': 'TLS-Zertifikate zurücksetzen' + ### Backup & Restore Section + 'Backup & Restore': 'Sichern & Wiederherstellen' + 'Component backup & restore' : 'Sicherung und Wiederherstellung von Komponenten' + 'Backup': 'Sicherung' + 'Restore': 'Wiederherstellung' + 'Cold-standby (rolling backup)' : 'Cold-standby (rollende Sicherung)' + 'Manual backups' : 'Manuelle Sicherung' + 'Maildir' : 'Mail-Verzeichnis' + 'mailcow-internal backups' : 'Interne mailcow Sicherungen' + 'Recover accidentally deleted data' : 'Versehentlich gelöschte Daten wiederherstellen' + ### Manual/Guides/Examples Section + 'Manual/Guides/Examples': 'Anleitungen/Beispiele' + 'Configuration' : 'Konfiguration' + 'CSS overrides' : 'CSS-Überschreibungen' + 'Tagging' : 'Tagging (Markierungen)' + 'Temporary email aliases' : 'Temporäre E-Mail-Aliase' + 'Two-Factor Authentication' : 'Zwei-Faktoren-Authentifizierung' + markdown_extensions: - attr_list - admonition - toc: permalink: true + +nav: + - 'Information & Support': 'index.md' + - 'Voraussetzungen': + - 'Prepare your system': 'prerequisite-system.md' + - 'DNS setup': 'prerequisite-dns.md' + - 'Installation, Update & Migration': + - 'Installation': 'i_u_m_install.md' + - 'Update': 'i_u_m_update.md' + - 'Migration': 'i_u_m_migration.md' + - 'Deinstallation': 'i_u_m_deinstall.md' + - 'Post Installation Tasks': + - 'Advanced SSL': 'firststeps-ssl.md' + - 'Disable IPv6': 'firststeps-disable_ipv6.md' + - 'DMARC Reporting': 'firststeps-dmarc_reporting.md' + - 'IP bindings': 'firststeps-ip_bindings.md' + - 'Local MTA on Docker host': 'firststeps-local_mta.md' + - 'Logging': 'firststeps-logging.md' + - 'Reverse Proxy': 'firststeps-rp.md' + - 'Rspamd UI': 'firststeps-rspamd_ui.md' + - 'SNAT': 'firststeps-snat.md' + - 'Sync job migration': 'firststeps-sync_jobs_migration.md' + - 'Models': + - 'ACL': 'model-acl.md' + - 'Password hashing': 'model-passwd.md' + - 'Sender and receiver model': 'model-sender_rcv.md' + - 'General Troubleshooting': + - 'Introduction': 'debug.md' + - 'Admin login to SOGo': 'debug-admin_login_sogo.md' + - 'Advanced: Find memory leaks in Rspamd': 'debug-asan_rspamd.md' + - 'Attach a Container': 'debug-attach_service.md' + - 'Common Problems': 'debug-common_problems.md' + - 'Logs': 'debug-logs.md' + - 'Manual MySQL upgrade': 'debug-mysql_upgrade.md' + - 'Recover crashed Aria storage engine': 'debug-mysql_aria.md' + - 'Remove Persistent Data': 'debug-rm_volumes.md' + - 'Reset Passwords (incl. SQL)': 'debug-reset_pw.md' + - 'Reset TLS certificates': 'debug-reset_tls.md' + - 'Backup & Restore': + - 'Component backup & restore': + - 'Backup': 'b_n_r-backup.md' + - 'Restore': 'b_n_r-restore.md' + - 'Cold-standby (rolling backup)': 'b_n_r-coldstandby.md' + - 'Manual backups': + - 'Maildir': 'u_e-backup_restore-maildir.md' + - 'MySQL (mysqldump)': 'u_e-backup_restore-mysql.md' + - 'mailcow-internal backups': + - 'Recover accidentally deleted data': 'b_n_r-accidental_deletion.md' + - 'Manual/Guides/Examples': + - 'mailcow UI': + - 'Blacklist / Whitelist': 'u_e-mailcow_ui-bl_wl.md' + - 'Configuration': 'u_e-mailcow_ui-config.md' + - 'CSS overrides': 'u_e-mailcow_ui-css.md' + - 'Pushover': 'u_e-mailcow_ui-pushover.md' + - 'Spamfilter': 'u_e-mailcow_ui-spamfilter.md' + - 'Tagging': 'u_e-mailcow_ui-tagging.md' + - 'Temporary email aliases': 'u_e-mailcow_ui-spamalias.md' + - 'Two-Factor Authentication': 'u_e-mailcow_ui-tfa.md' + - 'WebAuthn / FIDO2': 'u_e-fido2.md' + - 'Postfix': + - 'Add trusted networks': 'u_e-postfix-trust_networks.md' + - 'Custom transport maps': 'u_e-postfix-custom_transport.md' + - 'Customize/Expand main.cf': 'u_e-postfix-extra_cf.md' + - 'Disable Sender Addresses Verification': 'u_e-postfix-disable_sender_verification.md' + - 'Max. message size (attachment size)': 'u_e-postfix-attachment_size.md' + - 'Relayhosts': 'u_e-postfix-relayhost.md' + - 'Statistics with pflogsumm': 'u_e-postfix-pflogsumm.md' + - 'Whitelist IP in Postscreen': 'u_e-postfix-postscreen_whitelist.md' + - 'Unbound': + - 'Using an external DNS service': 'u_e-unbound-fwd.md' + - 'Dovecot': + - 'Customize/Expand dovecot.conf': 'u_e-dovecot-extra_conf.md' + - 'Enable "any" ACL settings': 'u_e-dovecot-any_acl.md' + - 'Expunge a Users mails': 'u_e-dovecot-expunge.md' + - 'FTS (Solr)': 'u_e-dovecot-fts.md' + - 'IMAP IDLE interval': 'u_e-dovecot-idle_interval.md' + - 'Mail crypt': 'u_e-dovecot-mail-crypt.md' + - 'More Examples with DOVEADM': 'u_e-dovecot-more.md' + - 'Move Maildir (vmail)': 'u_e-dovecot-vmail-volume.md' + - 'Public folders': 'u_e-dovecot-public_folder.md' + - 'Static master user': 'u_e-dovecot-static_master.md' + - 'Vacation replies for catchall addresses': 'u_e-dovecot-catchall_vacation.md' + - 'Nginx': + - 'Create subdomain webmail.example.org': 'u_e-webmail-site.md' + - 'Custom sites': 'u_e-nginx.md' + - 'Watchdog': + - 'Thresholds': 'u_e-watchdog-thresholds.md' + - 'Redis': 'u_e-redis.md' + - 'Rspamd': 'u_e-rspamd.md' + - 'SOGo': 'u_e-sogo.md' + - 'Docker': + - 'Customize Dockerfiles': 'u_e-docker-cust_dockerfiles.md' + - 'Docker Compose Bash Completion': 'u_e-docker-dc_bash_compl.md' + - 'Why unbound?': 'u_e-why_unbound.md' + - 'Autodiscover / Autoconfig': 'u_e-autodiscover_config.md' + - 'Redirect HTTP to HTTPS': 'u_e-80_to_443.md' + - 'Re-enable TLS 1.0 and TLS 1.1': 'u_e-reeanble-weak-protocols.md' + - "Run scripts before and after updates": "u_e-update-hooks.md" + - 'Client Configuration': + - 'Overview': 'client.md' + - 'Android': 'client/client-android.md' + - 'Apple macOS / iOS': 'client/client-apple.md' + - 'eM Client': 'client/client-emclient.md' + - 'KDE Kontact': 'client/client-kontact.md' + - 'Microsoft Outlook': 'client/client-outlook.md' + - 'Mozilla Thunderbird': 'client/client-thunderbird.md' + - 'Windows Mail': 'client/client-windows.md' + - 'Windows Phone': 'client/client-windowsphone.md' + - 'Manual configuration': 'client/client-manual.md' + - 'Third party apps': + - 'Borgmatic Backup': 'third_party-borgmatic.md' + - 'Exchange Hybrid Setup': 'third_party-exchange_onprem.md' + - 'Gitea': 'third_party-gitea.md' + - 'Gogs': 'third_party-gogs.md' + - 'Mailman 3': 'third_party-mailman3.md' + - 'Mailpiler Integration': 'third_party-mailpiler_integration.md' + - 'Nextcloud': 'third_party-nextcloud.md' + - 'Portainer': 'third_party-portainer.md' + - 'Roundcube': 'third_party-roundcube.md' diff --git a/site/404.html b/site/404.html deleted file mode 100644 index 6a2a4d2a1..000000000 --- a/site/404.html +++ /dev/null @@ -1,282 +0,0 @@ - - - -
- - - - - - - - - - - -\n {translation(\"search.result.term.missing\")}: {...missing}\n
\n }\n