Added Troubleshooting Section + German Translation

Dieser Commit ist enthalten in:
DerLinkman 2022-01-30 15:28:48 +01:00
Ursprung 029afd6755
Commit 921ecf3073
30 geänderte Dateien mit 814 neuen und 18 gelöschten Zeilen

Binäre Datei nicht angezeigt.

Nachher

Breite:  |  Höhe:  |  Größe: 12 KiB

Binäre Datei nicht angezeigt.

Nachher

Breite:  |  Höhe:  |  Größe: 40 KiB

Binäre Datei nicht angezeigt.

Nachher

Breite:  |  Höhe:  |  Größe: 32 KiB

Binäre Datei nicht angezeigt.

Nachher

Breite:  |  Höhe:  |  Größe: 24 KiB

Binäre Datei nicht angezeigt.

Nachher

Breite:  |  Höhe:  |  Größe: 6,6 KiB

Datei anzeigen

@ -2,9 +2,9 @@
## Hilf dem mailcow Projekt
Bitte erwägen Sie einen Supportvertrag gegen eine geringe monatliche Gebühr unter [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. :)
Bitte erwägen Sie einen Supportvertrag gegen eine geringe monatliche Gebühr unter [Servercow](https://www.servercow.de/mailcow?#support), um die weitere Entwicklung zu unterstützen. _Wir_ unterstützen _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 DE](https://www.servercow.de/mailcow#sal).
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](https://www.servercow.de/mailcow#sal).
## Support erhalten
@ -12,7 +12,7 @@ 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 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).
Für professionellen und priorisierten kommerziellen Support können Sie ein Basis-Support-Abonnement unter [Servercow](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.
@ -26,6 +26,8 @@ Die andere Alternative ist unser kostenloser Community-Support auf unseren versc
- Telegram @ [t.me/mailcowOfftopic](https://t.me/mailcowOfftopic).
- Twitter [@mailcow_email](https://twitter.com/mailcow_email)
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**:

Datei anzeigen

@ -2,9 +2,9 @@
## Help mailcow
Please consider a support contract for a small monthly fee at [Servercow EN](https://www.servercow.de/mailcow?lang=en#support)/[Servercow DE](https://www.servercow.de/mailcow?#support) to support further development. _We_ support _you_ while _you_ support _us_. :)
Please consider a support contract for a small monthly fee at [Servercow EN](https://www.servercow.de/mailcow?lang=en#support) to support further development. _We_ support _you_ while _you_ support _us_. :)
If you are super awesome and would like to support without a contract, you can get a SAL license that confirms your awesomeness (a flexible one-time payment) at [Servercow EN](https://www.servercow.de/mailcow?lang=en#sal)/[Servercow DE](https://www.servercow.de/mailcow#sal).
If you are super awesome and would like to support without a contract, you can get a SAL license that confirms your awesomeness (a flexible one-time payment) at [Servercow EN](https://www.servercow.de/mailcow?lang=en#sal).
## Get support
@ -12,7 +12,7 @@ There are two ways to achieve support for your mailcow installation.
### Commercial support
For professional and prioritized commercial support you can sign a basic support subscription at [Servercow EN](https://www.servercow.de/mailcow?lang=en#support)/[Servercow DE](https://www.servercow.de/mailcow#support). For custom inquiries or questions please contact us at [info@servercow.de](mailto:info@servercow.de) instead.
For professional and prioritized commercial support you can sign a basic support subscription at [Servercow EN](https://www.servercow.de/mailcow?lang=en#support). For custom inquiries or questions please contact us at [info@servercow.de](mailto:info@servercow.de) instead.
Furthermore we do also provide a fully featured and managed mailcow [here](https://www.servercow.de/mailcow#managed). This way we take care about the technical magic underneath and you can enjoy your whole mail experience in a hassle-free way.
@ -26,6 +26,8 @@ The other alternative is our free community-support on our various channels belo
- Telegram @ [t.me/mailcowOfftopic](https://t.me/mailcowOfftopic).
- Twitter [@mailcow_email](https://twitter.com/mailcow_email)
Telegram desktop clients are available for [multiple platforms](https://desktop.telegram.org). You can search the groups history for keywords.
For **bug tracking, feature requests and code contributions** only:

Datei anzeigen

@ -0,0 +1,42 @@
Dies ist eine experimentelle Funktion, die es Admins und Domänenadmins erlaubt, sich direkt als Mailbox-Benutzer direkt bei SOGo anzumelden, ohne das Passwort des Benutzers zu kennen.
Dazu wird ein zusätzlicher Link zu SOGo in der Mailbox-Liste (mailcow UI) angezeigt.
Auch mehrere gleichzeitige Admin-Logins auf verschiedene Postfächer sind mit dieser Funktion möglich.
## Aktivieren der Funktion
Die Funktion ist standardmäßig deaktiviert. Es kann in der `mailcow.conf` durch Setzen aktiviert werden:
```
ALLOW_ADMIN_EMAIL_LOGIN=y
```
und die betroffenen Container neu erstellen mit
```
docker-compose up -d
```
## Nachteile bei Aktivierung
- Jeder SOGo-Seiten-Load und jede Active-Sync-Anfrage verursacht eine zusätzliche Ausführung eines internen PHP-Skripts.
Dies kann die Ladezeiten von SOGo / EAS beeinträchtigen.
In den meisten Fällen sollte dies nicht spürbar sein, aber Sie sollten es im Hinterkopf behalten, wenn Sie Performance-Probleme haben.
- SOGo zeigt keinen Logout-Link für Admin-Logins an, um sich normal anzumelden, muss man sich von der mailcow UI abmelden, so dass die PHP-Sitzung zerstört wird.
- Das Abonnieren des Kalenders oder Adressbuchs eines anderen Nutzers, während man als Admin eingeloggt ist, funktioniert nicht. Ebenso wenig funktioniert das Einladen anderer Nutzer zu Kalender-Events. Die Seite wird neu geladen, wenn diese Dinge versucht werden.
## Technische Details
Die Option SOGoTrustProxyAuthentication ist auf YES gesetzt, so dass SOGo dem x-webobjects-remote-user-Header vertraut.
Dovecot erhält ein zufälliges Master-Passwort, das für alle Mailboxen gültig ist, wenn es vom SOGo-Container verwendet wird.
Ein Klick auf den SOGo-Button in der Mailbox-Liste öffnet die Datei sogo-auth.php, die Berechtigungen prüft, Session-Variablen setzt und auf die SOGo-Mailbox umleitet.
Jede SOGo, CardDAV, CalDAV und EAS http-Anfrage verursacht einen zusätzlichen, nginx-internen auth_request-Aufruf an sogo-auth.php mit folgendem Verhalten:
- Wenn ein basic_auth-Header vorhanden ist, wird das Skript die Anmeldedaten anstelle von SOGo validieren und die folgenden Header bereitstellen:
`x-webobjects-remote-user`, `Authorization` und `x-webobjects-auth-type`.
- Wenn kein basic_auth-Header vorhanden ist, wird das Skript nach einer aktiven Mailcow-Admin-Sitzung fĂĽr den angeforderten E-Mail-Benutzer suchen und die gleichen Header bereitstellen, aber mit dem Dovecot-Master-Passwort, das im `Authorization`-Header verwendet wird.
- Wenn beides fehlschlägt, werden die Header leer gesetzt, was SOGo dazu bringt, seine Standard-Authentifizierungsmethoden zu verwenden.
Alle diese Optionen/Verhaltensweisen sind deaktiviert, wenn die Option `ALLOW_ADMIN_EMAIL_LOGIN` in der Konfiguration nicht aktiviert ist.

Datei anzeigen

@ -0,0 +1,44 @@
This is an experimental feature that allows admins and domain admins to directly
log into SOGo as a mailbox user, without knowing the users password.
For this, an additional link to SOGo is displayed in the mailbox list (mailcow UI).
Multiple concurrent admin-logins to different mailboxes are also possible when using this feature.
## Enabling the feature
The feature is disabled by default. It can be enabled in the `mailcow.conf` by setting:
```
ALLOW_ADMIN_EMAIL_LOGIN=y
```
and recreating the affected containers with
```
docker-compose up -d
```
## Drawbacks when enabled
- Each SOGo page-load and each Active-Sync request will cause an additional execution of an internal PHP script.
This might impact load-times of SOGo / EAS.
In most cases, this should not be noticeable but should be kept in mind if you face any performance issues.
- SOGo will not display a logout link for admin-logins, to login normally one has to logout from the mailcow UI so the PHP session is destroyed.
- Subscribing to another user's calendar or address book while logged in as admin does not work. Neither does inviting other users to calendar events. The page will reload when these things are attempted.
## Technical details
SOGoTrustProxyAuthentication option is set to YES which makes SOGo trust the x-webobjects-remote-user header.
Dovecot will receive a random master-password which is valid for all mailboxes when used by the SOGo container.
Clicking on the SOGo button in the mailbox list will open sogo-auth.php which checks permissions, sets session variables and redirects to the SOGo mailbox.
Each SOGo, CardDAV, CalDAV and EAS http request will cause an additional, nginx internal auth_request call to sogo-auth.php with the following behavior:
- If a basic_auth header is present, the script will validate the credentials in place of SOGo and provide the following headers:
`x-webobjects-remote-user`, `Authorization` and `x-webobjects-auth-type`.
- If no basic_auth header is present, the script will check for an active mailcow admin session for the requested email user and provide the same headers but with the dovecot master password used in the `Authorization` header.
- If both fails the headers will be set empty, which makes SOGo use its standard authentication methods.
All of these options / behaviors are disabled if the `ALLOW_ADMIN_EMAIL_LOGIN` is not enabled in the config.

Datei anzeigen

@ -0,0 +1,47 @@
## Anhängen eines Containers an Ihre Shell
Um einen Container an Ihre Shell anzuhängen, können Sie einfach folgendes ausführen
```
docker-compose exec $Dienst_Name /bin/bash
```
### Verbindung zu Diensten herstellen
Wenn Sie sich direkt mit einem Dienst / einer Anwendung verbinden wollen, ist es immer eine gute Idee, `source mailcow.conf` zu benutzen, um alle relevanten Variablen in Ihre Umgebung zu bekommen.
#### MySQL
```
Quelle mailcow.conf
docker-compose exec mysql-mailcow mysql -u${DBUSER} -p${DBPASS} ${DBNAME}
```
#### Redis
```
docker-compose exec redis-mailcow redis-cli
```
## Dienstbeschreibungen
Hier ist eine kurze Ăśbersicht, welcher Container / Dienst was macht:
| Dienstname | Dienstbeschreibungen |
| ----------------- | ------------------------------------------------------------------------- |
| unbound-mailcow | Lokaler (DNSSEC) DNS-Auflöser |
| mysql-mailcow | Speichert die SOGo's und die meisten Einstellungen von mailcow |
| postfix-mailcow | Empfängt und sendet Mails |
| dovecot-mailcow | Benutzer-Logins und Siebfilter |
| redis-mailcow | Speicher-Backend fĂĽr DKIM-SchlĂĽssel und Rspamd |
| rspamd-mailcow | Mail-Filter-System. Verwendet fĂĽr Av-Behandlung, DKIM-Signierung, Spam-Behandlung |
| clamd-mailcow | Scannt Anhänge auf Viren |
| olefy-mailcow | Scannt angehängte Office-Dokumente auf Makro-Viren |
| solr-mailcow | Bietet Volltextsuche in Dovecot |
| sogo-mailcow | Webmail-Client, der Microsoft ActiveSync und Cal- / CardDav verarbeitet |
| nginx-mailcow | Nginx Remote-Proxy, der alle mailcow-bezogenen HTTP / HTTPS-Anfragen bearbeitet |
| acme-mailcow | Automatisiert den Einsatz von HTTPS (SSL/TLS) Zertifikaten |
| memcached-mailcow | Internes Caching-System fĂĽr mailcow-Dienste |
| watchdog-mailcow | Ermöglicht die Überwachung von Docker-Containern / Diensten |
| php-fpm-mailcow | Betreibt die mailcow Web UI |
| netfilter-mailcow | Fail2Ban ähnliche Integration |

Datei anzeigen

@ -0,0 +1,47 @@
## Attaching a Container to your Shell
To attach a container to your shell you can simply run
```
docker-compose exec $Service_Name /bin/bash
```
### Connecting to Services
If you want to connect to a service / application directly it is always a good idea to `source mailcow.conf` to get all relevant variables into your environment.
#### MySQL
```
source mailcow.conf
docker-compose exec mysql-mailcow mysql -u${DBUSER} -p${DBPASS} ${DBNAME}
```
#### Redis
```
docker-compose exec redis-mailcow redis-cli
```
## Service Descriptions
Here is a brief overview of what container / service does what:
| Service Name | Service Descriptions |
| ----------------- | ------------------------------------------------------------------------- |
| unbound-mailcow | Local (DNSSEC) DNS Resolver |
| mysql-mailcow | Stores SOGo's and most of mailcow's settings |
| postfix-mailcow | Receives and sends mails |
| dovecot-mailcow | User logins and sieve filter |
| redis-mailcow | Storage back-end for DKIM keys and Rspamd |
| rspamd-mailcow | Mail filtering system. Used for av handling, dkim signing, spam handling |
| clamd-mailcow | Scans attachments for viruses |
| olefy-mailcow | Scans attached office documents for macro-viruses |
| solr-mailcow | Provides full-text search in Dovecot |
| sogo-mailcow | Webmail client that handles Microsoft ActiveSync and Cal- / CardDav |
| nginx-mailcow | Nginx remote proxy that handles all mailcow related HTTP / HTTPS requests |
| acme-mailcow | Automates HTTPS (SSL/TLS) certificate deployment |
| memcached-mailcow | Internal caching system for mailcow services |
| watchdog-mailcow | Allows the monitoring of docker containers / services |
| php-fpm-mailcow | Powers the mailcow web UI |
| netfilter-mailcow | Fail2Ban like integration |

Datei anzeigen

@ -0,0 +1,92 @@
Hier sind häufige Probleme und mögliche Lösungen:
## Mail kommt in einer Schleife zu sich selbst zurĂĽck.
Bitte ĂĽberprĂĽfen Sie in Ihrer mailcow UI, ob Sie die Domain als **Backup MX** eingestellt haben:
![ĂśberprĂĽfen Sie Ihre MX-Backup-Einstellungen](assets/images/troubleshooting/mailcow-backupmx.png)
## Ich kann Mails empfangen, aber nicht senden
Es gibt viele Gründe, die Sie daran hindern können, Mails zu versenden:
- Prüfen Sie, ob Ihre IP-Adresse auf einer schwarzen Liste steht. Sie können [dnsbl.info](http://www.dnsbl.info/) oder einen ähnlichen Dienst verwenden, um Ihre IP-Adresse zu überprüfen.
- Es gibt einige ISP-Router, die Mail-Ports für nicht auf der Blacklist stehende Domains blockieren. Bitte überprüfen Sie, ob Sie Ihren Server über die Ports `465` oder `587` erreichen können:
```
# telnet 74.125.133.27 465
Versucht 74.125.133.27...
Verbunden mit 74.125.133.27.
Escape-Zeichen ist '^]'.
```
## Meine Mails werden als Spam identifiziert
Bitte lesen Sie unsere [DNS-Konfiguration](prerequisites/prerequisite-dns.de.md) Anleitung.
## 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.
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
Dieser Fehler versucht Ihnen mitzuteilen, dass eine der (Gesundheits-)Bedingungen für einen bestimmten Container nicht erfüllt ist. Daher kann er nicht gestartet werden. Dies kann verschiedene Gründe haben, der häufigste ist ein aktualisierter Git-Klon, aber ein altes Docker-Image oder umgekehrt.
Auch eine falsch konfigurierte Firewall kann einen solchen Fehler verursachen. Die Container mĂĽssen in der Lage sein, ĂĽber das Netzwerk 172.22.1.1/24 miteinander zu kommunizieren.
Es könnte auch eine falsch verknüpfte Datei sein (z. B. ein SSL-Zertifikat), die den Start eines wichtigen Containers (nginx) verhindert. Prüfen Sie daher immer Ihre Protokolle, um herauszufinden, woher das Problem kommt.
## Adresse bereits in Gebrauch
Wenn Sie eine Fehlermeldung erhalten wie:
```
ERROR: for postfix-mailcow Cannot start service postfix-mailcow: driver failed programming external connectivity on endpoint mailcowdockerized_postfix-mailcow_1: Error starting userland proxy: listen tcp 0.0.0:25: bind: address already in use
```
während Sie versuchen, mailcow: dockerized zu starten / zu installieren, stellen Sie sicher, dass Sie unseren Abschnitt über [prerequisites](prerequisites/prerequisite-system.de.md/#firewall-ports) befolgt haben.
## XYZ kann keine Verbindung zu ...
Bitte ĂĽberprĂĽfen Sie Ihre lokale Firewall!
Docker und iptables-basierte Firewalls erstellen manchmal widersprĂĽchliche Regeln. Deaktivieren Sie daher die Firewall auf Ihrem Host, um festzustellen, ob Ihre Verbindungsprobleme durch solche Konflikte verursacht werden. Wenn dies der Fall ist, mĂĽssen Sie manuell entsprechende Regeln in Ihrer Host-Firewall erstellen, um die erforderlichen Verbindungen zuzulassen.
Wenn Sie Verbindungsprobleme von zu Hause aus haben, überprüfen Sie bitte auch die Firewall Ihres ISP-Routers, da einige von ihnen den E-Mail-Verkehr über die Ports *SMTP* (587) oder *SMTPS* (465) blockieren. Es könnte auch sein, dass Ihr ISP die Ports für *SUBMISSION* (25) blockiert.
Während Linux-Benutzer aus einer Vielzahl von Tools[^1] wählen können, um zu überprüfen, ob ein Port offen ist, steht Windows-Benutzern standardmäßig nur der PowerShell-Befehl `Test-NetConnection -ComputerName host -Port port` zur Verfügung.
Um Telnet auf einem Windows nach Vista zu aktivieren, lesen Sie bitte diese [Anleitung](https://social.technet.microsoft.com/wiki/contents/articles/910.windows-7-enabling-telnet-client.aspx) oder geben Sie den folgenden Befehl in einem Terminal **mit Administratorrechten** ein:
```
dism /online /Enable-Feature /FeatureName:TelnetClient
```
## Inotify-Instanz-Limit ĂĽberschritten fĂĽr Benutzer 5000 (UID vmail) ([siehe #453](https://github.com/mailcow/mailcow-dockerized/issues/453#issuecomment-314711232)).
Docker-Container verwenden die inotify-Limits von Docker-Hosts. Wenn Sie sie auf Ihrem Docker-Host setzen, werden sie an den Container weitergegeben.
## Dovecot startet ständig neu (siehe [#2672](https://github.com/mailcow/mailcow-dockerized/issues/2672)).
Stellen Sie sicher, dass Sie mindestens die folgenden Dateien in `data/assets/ssl` haben:
```
cert.pem
dhparams.pem
key.pem
```
Wenn `dhparams.pem` fehlt, können Sie es mit Bash
```bash
openssl dhparam -out data/assets/ssl/dhparams.pem 4096
```
[^1]: [netcat](https://linux.die.net/man/1/nc), [nmap](https://linux.die.net/man/1/nmap), [openssl](https://wiki.openssl.org/index.php/Manual:S_client(1)), [telnet](https://linux

Datei anzeigen

@ -0,0 +1,92 @@
Here we list common problems and possible solutions:
## Mail loops back to myself
Please check in your mailcow UI if you made the domain a **backup MX**:
![Check your MX Backup settings](assets/images/troubleshooting/mailcow-backupmx.png)
## I can receive but not send mails
There are a lot of things that could prevent you from sending mail:
- Check if your IP address is on any blacklists. You could use [dnsbl.info](http://www.dnsbl.info/) or any other similar service to check for your IP address.
- There are some consumer ISP routers out there, that block mail ports for non whitelisted domains. Please check if you can reach your server on the ports `465` or `587`:
```
# telnet 74.125.133.27 465
Trying 74.125.133.27...
Connected to 74.125.133.27.
Escape character is '^]'.
```
## My mails are identified as Spam
Please read our guide on [DNS configuration](prerequisites/prerequisite-dns.en.md).
## 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`.
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
This error tries to tell you that one of the (health) conditions for a certain container are not met. Therefore it can't be started. This can have several reasons, the most common one is an updated git clone but old docker image or vice versa.
A wrong configured firewall could also cause such a failure. The containers need to be able to talk to each other over the network 172.22.1.1/24.
It might also be wrongly linked file (i.e. SSL certificate) that prevents a crucial container (nginx) from starting, so always check your logs to get an idea where your problem is coming from.
## Address already in use
If you get an error message like:
```
ERROR: for postfix-mailcow Cannot start service postfix-mailcow: driver failed programming external connectivity on endpoint mailcowdockerized_postfix-mailcow_1: Error starting userland proxy: listen tcp 0.0.0.0:25: bind: address already in use
```
while trying to start / install mailcow: dockerized, make sure you've followed our section on the [prerequisites](prerequisites/prerequisite-system.en.md/#firewall-ports).
## XYZ can't connect to ...
Please check your local firewall!
Docker and iptables-based firewalls sometimes create conflicting rules, so disable the firewall on your host to determine whether your connection issues are caused by such conflicts. If they are, you need to manually create appropriate rules in your host firewall to permit the necessary connections.
If you experience connection problems from home, please check your ISP router's firewall too, some of them block mail traffic on the *SMTP* (587) or *SMTPS* (465) ports. It could also be, that your ISP is blocking the ports for *SUBMISSION* (25).
While Linux users can chose from a variety of tools[^1] to check if a port is open, the Windows user has only the PowerShell command `Test-NetConnection -ComputerName host -Port port` available by default.
To enable telnet on a Windows after Vista please check this [guide](https://social.technet.microsoft.com/wiki/contents/articles/910.windows-7-enabling-telnet-client.aspx) or enter the following command in an terminal **with administrator privileges**:
```
dism /online /Enable-Feature /FeatureName:TelnetClient
```
## Inotify instance limit for user 5000 (UID vmail) exceeded ([see #453](https://github.com/mailcow/mailcow-dockerized/issues/453#issuecomment-314711232))
Docker containers use the Docker hosts inotify limits. Setting them on your Docker host will pass them to the container.
## Dovecot keeps restarting (see [#2672](https://github.com/mailcow/mailcow-dockerized/issues/2672))
Check that you have at least the following files in `data/assets/ssl`:
```
cert.pem
dhparams.pem
key.pem
```
If `dhparams.pem` is missing, you can generate it with
```bash
openssl dhparam -out data/assets/ssl/dhparams.pem 4096
```
[^1]: [netcat](https://linux.die.net/man/1/nc), [nmap](https://linux.die.net/man/1/nmap), [openssl](https://wiki.openssl.org/index.php/Manual:S_client(1)), [telnet](https://linux.die.net/man/1/telnet), etc.

Datei anzeigen

@ -0,0 +1,14 @@
!!! 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 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:
- **-no-color**: Erzeugt eine einfarbige Ausgabe.
- **-f**: Der Log-Ausgabe folgen.
- **-t**: Zeitstempel anzeigen.
- **--tail="all "**: Anzahl der Zeilen, die ab dem Ende der Protokolle fĂĽr jeden Container angezeigt werden sollen.

Datei anzeigen

@ -0,0 +1,14 @@
!!! 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 a specific service you can use `docker-compose logs [options] $service_name`
!!! info
The available options for the command **docker-compose logs** are:
- **--no-color**: Produce monochrome output.
- **-f**: Follow the log output.
- **-t**: Show timestamps.
- **--tail="all"**: Number of lines to show from the end of the logs for each container.

Datei anzeigen

@ -0,0 +1,22 @@
## MariaDB: Aria-Wiederherstellung nach Absturz
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.
FĂĽhren Sie nun die folgenden Befehle aus:
```
# Stoppe den Stack, fĂĽhre nicht "down" aus
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
# cd in das SQL-Datenverzeichnis
cd /var/lib/mysql
# aria_chk ausfĂĽhren
aria_chk --check --force */*.MAI
# Löschen der aria-Logdateien
rm aria_log.*
```
FĂĽhren Sie nun `docker-compose down` gefolgt von `docker-compose up -d` aus.

Datei anzeigen

@ -0,0 +1,22 @@
## MariaDB: Aria recovery after crash
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`.
Now run the following commands:
```
# Stop the stack, don't run "down"
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
# cd to the SQL data directory
cd /var/lib/mysql
# Run aria_chk
aria_chk --check --force */*.MAI
# Delete aria log files
rm aria_log.*
```
Now run `docker-compose down` followed by `docker-compose up -d`.

Datei anzeigen

@ -0,0 +1,15 @@
## FĂĽhren Sie ein manuelles mysql_upgrade durch.
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
```
Sobald die SQL-Shell gestartet wurde, fĂĽhren Sie `mysql_upgrade` aus und verlassen den Container:
```
mysql_upgrade
exit
```

Datei anzeigen

@ -0,0 +1,15 @@
## Run a manual mysql_upgrade
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
```
As soon as the SQL shell spawned, run `mysql_upgrade` and exit the container:
```
mysql_upgrade
exit
```

Datei anzeigen

@ -0,0 +1,93 @@
## mailcow Admin-Konto
Setzt den mailcow Admin Account auf ein zufälliges Passwort zurück. Ältere mailcow: dockerisierte Installationen können das `mailcow-reset-admin.sh` Skript in ihrem mailcow Stammverzeichnis (mailcow_path) finden.
```
cd mailcow_pfad
./helper-scripts/mailcow-reset-admin.sh
```
## MySQL-Passwörter zurücksetzen
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
```
### 1\. Datenbank-Name finden
```
# source mailcow.conf
# docker-compose exec mysql-mailcow mysql -u${DBUSER} -p${DBPASS} ${DBNAME}
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mailcow_database | <=====
| mysql |
| performance_schema |
+--------------------+
4 rows in set (0.00 sec)
```
### 2\. Einen oder mehrere Benutzer zurĂĽcksetzen
#### 2\.1 Maria DB < 10.4 (ältere mailcow-Installationen)
Sowohl "password" als auch "authentication_string" existieren. Derzeit wird "password" verwendet, aber besser ist es, beide zu setzen.
```
MariaDB [(none)]> SELECT user FROM mysql.user;
+--------------+
| user |
+--------------+
| mailcow | <=====
| root |
+--------------+
2 rows in set (0.00 sec)
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> UPDATE mysql.user SET authentication_string = PASSWORD('gotr00t'), password = PASSWORD('gotr00t') WHERE User = 'root';
MariaDB [(none)]> UPDATE mysql.user SET authentication_string = PASSWORD('mookuh'), password = PASSWORD('mookuh') WHERE User = 'mailcow' AND Host = '%';
MariaDB [(none)]> FLUSH PRIVILEGES;
```
#### 2\.2 Maria DB >= 10.4 (aktuelle mailcows)
```
MariaDB [(none)]> SELECT user FROM mysql.user;
+--------------+
| user |
+--------------+
| mailcow | <=====
| root |
+--------------+
2 rows in set (0.00 sec)
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> ALTER USER 'mailcow'@'%' IDENTIFIED BY 'mookuh';
MariaDB [(none)]> ALTER USER 'root'@'%' IDENTIFIED BY 'gotr00t'; MariaDB [(none)]> ALTER USER 'root'@'%' IDENTIFIED BY 'gotr00t';
MariaDB [(none)]> ALTER USER 'root'@'localhost' IDENTIFIED BY 'gotr00t'; MariaDB [(none)]> ALTER USER 'root'@'localhost' IDENTIFIED BY 'gotr00t';
MariaDB [(none)]> FLUSH PRIVILEGES;
```
## Zwei-Faktor-Authentifizierung entfernen
### FĂĽr mailcow WebUI:
Dies funktioniert ähnlich wie das Zurücksetzen eines MySQL-Passworts, jetzt machen wir es vom Host aus, ohne uns mit dem MySQL CLI zu verbinden:
```
Quelle mailcow.conf
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}'
```

Datei anzeigen

@ -0,0 +1,93 @@
## mailcow Admin Account
Resets the mailcow admin account to a random password. Older mailcow: dockerized installations may find the `mailcow-reset-admin.sh` script in their mailcow root directory (mailcow_path).
```
cd mailcow_path
./helper-scripts/mailcow-reset-admin.sh
```
## Reset MySQL Passwords
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
```
### 1\. Find database name
```
# source mailcow.conf
# docker-compose exec mysql-mailcow mysql -u${DBUSER} -p${DBPASS} ${DBNAME}
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mailcow_database | <=====
| mysql |
| performance_schema |
+--------------------+
4 rows in set (0.00 sec)
```
### 2\. Reset one or more users
#### 2\.1 Maria DB < 10.4 (older mailcow installations)
Both "password" and "authentication_string" exist. Currently "password" is used, but better set both.
```
MariaDB [(none)]> SELECT user FROM mysql.user;
+--------------+
| user |
+--------------+
| mailcow | <=====
| root |
+--------------+
2 rows in set (0.00 sec)
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> UPDATE mysql.user SET authentication_string = PASSWORD('gotr00t'), password = PASSWORD('gotr00t') WHERE User = 'root';
MariaDB [(none)]> UPDATE mysql.user SET authentication_string = PASSWORD('mookuh'), password = PASSWORD('mookuh') WHERE User = 'mailcow' AND Host = '%';
MariaDB [(none)]> FLUSH PRIVILEGES;
```
#### 2\.2 Maria DB >= 10.4 (current mailcows)
```
MariaDB [(none)]> SELECT user FROM mysql.user;
+--------------+
| user |
+--------------+
| mailcow | <=====
| root |
+--------------+
2 rows in set (0.00 sec)
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> ALTER USER 'mailcow'@'%' IDENTIFIED BY 'mookuh';
MariaDB [(none)]> ALTER USER 'root'@'%' IDENTIFIED BY 'gotr00t';
MariaDB [(none)]> ALTER USER 'root'@'localhost' IDENTIFIED BY 'gotr00t';
MariaDB [(none)]> FLUSH PRIVILEGES;
```
## Remove Two-Factor Authentication
### For mailcow WebUI:
This works similar to resetting a MySQL password, now we do it from the host without connecting to the MySQL CLI:
```
source mailcow.conf
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}'
```

Datei anzeigen

@ -0,0 +1,17 @@
Sollten Sie Probleme mit Ihrem Zertifikat, SchlĂĽssel oder Let's Encrypt-Konto haben, versuchen Sie bitte, die TLS-Assets zurĂĽckzusetzen:
```
source mailcow.conf
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
```
Dies wird mailcow stoppen, die benötigten Variablen beschaffen, ein selbstsigniertes Zertifikat erstellen und mailcow starten.
Wenn Sie Let's Encrypt verwenden, sollten Sie vorsichtig sein, da Sie ein neues Konto und einen neuen Satz von Zertifikaten erstellen werden. Sie werden früher oder später auf ein Ratelimit stoßen.
Bitte beachten Sie auch, dass frühere TLSA-Datensätze ungültig werden.

Datei anzeigen

@ -0,0 +1,17 @@
In case you encounter problems with your certificate, key or Let's Encrypt account, please try to reset the TLS assets:
```
source mailcow.conf
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
```
This will stop mailcow, source the variables we need, create a self-signed certificate and start mailcow.
If you use Let's Encrypt you should be careful as you will create a new account and a new set of certificates. You will run into a ratelimit sooner or later.
Please also note that previous TLSA records will be invalid.

Datei anzeigen

@ -0,0 +1,17 @@
Es kann sein, dass Sie einen Satz persistenter Daten entfernen wollen, um einen Konflikt zu lösen oder um neu zu beginnen.
`mailcowdockerized` kann variieren und hängt von Ihrem Compose-Projektnamen ab (wenn er unverändert ist, ist `mailcowdockerized` der richtige Wert). Wenn Sie sich unsicher sind, führen Sie `docker volume ls` aus, um eine vollständige Liste zu erhalten.
Löschen Sie ein einzelnes Volume:
```
docker volume rm mailcowdockerized_${VOLUME_NAME}
```
- Entfernen Sie Volume `mysql-vol-1`, um alle MySQL-Daten zu entfernen.
- Entfernen Sie Volume `redis-vol-1` um alle Redis Daten zu entfernen.
- Volume `vmail-vol-1` entfernen, um alle Inhalte von `/var/vmail` zu entfernen, die in `dovecot-mailcow` eingebunden sind.
- 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.

Datei anzeigen

@ -0,0 +1,17 @@
You may want to remove a set of persistent data to resolve a conflict or to start over.
`mailcowdockerized` can vary and depends on your compose project name (if it's unchanged, `mailcowdockerized` is the correct value). If you are unsure about volume names, run `docker volume ls` for a full list.
Delete a single volume:
```
docker volume rm mailcowdockerized_${VOLUME_NAME}
```
- Remove volume `mysql-vol-1` to remove all MySQL data.
- Remove volume `redis-vol-1` to remove all Redis data.
- Remove volume `vmail-vol-1` to remove all contents of `/var/vmail` mounted to `dovecot-mailcow`.
- 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.

Datei anzeigen

@ -0,0 +1,27 @@
Eine kurze Anleitung, um einen schlecht funktionierenden Rspamd tiefgehend zu analysieren.
```
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
fi
apt-get update ; apt-get upgrade rspamd
nano /docker-entrypoint.sh
# FĂĽgen Sie vor "exec "$@"" die folgenden Zeilen ein:
export G_SLICE=always-malloc
export ASAN_OPTIONS=new_delete_type_mismatch=0:detect_leaks=1:detect_odr_violation=0:log_path=/tmp/rspamd-asan:quarantine_size_mb=2048:malloc_context_size=8:fast_unwind_on_malloc=0
```
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`.
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`).

Datei anzeigen

@ -0,0 +1,27 @@
A quick guide to deeply analyze a malfunctioning Rspamd.
```
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
fi
apt-get update ; apt-get upgrade rspamd
nano /docker-entrypoint.sh
# Before "exec "$@"" add the following lines:
export G_SLICE=always-malloc
export ASAN_OPTIONS=new_delete_type_mismatch=0:detect_leaks=1:detect_odr_violation=0:log_path=/tmp/rspamd-asan:quarantine_size_mb=2048:malloc_context_size=8:fast_unwind_on_malloc=0
```
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`.
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`).

Datei anzeigen

@ -0,0 +1,9 @@
Wenn ein Problem auftritt, dann immer aus einem bestimmten Grund! Was Sie in einem solchen Fall tun sollten, ist:
1. Lesen Sie Ihre Logs; verfolgen Sie sie, um herauszufinden, was der Grund fĂĽr Ihr Problem ist.
2. Folgen Sie den Hinweisen in Ihren Logdateien und beginnen Sie mit der Untersuchung.
3. Starten Sie den gestörten Dienst oder den gesamten Stack neu, um zu sehen, ob das Problem weiterhin besteht.
4. Lesen Sie die Dokumentation des gestörten Dienstes und suchen Sie in dessen Bugtracker nach Ihrem Problem.
5. Durchsuchen Sie unsere [Github Issues](https://github.com/mailcow/mailcow-dockerized/issues) nach Ihrem Problem.
6. Erstelle einen [Github Issue](https://github.com/mailcow/mailcow-dockerized/issues) in unserem GitHub Repository, wenn Sie glauben, dass Ihr Problem ein Fehler oder eine fehlende Funktion ist, die Sie dringend benötigen. Bitte stellen Sie aber sicher, dass Sie **alle Logs** und eine vollständige Beschreibung Ihres Problems mitschicken. Bitte fragen Sie nicht nach Support auf Github.
7. Treten Sie unserer [Telegram-Community](https://t.me/mailcow) bei oder finden Sie die offiziellen Support-Pakete bei [Servercow](https://servercow.de). Alternativ fragen Sie Twitter um Rat und taggen uns mit **@mailcow_email**.

Datei anzeigen

@ -0,0 +1,9 @@
When a problem occurs, then always for a reason! What you want to do in such a case is:
1. Read your logs; follow them to see what the reason for your problem is.
2. Follow the leads given to you in your logfiles and start investigating.
3. Restarting the troubled service or the whole stack to see if the problem persists.
4. Read the documentation of the troubled service and search it's bugtracker for your problem.
5. Search our [issues](https://github.com/mailcow/mailcow-dockerized/issues) for your problem.
6. [Create an issue](https://github.com/mailcow/mailcow-dockerized/issues) over at our GitHub repository if you think your problem might be a bug or a missing feature you badly need. But please make sure, that you include **all the logs** and a full description to your problem. Please do not ask for support on Git.
7. Join our [Telegram community](https://t.me/mailcow) or find the official support packages at [Servercow](https://servercow.de).<br>Alternatively ask Twitter and tag us with **@mailcow_email**

Datei anzeigen

@ -52,17 +52,17 @@ nav:
- 'Password hashing': 'models/model-passwd.md'
- 'Sender and receiver model': 'models/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'
- 'Introduction': 'troubleshooting/debug.md'
- 'Admin login to SOGo': 'troubleshooting/debug-admin_login_sogo.md'
- 'Advanced: Find memory leaks in Rspamd': 'troubleshooting/debug-rspamd_memory_leaks.md'
- 'Attach to a Container': 'troubleshooting/debug-attach_service.md'
- 'Common Problems': 'troubleshooting/debug-common_problems.md'
- 'Logs': 'troubleshooting/debug-logs.md'
- 'Manual MySQL upgrade': 'troubleshooting/debug-mysql_upgrade.md'
- 'Recover crashed Aria storage engine': 'troubleshooting/debug-mysql_aria.md'
- 'Remove Persistent Data': 'troubleshooting/debug-rm_volumes.md'
- 'Reset Passwords (incl. SQL)': 'troubleshooting/debug-reset_pw.md'
- 'Reset TLS certificates': 'troubleshooting/debug-reset_tls.md'
- 'Backup & Restore':
- 'Component backup & restore':
- 'Backup': 'b_n_r-backup.md'
@ -183,7 +183,7 @@ plugins:
'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'
'Attach to a Container' : 'In einen Container wechseln (CLI)'
'Common Problems': 'Häufig auftretende Probleme'
'Manual MySQL upgrade': 'Manuelles MySQL-Upgrade'
'Recover crashed Aria storage engine': 'AbgestĂĽrzte Aria-Speicher-Engine wiederherstellen'