Dieser Commit ist enthalten in:
milkmaker 2023-01-01 19:24:29 +00:00
Ursprung b3d05313f2
Commit 1072a17f83
306 geänderte Dateien mit 891 neuen und 891 gelöschten Zeilen

Datei anzeigen

@ -2391,7 +2391,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2550,7 +2550,7 @@ docker compose exec dovecot-mailcow doveadm quota recalc -u restoreme@example.ne
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2707,7 +2707,7 @@ In case of a corrupted database you'd need to use the helper script to restore t
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2540,7 +2540,7 @@ docker run --rm -it -v $(docker inspect --format &#39;{{ range .Mounts }}{{ if e
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2544,7 +2544,7 @@ docker exec -i $(docker compose ps -q mysql-mailcow) mysql -u${DBUSER} -p${DBPAS
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2611,7 +2611,7 @@ The destination must have Docker and docker compose <strong>v2</strong> availabl
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2522,7 +2522,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2471,7 +2471,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2579,7 +2579,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2473,7 +2473,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2481,7 +2481,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2589,7 +2589,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2611,7 +2611,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2490,7 +2490,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2474,7 +2474,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2488,7 +2488,7 @@ Since you accessed this page after logging into your mailcow server, all of the
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2550,7 +2550,7 @@ docker compose exec dovecot-mailcow doveadm quota recalc -u restoreme@example.ne
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2707,7 +2707,7 @@ Im Falle einer beschädigten Datenbank müssen Sie das Hilfsskript verwenden, um
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2540,7 +2540,7 @@ docker run --rm -it -v $(docker inspect --format &#39;{{ range .Mounts }}{{ if e
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2544,7 +2544,7 @@ docker exec -i $(docker compose ps -q mysql-mailcow) mysql -u${DBUSER} -p${DBPAS
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2611,7 +2611,7 @@ Das Ziel muss ĂĽber Docker und docker compose <strong>v2</strong> verfĂĽgen.</p>
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2522,7 +2522,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2471,7 +2471,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2579,7 +2579,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2473,7 +2473,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2481,7 +2481,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2589,7 +2589,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2594,7 +2594,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2490,7 +2490,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2474,7 +2474,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2488,7 +2488,7 @@ Da Sie diese Seite aufgerufen haben, nachdem Sie sich in Ihren Mailcow-Server ei
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2476,7 +2476,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2818,7 +2818,7 @@ docker compose up -d
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2499,7 +2499,7 @@ docker compose pull
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2768,7 +2768,7 @@ docker compose up -d
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2687,7 +2687,7 @@ Jeder Container repräsentiert eine einzelne Anwendung.</p>
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2542,7 +2542,7 @@ MaxZipTypeRcg 50M
</code></pre></div></p> </code></pre></div></p>
</li> </li>
<li>Starten Sie den ClamAV Container neu: <li>Starten Sie den ClamAV Container neu:
<div class="highlight"><pre><span></span><code>docker compose restart clamd-mailcow <div class="highlight"><pre><span></span><code>docker<span class="w"> </span>compose<span class="w"> </span>restart<span class="w"> </span>clamd-mailcow
</code></pre></div></li> </code></pre></div></li>
</ol> </ol>
<p><strong>Bitte beachten Sie</strong>:</p> <p><strong>Bitte beachten Sie</strong>:</p>
@ -2561,7 +2561,7 @@ DatabaseCustomURL http://sigs.interserver.net/shell.ldb
DatabaseCustomURL http://sigs.interserver.net/whitelist.fp DatabaseCustomURL http://sigs.interserver.net/whitelist.fp
</code></pre></div></li> </code></pre></div></li>
<li>Starten Sie den ClamAV Container neu: <li>Starten Sie den ClamAV Container neu:
<div class="highlight"><pre><span></span><code>docker compose restart clamd-mailcow <div class="highlight"><pre><span></span><code>docker<span class="w"> </span>compose<span class="w"> </span>restart<span class="w"> </span>clamd-mailcow
</code></pre></div></li> </code></pre></div></li>
</ol> </ol>
@ -2637,7 +2637,7 @@ DatabaseCustomURL http://sigs.interserver.net/whitelist.fp
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2444,16 +2444,16 @@
<h2 id="whitelist-fur-bestimmte-clamav-signaturen">Whitelist fĂĽr bestimmte ClamAV-Signaturen<a class="headerlink" href="#whitelist-fur-bestimmte-clamav-signaturen" title="Permanent link">&para;</a></h2> <h2 id="whitelist-fur-bestimmte-clamav-signaturen">Whitelist fĂĽr bestimmte ClamAV-Signaturen<a class="headerlink" href="#whitelist-fur-bestimmte-clamav-signaturen" title="Permanent link">&para;</a></h2>
<p>Es kann vorkommen, dass legitime (saubere) Mails von ClamAV blockiert werden (Rspamd markiert die Mail mit <code>VIRUS_FOUND</code>). 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.:</p> <p>Es kann vorkommen, dass legitime (saubere) Mails von ClamAV blockiert werden (Rspamd markiert die Mail mit <code>VIRUS_FOUND</code>). 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.:</p>
<div class="highlight"><pre><span></span><code>docker compose logs clamd-mailcow <span class="p">|</span> grep <span class="s2">&quot;FOUND&quot;</span> <div class="highlight"><pre><span></span><code>docker<span class="w"> </span>compose<span class="w"> </span>logs<span class="w"> </span>clamd-mailcow<span class="w"> </span><span class="p">|</span><span class="w"> </span>grep<span class="w"> </span><span class="s2">&quot;FOUND&quot;</span>
</code></pre></div> </code></pre></div>
<p>Diese Zeile bestätigt, dass ein solcher identifiziert wurde:</p> <p>Diese Zeile bestätigt, dass ein solcher identifiziert wurde:</p>
<div class="highlight"><pre><span></span><code>clamd-mailcow_1 | Sat Sep 28 07:43:24 2019 -&gt; instream(local): PUA.Pdf.Trojan.EmbeddedJavaScript-1(e887d2ac324ce90750768b86b63d0749:363325) FOUND <div class="highlight"><pre><span></span><code>clamd-mailcow_1 | Sat Sep 28 07:43:24 2019 -&gt; instream(local): PUA.Pdf.Trojan.EmbeddedJavaScript-1(e887d2ac324ce90750768b86b63d0749:363325) FOUND
</code></pre></div> </code></pre></div>
<p>Um diese spezielle Signatur auf die Whitelist zu setzen (und den Versand dieses Dateityps im Anhang zu ermöglichen), fügen Sie sie der ClamAV-Signatur-Whitelist-Datei hinzu:</p> <p>Um diese spezielle Signatur auf die Whitelist zu setzen (und den Versand dieses Dateityps im Anhang zu ermöglichen), fügen Sie sie der ClamAV-Signatur-Whitelist-Datei hinzu:</p>
<div class="highlight"><pre><span></span><code><span class="nb">echo</span> <span class="s1">&#39;PUA.Pdf.Trojan.EmbeddedJavaScript-1&#39;</span> &gt;&gt; data/conf/clamav/whitelist.ign2 <div class="highlight"><pre><span></span><code><span class="nb">echo</span><span class="w"> </span><span class="s1">&#39;PUA.Pdf.Trojan.EmbeddedJavaScript-1&#39;</span><span class="w"> </span>&gt;&gt;<span class="w"> </span>data/conf/clamav/whitelist.ign2
</code></pre></div> </code></pre></div>
<p>Dann starten Sie den clamd-mailcow Service Container in der mailcow UI oder mit docker compose neu:</p> <p>Dann starten Sie den clamd-mailcow Service Container in der mailcow UI oder mit docker compose neu:</p>
<div class="highlight"><pre><span></span><code>docker compose restart clamd-mailcow <div class="highlight"><pre><span></span><code>docker<span class="w"> </span>compose<span class="w"> </span>restart<span class="w"> </span>clamd-mailcow
</code></pre></div> </code></pre></div>
<p>Bereinigen Sie zwischengespeicherte ClamAV-Ergebnisse in Redis:</p> <p>Bereinigen Sie zwischengespeicherte ClamAV-Ergebnisse in Redis:</p>
<div class="highlight"><pre><span></span><code># docker compose exec redis-mailcow /bin/sh <div class="highlight"><pre><span></span><code># docker compose exec redis-mailcow /bin/sh
@ -2533,7 +2533,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2481,7 +2481,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2471,7 +2471,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2468,7 +2468,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2631,7 +2631,7 @@ common.go:124 â–¶ NOTICE [Job &quot;dovecot-expunge-trash&quot; (8759567efa66)]
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2470,7 +2470,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2579,7 +2579,7 @@ docker compose exec dovecot-mailcow doveadm index -A &#39;*&#39;
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2599,7 +2599,7 @@ Wenn Sie den Wert nicht geändert haben, sollte er auf 2m stehen. Wenn Sie ihn g
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2498,7 +2498,7 @@ done
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2563,7 +2563,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2542,7 +2542,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2478,7 +2478,7 @@ Es wird kein Hauptbenutzer benötigt.</p>
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2603,7 +2603,7 @@ volumes:
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2650,7 +2650,7 @@ docker compose restart php-fpm-mailcow
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2495,7 +2495,7 @@ FĂĽgen Sie <code>webmail.example.org</code> zu diesem Array hinzu, verwenden Sie
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2470,7 +2470,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2469,7 +2469,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2544,7 +2544,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2472,7 +2472,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2477,7 +2477,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2478,7 +2478,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2578,7 +2578,7 @@ Beachten Sie, dass die Anmeldedaten im Klartext gespeichert werden.</p>
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2580,7 +2580,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2619,7 +2619,7 @@ PONG
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2603,31 +2603,31 @@ Dies wird durch die Verwendung des Sieve-Plugins "sieve_imapsieve" und Parser-Sk
<h3 id="spam-oder-ham-aus-bestehendem-verzeichnis-lernen">Spam oder Ham aus bestehendem Verzeichnis lernen<a class="headerlink" href="#spam-oder-ham-aus-bestehendem-verzeichnis-lernen" title="Permanent link">&para;</a></h3> <h3 id="spam-oder-ham-aus-bestehendem-verzeichnis-lernen">Spam oder Ham aus bestehendem Verzeichnis lernen<a class="headerlink" href="#spam-oder-ham-aus-bestehendem-verzeichnis-lernen" title="Permanent link">&para;</a></h3>
<p>Sie können einen Einzeiler verwenden, um Mails im Klartextformat (unkomprimiert) zu lernen:</p> <p>Sie können einen Einzeiler verwenden, um Mails im Klartextformat (unkomprimiert) zu lernen:</p>
<div class="highlight"><pre><span></span><code><span class="c1"># Ham</span> <div class="highlight"><pre><span></span><code><span class="c1"># Ham</span>
<span class="k">for</span> file <span class="k">in</span> /my/folder/cur/*<span class="p">;</span> <span class="k">do</span> docker <span class="nb">exec</span> -i <span class="k">$(</span>docker compose ps -q rspamd-mailcow<span class="k">)</span> rspamc learn_ham &lt; <span class="nv">$file</span><span class="p">;</span> <span class="k">done</span> <span class="k">for</span><span class="w"> </span>file<span class="w"> </span><span class="k">in</span><span class="w"> </span>/my/folder/cur/*<span class="p">;</span><span class="w"> </span><span class="k">do</span><span class="w"> </span>docker<span class="w"> </span><span class="nb">exec</span><span class="w"> </span>-i<span class="w"> </span><span class="k">$(</span>docker<span class="w"> </span>compose<span class="w"> </span>ps<span class="w"> </span>-q<span class="w"> </span>rspamd-mailcow<span class="k">)</span><span class="w"> </span>rspamc<span class="w"> </span>learn_ham<span class="w"> </span>&lt;<span class="w"> </span><span class="nv">$file</span><span class="p">;</span><span class="w"> </span><span class="k">done</span>
<span class="c1"># Spam</span> <span class="c1"># Spam</span>
<span class="k">for</span> file <span class="k">in</span> /my/folder/.Junk/cur/*<span class="p">;</span> <span class="k">do</span> docker <span class="nb">exec</span> -i <span class="k">$(</span>docker compose ps -q rspamd-mailcow<span class="k">)</span> rspamc learn_spam &lt; <span class="nv">$file</span><span class="p">;</span> <span class="k">done</span> <span class="k">for</span><span class="w"> </span>file<span class="w"> </span><span class="k">in</span><span class="w"> </span>/my/folder/.Junk/cur/*<span class="p">;</span><span class="w"> </span><span class="k">do</span><span class="w"> </span>docker<span class="w"> </span><span class="nb">exec</span><span class="w"> </span>-i<span class="w"> </span><span class="k">$(</span>docker<span class="w"> </span>compose<span class="w"> </span>ps<span class="w"> </span>-q<span class="w"> </span>rspamd-mailcow<span class="k">)</span><span class="w"> </span>rspamc<span class="w"> </span>learn_spam<span class="w"> </span>&lt;<span class="w"> </span><span class="nv">$file</span><span class="p">;</span><span class="w"> </span><span class="k">done</span>
</code></pre></div> </code></pre></div>
<p>Erwägen Sie, einen lokalen Ordner als neues Volume an <code>rspamd-mailcow</code> in <code>docker-compose.yml</code> 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:</p> <p>Erwägen Sie, einen lokalen Ordner als neues Volume an <code>rspamd-mailcow</code> in <code>docker-compose.yml</code> 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:</p>
<div class="highlight"><pre><span></span><code><span class="k">for</span> file <span class="k">in</span> /data/old_mail/.Junk/cur/*<span class="p">;</span> <span class="k">do</span> rspamc learn_spam &lt; zcat <span class="nv">$file</span><span class="p">;</span> <span class="k">done</span> <div class="highlight"><pre><span></span><code><span class="k">for</span><span class="w"> </span>file<span class="w"> </span><span class="k">in</span><span class="w"> </span>/data/old_mail/.Junk/cur/*<span class="p">;</span><span class="w"> </span><span class="k">do</span><span class="w"> </span>rspamc<span class="w"> </span>learn_spam<span class="w"> </span>&lt;<span class="w"> </span>zcat<span class="w"> </span><span class="nv">$file</span><span class="p">;</span><span class="w"> </span><span class="k">done</span>
</code></pre></div> </code></pre></div>
<h3 id="gelernte-daten-zurucksetzen-bayes-neural">Gelernte Daten zurĂĽcksetzen (Bayes, Neural)<a class="headerlink" href="#gelernte-daten-zurucksetzen-bayes-neural" title="Permanent link">&para;</a></h3> <h3 id="gelernte-daten-zurucksetzen-bayes-neural">Gelernte Daten zurĂĽcksetzen (Bayes, Neural)<a class="headerlink" href="#gelernte-daten-zurucksetzen-bayes-neural" title="Permanent link">&para;</a></h3>
<p>Sie müssen die Schlüssel in Redis löschen, um die gelernten Daten zurückzusetzen, also erstellen Sie jetzt eine Kopie Ihrer Redis-Datenbank:</p> <p>Sie müssen die Schlüssel in Redis löschen, um die gelernten Daten zurückzusetzen, also erstellen Sie jetzt eine Kopie Ihrer Redis-Datenbank:</p>
<p><strong>Backup Datenbank</strong></p> <p><strong>Backup Datenbank</strong></p>
<div class="highlight"><pre><span></span><code><span class="c1"># Es ist besser, Redis zu stoppen, bevor Sie die Datei kopieren.</span> <div class="highlight"><pre><span></span><code><span class="c1"># Es ist besser, Redis zu stoppen, bevor Sie die Datei kopieren.</span>
cp /var/lib/docker/volumes/mailcowdockerized_redis-vol-1/_data/dump.rdb /root/ cp<span class="w"> </span>/var/lib/docker/volumes/mailcowdockerized_redis-vol-1/_data/dump.rdb<span class="w"> </span>/root/
</code></pre></div> </code></pre></div>
<p><strong>Bayes-Daten zurĂĽcksetzen</strong></p> <p><strong>Bayes-Daten zurĂĽcksetzen</strong></p>
<div class="highlight"><pre><span></span><code>docker compose <span class="nb">exec</span> redis-mailcow sh -c <span class="s1">&#39;redis-cli --scan --pattern BAYES_* | xargs redis-cli del&#39;</span> <div class="highlight"><pre><span></span><code>docker<span class="w"> </span>compose<span class="w"> </span><span class="nb">exec</span><span class="w"> </span>redis-mailcow<span class="w"> </span>sh<span class="w"> </span>-c<span class="w"> </span><span class="s1">&#39;redis-cli --scan --pattern BAYES_* | xargs redis-cli del&#39;</span>
docker compose <span class="nb">exec</span> redis-mailcow sh -c <span class="s1">&#39;redis-cli --scan --pattern RS* | xargs redis-cli del&#39;</span> docker<span class="w"> </span>compose<span class="w"> </span><span class="nb">exec</span><span class="w"> </span>redis-mailcow<span class="w"> </span>sh<span class="w"> </span>-c<span class="w"> </span><span class="s1">&#39;redis-cli --scan --pattern RS* | xargs redis-cli del&#39;</span>
</code></pre></div> </code></pre></div>
<p><strong>Neurale Daten zurĂĽcksetzen</strong></p> <p><strong>Neurale Daten zurĂĽcksetzen</strong></p>
<div class="highlight"><pre><span></span><code>docker compose <span class="nb">exec</span> redis-mailcow sh -c <span class="s1">&#39;redis-cli --scan --pattern rn_* | xargs redis-cli del&#39;</span> <div class="highlight"><pre><span></span><code>docker<span class="w"> </span>compose<span class="w"> </span><span class="nb">exec</span><span class="w"> </span>redis-mailcow<span class="w"> </span>sh<span class="w"> </span>-c<span class="w"> </span><span class="s1">&#39;redis-cli --scan --pattern rn_* | xargs redis-cli del&#39;</span>
</code></pre></div> </code></pre></div>
<p><strong>Fuzzy-Daten zurĂĽcksetzen</strong></p> <p><strong>Fuzzy-Daten zurĂĽcksetzen</strong></p>
<div class="highlight"><pre><span></span><code><span class="c1"># Wir mĂĽssen zuerst das redis-cli eingeben:</span> <div class="highlight"><pre><span></span><code><span class="c1"># Wir mĂĽssen zuerst das redis-cli eingeben:</span>
docker compose <span class="nb">exec</span> redis-mailcow redis-cli docker<span class="w"> </span>compose<span class="w"> </span><span class="nb">exec</span><span class="w"> </span>redis-mailcow<span class="w"> </span>redis-cli
<span class="c1"># In redis-cli:</span> <span class="c1"># In redis-cli:</span>
<span class="m">127</span>.0.0.1:6379&gt; EVAL <span class="s2">&quot;for i, name in ipairs(redis.call(&#39;KEYS&#39;, ARGV[1])) do redis.call(&#39;DEL&#39;, name); end&quot;</span> <span class="m">0</span> fuzzy* <span class="m">127</span>.0.0.1:6379&gt;<span class="w"> </span>EVAL<span class="w"> </span><span class="s2">&quot;for i, name in ipairs(redis.call(&#39;KEYS&#39;, ARGV[1])) do redis.call(&#39;DEL&#39;, name); end&quot;</span><span class="w"> </span><span class="m">0</span><span class="w"> </span>fuzzy*
</code></pre></div> </code></pre></div>
<p><strong>Info</strong></p> <p><strong>Info</strong></p>
<p>Wenn redis-cli sich beschwert ĂĽber...</p> <p>Wenn redis-cli sich beschwert ĂĽber...</p>
@ -2635,22 +2635,22 @@ docker compose <span class="nb">exec</span> redis-mailcow redis-cli
</code></pre></div> </code></pre></div>
<p>...das Schlüsselmuster nicht gefunden wurde und somit keine Daten zum Löschen vorhanden sind - ist es in Ordnung.</p> <p>...das Schlüsselmuster nicht gefunden wurde und somit keine Daten zum Löschen vorhanden sind - ist es in Ordnung.</p>
<h2 id="cli-werkzeuge">CLI-Werkzeuge<a class="headerlink" href="#cli-werkzeuge" title="Permanent link">&para;</a></h2> <h2 id="cli-werkzeuge">CLI-Werkzeuge<a class="headerlink" href="#cli-werkzeuge" title="Permanent link">&para;</a></h2>
<div class="highlight"><pre><span></span><code>docker compose <span class="nb">exec</span> rspamd-mailcow rspamc --help <div class="highlight"><pre><span></span><code>docker<span class="w"> </span>compose<span class="w"> </span><span class="nb">exec</span><span class="w"> </span>rspamd-mailcow<span class="w"> </span>rspamc<span class="w"> </span>--help
docker compose <span class="nb">exec</span> rspamd-mailcow rspamadm --help docker<span class="w"> </span>compose<span class="w"> </span><span class="nb">exec</span><span class="w"> </span>rspamd-mailcow<span class="w"> </span>rspamadm<span class="w"> </span>--help
</code></pre></div> </code></pre></div>
<h2 id="greylisting-deaktivieren">Greylisting deaktivieren<a class="headerlink" href="#greylisting-deaktivieren" title="Permanent link">&para;</a></h2> <h2 id="greylisting-deaktivieren">Greylisting deaktivieren<a class="headerlink" href="#greylisting-deaktivieren" title="Permanent link">&para;</a></h2>
<p>Nur Nachrichten mit einer höheren Punktzahl werden als Greylisting betrachtet (soft rejected). Es ist schlechte Praxis, Greylisting zu deaktivieren.</p> <p>Nur Nachrichten mit einer höheren Punktzahl werden als Greylisting betrachtet (soft rejected). Es ist schlechte Praxis, Greylisting zu deaktivieren.</p>
<p>Sie können Greylisting serverweit durch Editieren deaktivieren:</p> <p>Sie können Greylisting serverweit durch Editieren deaktivieren:</p>
<p><code>{mailcow-dir}/data/conf/rspamd/local.d/greylist.conf</code></p> <p><code>{mailcow-dir}/data/conf/rspamd/local.d/greylist.conf</code></p>
<p>FĂĽgen Sie die Zeile hinzu:</p> <p>FĂĽgen Sie die Zeile hinzu:</p>
<div class="highlight"><pre><span></span><code><span class="n">enabled</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">false</span><span class="p">;</span><span class="w"></span> <div class="highlight"><pre><span></span><code><span class="n">enabled</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">false</span><span class="p">;</span>
</code></pre></div> </code></pre></div>
<p>Speichern Sie die Datei und starten Sie "rspamd-mailcow" neu: <code>docker compose restart rspamd-mailcow</code></p> <p>Speichern Sie die Datei und starten Sie "rspamd-mailcow" neu: <code>docker compose restart rspamd-mailcow</code></p>
<h2 id="spamfilter-schwellenwerte-global">Spamfilter-Schwellenwerte (global)<a class="headerlink" href="#spamfilter-schwellenwerte-global" title="Permanent link">&para;</a></h2> <h2 id="spamfilter-schwellenwerte-global">Spamfilter-Schwellenwerte (global)<a class="headerlink" href="#spamfilter-schwellenwerte-global" title="Permanent link">&para;</a></h2>
<p>Jeder Benutzer kann <a href="../../mailcow-UI/u_e-mailcow_ui-spamfilter/">seine Spam-Bewertung</a> individuell ändern. Um eine neue <strong>serverweite</strong> Grenze zu definieren, editieren Sie <code>data/conf/rspamd/local.d/actions.conf</code>:</p> <p>Jeder Benutzer kann <a href="../../mailcow-UI/u_e-mailcow_ui-spamfilter/">seine Spam-Bewertung</a> individuell ändern. Um eine neue <strong>serverweite</strong> Grenze zu definieren, editieren Sie <code>data/conf/rspamd/local.d/actions.conf</code>:</p>
<div class="highlight"><pre><span></span><code><span class="n">reject</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">15</span><span class="p">;</span><span class="w"></span> <div class="highlight"><pre><span></span><code><span class="n">reject</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">15</span><span class="p">;</span>
<span class="n">add_header</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">8</span><span class="p">;</span><span class="w"></span> <span class="n">add_header</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">8</span><span class="p">;</span>
<span class="n">greylist</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">7</span><span class="p">;</span><span class="w"></span> <span class="n">greylist</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">7</span><span class="p">;</span>
</code></pre></div> </code></pre></div>
<p>Speichern Sie die Datei und starten Sie "rspamd-mailcow" neu: <code>docker compose restart rspamd-mailcow</code></p> <p>Speichern Sie die Datei und starten Sie "rspamd-mailcow" neu: <code>docker compose restart rspamd-mailcow</code></p>
<p>Bestehende Einstellungen der Benutzer werden nicht ĂĽberschrieben!</p> <p>Bestehende Einstellungen der Benutzer werden nicht ĂĽberschrieben!</p>
@ -2691,7 +2691,7 @@ docker compose exec mysql-mailcow mysql -umailcow -p$DBPASS mailcow -e &quot;del
<div class="highlight"><pre><span></span><code>discard_on_reject = true; <div class="highlight"><pre><span></span><code>discard_on_reject = true;
</code></pre></div> </code></pre></div>
<p>Starten Sie Rspamd neu:</p> <p>Starten Sie Rspamd neu:</p>
<div class="highlight"><pre><span></span><code>docker compose restart rspamd-mailcow <div class="highlight"><pre><span></span><code>docker<span class="w"> </span>compose<span class="w"> </span>restart<span class="w"> </span>rspamd-mailcow
</code></pre></div> </code></pre></div>
<h2 id="losche-alle-ratelimit-schlussel">Lösche alle Ratelimit-Schlüssel<a class="headerlink" href="#losche-alle-ratelimit-schlussel" title="Permanent link">&para;</a></h2> <h2 id="losche-alle-ratelimit-schlussel">Lösche alle Ratelimit-Schlüssel<a class="headerlink" href="#losche-alle-ratelimit-schlussel" title="Permanent link">&para;</a></h2>
<p>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:</p> <p>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:</p>
@ -2700,7 +2700,7 @@ docker compose exec mysql-mailcow mysql -umailcow -p$DBPASS mailcow -e &quot;del
redis-cli --scan --pattern RL* | xargs redis-cli unlink redis-cli --scan --pattern RL* | xargs redis-cli unlink
</code></pre></div> </code></pre></div>
<p>Starten Sie Rspamd neu:</p> <p>Starten Sie Rspamd neu:</p>
<div class="highlight"><pre><span></span><code>docker compose restart rspamd-mailcow <div class="highlight"><pre><span></span><code>docker<span class="w"> </span>compose<span class="w"> </span>restart<span class="w"> </span>rspamd-mailcow
</code></pre></div> </code></pre></div>
<h2 id="erneutes-senden-von-quarantane-benachrichtigungen-auslosen">Erneutes Senden von Quarantäne-Benachrichtigungen auslösen<a class="headerlink" href="#erneutes-senden-von-quarantane-benachrichtigungen-auslosen" title="Permanent link">&para;</a></h2> <h2 id="erneutes-senden-von-quarantane-benachrichtigungen-auslosen">Erneutes Senden von Quarantäne-Benachrichtigungen auslösen<a class="headerlink" href="#erneutes-senden-von-quarantane-benachrichtigungen-auslosen" title="Permanent link">&para;</a></h2>
<p>Sollte nur zur Fehlersuche verwendet werden!</p> <p>Sollte nur zur Fehlersuche verwendet werden!</p>
@ -2790,7 +2790,7 @@ quarantine_notify.py
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2688,7 +2688,7 @@ Nachdem Sie diese Datei ersetzt haben, mĂĽssen Sie SOGo und Memcached Container
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2551,7 +2551,7 @@ cp helper-scripts/docker-compose.override.yml.d/EXTERNAL_DNS/docker-compose.over
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2823,7 +2823,7 @@ Beispiel:
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2474,7 +2474,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2490,7 +2490,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2468,7 +2468,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2553,7 +2553,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2550,7 +2550,7 @@ Sollte das der Fall sein empfiehlt es sich mit einem Klick auf <code>ZurĂĽcksetz
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2478,7 +2478,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2469,7 +2469,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2473,7 +2473,7 @@ FĂĽr eine domainweite Black- und Whitelist lesen Sie bitte unsere Anleitung zu <
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2536,7 +2536,7 @@ index e047136e..933c4137 100644
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2576,7 +2576,7 @@ Um sie zu sehen, klicken Sie einfach auf das kleine Plus-Symbol auf der linken S
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2750,7 +2750,7 @@ Diese Herstellerzertifikate werden nur zur ĂśberprĂĽfung der Originalhardware ve
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2489,7 +2489,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2510,7 +2510,7 @@ $autodiscover_config = array(
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2478,7 +2478,7 @@ smtps_smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2472,7 +2472,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2469,7 +2469,7 @@ Wenn Sie einen öffentlichen Resolver wie Google 4x8, OpenDNS oder einen anderen
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2483,7 +2483,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2571,7 +2571,7 @@ Wenn SOGo deaktiviert ist, können alle unten aufgeführten Hashing-Methoden von
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2545,7 +2545,7 @@ Ihnen den Zugang wie oben beschrieben gewähren.</p>
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2523,7 +2523,7 @@ sed -i &#39;s/\[::\]://g&#39; data/conf/phpfpm/php-fpm.d/pools.conf
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2698,7 +2698,7 @@ services:
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2588,7 +2588,7 @@ services:
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2479,7 +2479,7 @@ Das Relaying ĂĽber diese Schnittstelle ist notwendig (anstatt - zum Beispiel - d
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2710,7 +2710,7 @@ komprimieren und zu löschen.</p>
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2564,47 +2564,47 @@ Auf vielen Servern wird logrotate den Webserver sowieso täglich neu laden.</p>
</code></pre></div></p> </code></pre></div></p>
<p>Let's Encrypt wird unserem Rewrite folgen, Zertifikatsanfragen in mailcow werden problemlos funktionieren.</p> <p>Let's Encrypt wird unserem Rewrite folgen, Zertifikatsanfragen in mailcow werden problemlos funktionieren.</p>
<p><strong>Die hervorgehobenen Zeilen mĂĽssen beachtet werden</strong>.</p> <p><strong>Die hervorgehobenen Zeilen mĂĽssen beachtet werden</strong>.</p>
<div class="highlight"><pre><span></span><code><span class="nt">&lt;VirtualHost</span><span class="w"> </span><span class="s">*:80</span><span class="nt">&gt;</span><span class="w"></span> <div class="highlight"><pre><span></span><code><span class="nt">&lt;VirtualHost</span><span class="w"> </span><span class="s">*:80</span><span class="nt">&gt;</span>
<span class="hll"><span class="w"> </span><span class="nb">ServerName</span><span class="w"> </span>ZU<span class="w"> </span>MAILCOW<span class="w"> </span>HOSTNAMEN<span class="w"> </span>Ă„NDERN<span class="w"></span> <span class="hll"><span class="w"> </span><span class="nb">ServerName</span><span class="w"> </span>ZU<span class="w"> </span>MAILCOW<span class="w"> </span>HOSTNAMEN<span class="w"> </span>Ă„NDERN
</span><span class="w"> </span><span class="nb">ServerAlias</span><span class="w"> </span>autodiscover.*<span class="w"></span> </span><span class="w"> </span><span class="nb">ServerAlias</span><span class="w"> </span>autodiscover.*
<span class="w"> </span><span class="nb">ServerAlias</span><span class="w"> </span>autoconfig.*<span class="w"></span> <span class="w"> </span><span class="nb">ServerAlias</span><span class="w"> </span>autoconfig.*
<span class="w"> </span><span class="nb">RewriteEngine</span><span class="w"> </span><span class="k">on</span><span class="w"></span> <span class="w"> </span><span class="nb">RewriteEngine</span><span class="w"> </span><span class="k">on</span>
<span class="w"> </span><span class="nb">RewriteCond</span><span class="w"> </span>%{HTTPS}<span class="w"> </span><span class="k">off</span><span class="w"></span> <span class="w"> </span><span class="nb">RewriteCond</span><span class="w"> </span>%{HTTPS}<span class="w"> </span><span class="k">off</span>
<span class="w"> </span><span class="nb">RewriteRule</span><span class="w"> </span>^/?(.*)<span class="w"> </span>https://%{HTTP_HOST}/$1<span class="w"> </span>[R=301,L]<span class="w"></span> <span class="w"> </span><span class="nb">RewriteRule</span><span class="w"> </span>^/?(.*)<span class="w"> </span>https://%{HTTP_HOST}/$1<span class="w"> </span>[R=301,L]
<span class="hll"><span class="w"> </span><span class="nb">ProxyPass</span><span class="w"> </span>/<span class="w"> </span>http://127.0.0.1:8080/<span class="w"></span> <span class="hll"><span class="w"> </span><span class="nb">ProxyPass</span><span class="w"> </span>/<span class="w"> </span>http://127.0.0.1:8080/
</span><span class="hll"><span class="w"> </span><span class="nb">ProxyPassReverse</span><span class="w"> </span>/<span class="w"> </span>http://127.0.0.1:8080/<span class="w"></span> </span><span class="hll"><span class="w"> </span><span class="nb">ProxyPassReverse</span><span class="w"> </span>/<span class="w"> </span>http://127.0.0.1:8080/
</span><span class="w"> </span><span class="nb">ProxyPreserveHost</span><span class="w"> </span><span class="k">On</span><span class="w"></span> </span><span class="w"> </span><span class="nb">ProxyPreserveHost</span><span class="w"> </span><span class="k">On</span>
<span class="w"> </span><span class="nb">ProxyAddHeaders</span><span class="w"> </span><span class="k">On</span><span class="w"></span> <span class="w"> </span><span class="nb">ProxyAddHeaders</span><span class="w"> </span><span class="k">On</span>
<span class="w"> </span><span class="nb">RequestHeader</span><span class="w"> </span>set<span class="w"> </span>X-Forwarded-Proto<span class="w"> </span><span class="s2">&quot;http&quot;</span><span class="w"></span> <span class="w"> </span><span class="nb">RequestHeader</span><span class="w"> </span>set<span class="w"> </span>X-Forwarded-Proto<span class="w"> </span><span class="s2">&quot;http&quot;</span>
<span class="nt">&lt;/VirtualHost&gt;</span><span class="w"></span> <span class="nt">&lt;/VirtualHost&gt;</span>
<span class="nt">&lt;VirtualHost</span><span class="w"> </span><span class="s">*:443</span><span class="nt">&gt;</span><span class="w"></span> <span class="nt">&lt;VirtualHost</span><span class="w"> </span><span class="s">*:443</span><span class="nt">&gt;</span>
<span class="hll"><span class="w"> </span><span class="nb">ServerName</span><span class="w"> </span>ZU<span class="w"> </span>MAILCOW<span class="w"> </span>HOSTNAMEN<span class="w"> </span>Ă„NDERN<span class="w"></span> <span class="hll"><span class="w"> </span><span class="nb">ServerName</span><span class="w"> </span>ZU<span class="w"> </span>MAILCOW<span class="w"> </span>HOSTNAMEN<span class="w"> </span>Ă„NDERN
</span><span class="w"> </span><span class="nb">ServerAlias</span><span class="w"> </span>autodiscover.*<span class="w"></span> </span><span class="w"> </span><span class="nb">ServerAlias</span><span class="w"> </span>autodiscover.*
<span class="w"> </span><span class="nb">ServerAlias</span><span class="w"> </span>autoconfig.*<span class="w"></span> <span class="w"> </span><span class="nb">ServerAlias</span><span class="w"> </span>autoconfig.*
<span class="w"> </span><span class="c"># You should proxy to a plain HTTP session to offload SSL processing</span><span class="w"></span> <span class="w"> </span><span class="c"># You should proxy to a plain HTTP session to offload SSL processing</span>
<span class="hll"><span class="w"> </span><span class="nb">ProxyPass</span><span class="w"> </span><span class="sx">/Microsoft-Server-ActiveSync</span><span class="w"> </span>http://127.0.0.1:8080/Microsoft-Server-ActiveSync<span class="w"> </span>connectiontimeout=4000<span class="w"></span> <span class="hll"><span class="w"> </span><span class="nb">ProxyPass</span><span class="w"> </span><span class="sx">/Microsoft-Server-ActiveSync</span><span class="w"> </span>http://127.0.0.1:8080/Microsoft-Server-ActiveSync<span class="w"> </span>connectiontimeout=4000
</span><span class="hll"><span class="w"> </span><span class="nb">ProxyPassReverse</span><span class="w"> </span><span class="sx">/Microsoft-Server-ActiveSync</span><span class="w"> </span>http://127.0.0.1:8080/Microsoft-Server-ActiveSync<span class="w"></span> </span><span class="hll"><span class="w"> </span><span class="nb">ProxyPassReverse</span><span class="w"> </span><span class="sx">/Microsoft-Server-ActiveSync</span><span class="w"> </span>http://127.0.0.1:8080/Microsoft-Server-ActiveSync
</span><span class="hll"><span class="w"> </span><span class="nb">ProxyPass</span><span class="w"> </span>/<span class="w"> </span>http://127.0.0.1:8080/<span class="w"></span> </span><span class="hll"><span class="w"> </span><span class="nb">ProxyPass</span><span class="w"> </span>/<span class="w"> </span>http://127.0.0.1:8080/
</span><span class="hll"><span class="w"> </span><span class="nb">ProxyPassReverse</span><span class="w"> </span>/<span class="w"> </span>http://127.0.0.1:8080/<span class="w"></span> </span><span class="hll"><span class="w"> </span><span class="nb">ProxyPassReverse</span><span class="w"> </span>/<span class="w"> </span>http://127.0.0.1:8080/
</span><span class="w"> </span><span class="nb">ProxyPreserveHost</span><span class="w"> </span><span class="k">On</span><span class="w"></span> </span><span class="w"> </span><span class="nb">ProxyPreserveHost</span><span class="w"> </span><span class="k">On</span>
<span class="w"> </span><span class="nb">ProxyAddHeaders</span><span class="w"> </span><span class="k">On</span><span class="w"></span> <span class="w"> </span><span class="nb">ProxyAddHeaders</span><span class="w"> </span><span class="k">On</span>
<span class="w"> </span><span class="nb">RequestHeader</span><span class="w"> </span>set<span class="w"> </span>X-Forwarded-Proto<span class="w"> </span><span class="s2">&quot;https&quot;</span><span class="w"></span> <span class="w"> </span><span class="nb">RequestHeader</span><span class="w"> </span>set<span class="w"> </span>X-Forwarded-Proto<span class="w"> </span><span class="s2">&quot;https&quot;</span>
<span class="hll"><span class="w"> </span><span class="nb">SSLCertificateFile</span><span class="w"> </span>MAILCOW_ORDNER/data/assets/ssl/cert.pem<span class="w"></span> <span class="hll"><span class="w"> </span><span class="nb">SSLCertificateFile</span><span class="w"> </span>MAILCOW_ORDNER/data/assets/ssl/cert.pem
</span><span class="hll"><span class="w"> </span><span class="nb">SSLCertificateKeyFile</span><span class="w"> </span>MAILCOW_ORDNER/data/assets/ssl/key.pem<span class="w"></span> </span><span class="hll"><span class="w"> </span><span class="nb">SSLCertificateKeyFile</span><span class="w"> </span>MAILCOW_ORDNER/data/assets/ssl/key.pem
</span> </span>
<span class="w"> </span><span class="c"># Wenn Sie einen HTTPS-Host als Proxy verwenden möchten:</span><span class="w"></span> <span class="w"> </span><span class="c"># Wenn Sie einen HTTPS-Host als Proxy verwenden möchten:</span>
<span class="w"> </span><span class="c">#SSLProxyEngine On</span><span class="w"></span> <span class="w"> </span><span class="c">#SSLProxyEngine On</span>
<span class="w"> </span><span class="c"># Wenn Sie einen Proxy fĂĽr einen nicht vertrauenswĂĽrdigen HTTPS-Host einrichten wollen:</span><span class="w"></span> <span class="w"> </span><span class="c"># Wenn Sie einen Proxy fĂĽr einen nicht vertrauenswĂĽrdigen HTTPS-Host einrichten wollen:</span>
<span class="w"> </span><span class="c">#SSLProxyVerify none</span><span class="w"></span> <span class="w"> </span><span class="c">#SSLProxyVerify none</span>
<span class="w"> </span><span class="c">#SSLProxyCheckPeerCN off</span><span class="w"></span> <span class="w"> </span><span class="c">#SSLProxyCheckPeerCN off</span>
<span class="w"> </span><span class="c">#SSLProxyCheckPeerName off</span><span class="w"></span> <span class="w"> </span><span class="c">#SSLProxyCheckPeerName off</span>
<span class="w"> </span><span class="c">#SSLProxyCheckPeerExpire off</span><span class="w"></span> <span class="w"> </span><span class="c">#SSLProxyCheckPeerExpire off</span>
<span class="nt">&lt;/VirtualHost&gt;</span><span class="w"></span> <span class="nt">&lt;/VirtualHost&gt;</span>
</code></pre></div> </code></pre></div>
<h3 id="nginx">Nginx<a class="headerlink" href="#nginx" title="Permanent link">&para;</a></h3> <h3 id="nginx">Nginx<a class="headerlink" href="#nginx" title="Permanent link">&para;</a></h3>
<p>Let's Encrypt folgt unserem Rewrite, Zertifikatsanfragen funktionieren problemlos.</p> <p>Let's Encrypt folgt unserem Rewrite, Zertifikatsanfragen funktionieren problemlos.</p>
@ -2687,58 +2687,58 @@ backend mailcow
<p>Zuallererst werden wir den acme-mailcow-Container deaktivieren, da wir die von traefik bereitgestellten Zertifikate verwenden werden. <p>Zuallererst werden wir den acme-mailcow-Container deaktivieren, da wir die von traefik bereitgestellten Zertifikate verwenden werden.
Dazu mĂĽssen wir <code>SKIP_LETS_ENCRYPT=y</code> in unserer <code>mailcow.conf</code> setzen und <code>docker compose up -d</code> ausfĂĽhren, um die Ă„nderungen zu ĂĽbernehmen.</p> Dazu mĂĽssen wir <code>SKIP_LETS_ENCRYPT=y</code> in unserer <code>mailcow.conf</code> setzen und <code>docker compose up -d</code> ausfĂĽhren, um die Ă„nderungen zu ĂĽbernehmen.</p>
<p>Dann erstellen wir eine <code>docker-compose.override.yml</code> Datei, um die Hauptdatei <code>docker-compose.yml</code> zu ĂĽberschreiben, die sich im Mailcow-Stammverzeichnis befindet. </p> <p>Dann erstellen wir eine <code>docker-compose.override.yml</code> Datei, um die Hauptdatei <code>docker-compose.yml</code> zu ĂĽberschreiben, die sich im Mailcow-Stammverzeichnis befindet. </p>
<div class="highlight"><pre><span></span><code><span class="nt">version</span><span class="p">:</span><span class="w"> </span><span class="s">&#39;2.1&#39;</span><span class="w"></span> <div class="highlight"><pre><span></span><code><span class="nt">version</span><span class="p">:</span><span class="w"> </span><span class="s">&#39;2.1&#39;</span>
<span class="nt">services</span><span class="p">:</span><span class="w"></span> <span class="nt">services</span><span class="p">:</span>
<span class="w"> </span><span class="nt">nginx-mailcow</span><span class="p">:</span><span class="w"></span> <span class="w"> </span><span class="nt">nginx-mailcow</span><span class="p">:</span>
<span class="w"> </span><span class="nt">networks</span><span class="p">:</span><span class="w"></span> <span class="w"> </span><span class="nt">networks</span><span class="p">:</span>
<span class="w"> </span><span class="c1"># Traefiks Netzwerk hinzufĂĽgen</span><span class="w"></span> <span class="w"> </span><span class="c1"># Traefiks Netzwerk hinzufĂĽgen</span>
<span class="w"> </span><span class="nt">web</span><span class="p">:</span><span class="w"></span> <span class="w"> </span><span class="nt">web</span><span class="p">:</span>
<span class="w"> </span><span class="nt">labels</span><span class="p">:</span><span class="w"></span> <span class="w"> </span><span class="nt">labels</span><span class="p">:</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">traefik.enable=true</span><span class="w"></span> <span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">traefik.enable=true</span>
<span class="w"> </span><span class="c1"># Erstellt einen Router namens &quot;moo&quot; fĂĽr den Container und richtet eine Regel ein, um den Container mit einer bestimmten Regel zu verknĂĽpfen,</span><span class="w"></span> <span class="w"> </span><span class="c1"># Erstellt einen Router namens &quot;moo&quot; fĂĽr den Container und richtet eine Regel ein, um den Container mit einer bestimmten Regel zu verknĂĽpfen,</span>
<span class="w"> </span><span class="c1"># in diesem Fall eine Host-Regel mit unserer MAILCOW_HOSTNAME-Variable.</span><span class="w"></span> <span class="w"> </span><span class="c1"># in diesem Fall eine Host-Regel mit unserer MAILCOW_HOSTNAME-Variable.</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">traefik.http.routers.moo.rule=Host(`${MAILCOW_HOSTNAME}`)</span><span class="w"></span> <span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">traefik.http.routers.moo.rule=Host(`${MAILCOW_HOSTNAME}`)</span>
<span class="w"> </span><span class="c1"># Aktiviert tls ĂĽber den zuvor erstellten Router.</span><span class="w"></span> <span class="w"> </span><span class="c1"># Aktiviert tls ĂĽber den zuvor erstellten Router.</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">traefik.http.routers.moo.tls=true</span><span class="w"></span> <span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">traefik.http.routers.moo.tls=true</span>
<span class="w"> </span><span class="c1"># Gibt an, welche Art von Cert-Resolver wir verwenden werden, in diesem Fall le (Lets Encrypt).</span><span class="w"></span> <span class="w"> </span><span class="c1"># Gibt an, welche Art von Cert-Resolver wir verwenden werden, in diesem Fall le (Lets Encrypt).</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">traefik.http.routers.moo.tls.certresolver=le</span><span class="w"></span> <span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">traefik.http.routers.moo.tls.certresolver=le</span>
<span class="w"> </span><span class="c1"># Erzeugt einen Dienst namens &quot;moo&quot; fĂĽr den Container und gibt an, welchen internen Port des Containers</span><span class="w"></span> <span class="w"> </span><span class="c1"># Erzeugt einen Dienst namens &quot;moo&quot; fĂĽr den Container und gibt an, welchen internen Port des Containers</span>
<span class="w"> </span><span class="c1"># Traefik die eingehenden Daten weiterleiten soll.</span><span class="w"></span> <span class="w"> </span><span class="c1"># Traefik die eingehenden Daten weiterleiten soll.</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">traefik.http.services.moo.loadbalancer.server.port=${HTTP_PORT}</span><span class="w"></span> <span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">traefik.http.services.moo.loadbalancer.server.port=${HTTP_PORT}</span>
<span class="w"> </span><span class="c1"># Gibt an, welchen Eingangspunkt (externer Port) traefik für diesen Container abhören soll.</span><span class="w"></span> <span class="w"> </span><span class="c1"># Gibt an, welchen Eingangspunkt (externer Port) traefik für diesen Container abhören soll.</span>
<span class="w"> </span><span class="c1"># Websecure ist Port 443, siehe die Datei traefik.toml wie oben.</span><span class="w"></span> <span class="w"> </span><span class="c1"># Websecure ist Port 443, siehe die Datei traefik.toml wie oben.</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">traefik.http.routers.moo.entrypoints=websecure</span><span class="w"></span> <span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">traefik.http.routers.moo.entrypoints=websecure</span>
<span class="w"> </span><span class="c1"># Stellen Sie sicher, dass traefik das Web-Netzwerk verwendet, nicht das mailcowdockerized_mailcow-network</span><span class="w"></span> <span class="w"> </span><span class="c1"># Stellen Sie sicher, dass traefik das Web-Netzwerk verwendet, nicht das mailcowdockerized_mailcow-network</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">traefik.docker.network=web</span><span class="w"></span> <span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">traefik.docker.network=web</span>
<span class="w"> </span><span class="nt">certdumper</span><span class="p">:</span><span class="w"></span> <span class="w"> </span><span class="nt">certdumper</span><span class="p">:</span>
<span class="w"> </span><span class="nt">image</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">humenius/traefik-certs-dumper</span><span class="w"></span> <span class="w"> </span><span class="nt">image</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">humenius/traefik-certs-dumper</span>
<span class="w"> </span><span class="nt">command</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">--restart-containers ${COMPOSE_PROJECT_NAME}-postfix-mailcow-1,${COMPOSE_PROJECT_NAME}-nginx-mailcow-1,${COMPOSE_PROJECT_NAME}-dovecot-mailcow-1</span><span class="w"></span> <span class="w"> </span><span class="nt">command</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">--restart-containers ${COMPOSE_PROJECT_NAME}-postfix-mailcow-1,${COMPOSE_PROJECT_NAME}-nginx-mailcow-1,${COMPOSE_PROJECT_NAME}-dovecot-mailcow-1</span>
<span class="w"> </span><span class="nt">network_mode</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">none</span><span class="w"></span> <span class="w"> </span><span class="nt">network_mode</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">none</span>
<span class="w"> </span><span class="nt">volumes</span><span class="p">:</span><span class="w"></span> <span class="w"> </span><span class="nt">volumes</span><span class="p">:</span>
<span class="w"> </span><span class="c1"># Binden Sie das Volume, das Traefiks `acme.json&#39; Datei enthält, ein</span><span class="w"></span> <span class="w"> </span><span class="c1"># Binden Sie das Volume, das Traefiks `acme.json&#39; Datei enthält, ein</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">acme:/traefik:ro</span><span class="w"></span> <span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">acme:/traefik:ro</span>
<span class="w"> </span><span class="c1"># SSL-Ordner von mailcow einhängen</span><span class="w"></span> <span class="w"> </span><span class="c1"># SSL-Ordner von mailcow einhängen</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">./data/assets/ssl/:/output:rw</span><span class="w"></span> <span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">./data/assets/ssl/:/output:rw</span>
<span class="w"> </span><span class="c1"># Binden Sie den Docker Socket ein, damit traefik-certs-dumper die Container neu starten kann</span><span class="w"></span> <span class="w"> </span><span class="c1"># Binden Sie den Docker Socket ein, damit traefik-certs-dumper die Container neu starten kann</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/var/run/docker.sock:/var/run/docker.sock:ro</span><span class="w"></span> <span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">/var/run/docker.sock:/var/run/docker.sock:ro</span>
<span class="w"> </span><span class="nt">restart</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">always</span><span class="w"></span> <span class="w"> </span><span class="nt">restart</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">always</span>
<span class="w"> </span><span class="nt">environment</span><span class="p">:</span><span class="w"></span> <span class="w"> </span><span class="nt">environment</span><span class="p">:</span>
<span class="w"> </span><span class="c1"># Ă„ndern Sie dies nur, wenn Sie eine andere Domain fĂĽr Mailcows Web-Frontend verwenden als in der Standard-Konfiguration</span><span class="w"></span> <span class="w"> </span><span class="c1"># Ă„ndern Sie dies nur, wenn Sie eine andere Domain fĂĽr Mailcows Web-Frontend verwenden als in der Standard-Konfiguration</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">DOMAIN=${MAILCOW_HOSTNAME}</span><span class="w"></span> <span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">DOMAIN=${MAILCOW_HOSTNAME}</span>
<span class="nt">networks</span><span class="p">:</span><span class="w"></span> <span class="nt">networks</span><span class="p">:</span>
<span class="w"> </span><span class="nt">web</span><span class="p">:</span><span class="w"></span> <span class="w"> </span><span class="nt">web</span><span class="p">:</span>
<span class="w"> </span><span class="nt">external</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span><span class="w"></span> <span class="w"> </span><span class="nt">external</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span>
<span class="w"> </span><span class="c1"># Name des externen Netzwerks</span><span class="w"></span> <span class="w"> </span><span class="c1"># Name des externen Netzwerks</span>
<span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">traefik_web</span><span class="w"></span> <span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">traefik_web</span>
<span class="nt">volumes</span><span class="p">:</span><span class="w"></span> <span class="nt">volumes</span><span class="p">:</span>
<span class="w"> </span><span class="nt">acme</span><span class="p">:</span><span class="w"></span> <span class="w"> </span><span class="nt">acme</span><span class="p">:</span>
<span class="w"> </span><span class="nt">external</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span><span class="w"></span> <span class="w"> </span><span class="nt">external</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span>
<span class="w"> </span><span class="c1"># Name des externen Docker Volumes, welches Traefiks `acme.json&#39; Datei enthält</span><span class="w"></span> <span class="w"> </span><span class="c1"># Name des externen Docker Volumes, welches Traefiks `acme.json&#39; Datei enthält</span>
<span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">traefik_acme</span><span class="w"></span> <span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">traefik_acme</span>
</code></pre></div> </code></pre></div>
<p>Starten Sie die neuen Container mit <code>docker compose up -d</code>.</p> <p>Starten Sie die neuen Container mit <code>docker compose up -d</code>.</p>
<p>Da Traefik 2 ein acme v2 Format verwendet, um ALLE Zertifikaten von allen Domains zu speichern, mĂĽssen wir einen Weg finden, die Zertifikate auszulagern. Zum GlĂĽck haben wir [diesen kleinen Container] (<a href="https://hub.docker.com/r/humenius/traefik-certs-dumper">https://hub.docker.com/r/humenius/traefik-certs-dumper</a>), der die Datei <code>acme.json</code> ĂĽber ein Volume und eine Variable <code>DOMAIN=example. org</code>, und damit wird der Container die <code>cert.pem</code> und <code>key.pem</code> Dateien ausgeben, dafĂĽr lassen wir einfach den <code>traefik-certs-dumper</code> Container laufen, binden das <code>/traefik</code> Volume an den Ordner, in dem unsere <code>acme.json</code> gespeichert ist, binden das <code>/output</code> Volume an unseren mailcow <code>data/assets/ssl/</code> Ordner, und setzen die <code>DOMAIN=example.org</code> Variable auf die Domain, von der wir die Zertifikate ausgeben wollen. </p> <p>Da Traefik 2 ein acme v2 Format verwendet, um ALLE Zertifikaten von allen Domains zu speichern, mĂĽssen wir einen Weg finden, die Zertifikate auszulagern. Zum GlĂĽck haben wir [diesen kleinen Container] (<a href="https://hub.docker.com/r/humenius/traefik-certs-dumper">https://hub.docker.com/r/humenius/traefik-certs-dumper</a>), der die Datei <code>acme.json</code> ĂĽber ein Volume und eine Variable <code>DOMAIN=example. org</code>, und damit wird der Container die <code>cert.pem</code> und <code>key.pem</code> Dateien ausgeben, dafĂĽr lassen wir einfach den <code>traefik-certs-dumper</code> Container laufen, binden das <code>/traefik</code> Volume an den Ordner, in dem unsere <code>acme.json</code> gespeichert ist, binden das <code>/output</code> Volume an unseren mailcow <code>data/assets/ssl/</code> Ordner, und setzen die <code>DOMAIN=example.org</code> Variable auf die Domain, von der wir die Zertifikate ausgeben wollen. </p>
@ -2773,19 +2773,19 @@ Dazu mĂĽssen wir <code>SKIP_LETS_ENCRYPT=y</code> in unserer <code>mailcow.conf<
<p><strong>Wichtig</strong>: Der ACME Client der mailcow muss deaktiviert sein, da es sonst zu Fehlern seitens mailcow kommt.</p> <p><strong>Wichtig</strong>: Der ACME Client der mailcow muss deaktiviert sein, da es sonst zu Fehlern seitens mailcow kommt.</p>
<p>Da Caddy sich direkt selbst um die Zertifikate kümmert, können wir mit dem folgenden Skript die Caddy generierten Zertifikate in die mailcow inkludieren:</p> <p>Da Caddy sich direkt selbst um die Zertifikate kümmert, können wir mit dem folgenden Skript die Caddy generierten Zertifikate in die mailcow inkludieren:</p>
<div class="highlight"><pre><span></span><code><span class="ch">#!/bin/bash</span> <div class="highlight"><pre><span></span><code><span class="ch">#!/bin/bash</span>
<span class="nv">MD5SUM_CURRENT_CERT</span><span class="o">=(</span><span class="k">$(</span>md5sum /opt/mailcow-dockerized/data/assets/ssl/cert.pem<span class="k">)</span><span class="o">)</span> <span class="nv">MD5SUM_CURRENT_CERT</span><span class="o">=(</span><span class="k">$(</span>md5sum<span class="w"> </span>/opt/mailcow-dockerized/data/assets/ssl/cert.pem<span class="k">)</span><span class="o">)</span>
<span class="nv">MD5SUM_NEW_CERT</span><span class="o">=(</span><span class="k">$(</span>md5sum /var/lib/caddy/.local/share/caddy/certificates/acme-v02.api.letsencrypt.org-directory/your.domain.tld/your.domain.tld.crt<span class="k">)</span><span class="o">)</span> <span class="nv">MD5SUM_NEW_CERT</span><span class="o">=(</span><span class="k">$(</span>md5sum<span class="w"> </span>/var/lib/caddy/.local/share/caddy/certificates/acme-v02.api.letsencrypt.org-directory/your.domain.tld/your.domain.tld.crt<span class="k">)</span><span class="o">)</span>
<span class="k">if</span> <span class="o">[</span> <span class="nv">$MD5SUM_CURRENT_CERT</span> !<span class="o">=</span> <span class="nv">$MD5SUM_NEW_CERT</span> <span class="o">]</span><span class="p">;</span> <span class="k">then</span> <span class="k">if</span><span class="w"> </span><span class="o">[</span><span class="w"> </span><span class="nv">$MD5SUM_CURRENT_CERT</span><span class="w"> </span>!<span class="o">=</span><span class="w"> </span><span class="nv">$MD5SUM_NEW_CERT</span><span class="w"> </span><span class="o">]</span><span class="p">;</span><span class="w"> </span><span class="k">then</span>
cp /var/lib/caddy/.local/share/caddy/certificates/acme-v02.api.letsencrypt.org-directory/your.domain.tld/your.domain.tld.crt /opt/mailcow-dockerized/data/assets/ssl/cert.pem <span class="w"> </span>cp<span class="w"> </span>/var/lib/caddy/.local/share/caddy/certificates/acme-v02.api.letsencrypt.org-directory/your.domain.tld/your.domain.tld.crt<span class="w"> </span>/opt/mailcow-dockerized/data/assets/ssl/cert.pem
cp /var/lib/caddy/.local/share/caddy/certificates/acme-v02.api.letsencrypt.org-directory/your.domain.tld/your.domain.tld.key /opt/mailcow-dockerized/data/assets/ssl/key.pem <span class="w"> </span>cp<span class="w"> </span>/var/lib/caddy/.local/share/caddy/certificates/acme-v02.api.letsencrypt.org-directory/your.domain.tld/your.domain.tld.key<span class="w"> </span>/opt/mailcow-dockerized/data/assets/ssl/key.pem
<span class="nv">postfix_c</span><span class="o">=</span><span class="k">$(</span>docker ps -qaf <span class="nv">name</span><span class="o">=</span>postfix-mailcow<span class="k">)</span> <span class="w"> </span><span class="nv">postfix_c</span><span class="o">=</span><span class="k">$(</span>docker<span class="w"> </span>ps<span class="w"> </span>-qaf<span class="w"> </span><span class="nv">name</span><span class="o">=</span>postfix-mailcow<span class="k">)</span>
<span class="nv">dovecot_c</span><span class="o">=</span><span class="k">$(</span>docker ps -qaf <span class="nv">name</span><span class="o">=</span>dovecot-mailcow<span class="k">)</span> <span class="w"> </span><span class="nv">dovecot_c</span><span class="o">=</span><span class="k">$(</span>docker<span class="w"> </span>ps<span class="w"> </span>-qaf<span class="w"> </span><span class="nv">name</span><span class="o">=</span>dovecot-mailcow<span class="k">)</span>
<span class="nv">nginx_c</span><span class="o">=</span><span class="k">$(</span>docker ps -qaf <span class="nv">name</span><span class="o">=</span>nginx-mailcow<span class="k">)</span> <span class="w"> </span><span class="nv">nginx_c</span><span class="o">=</span><span class="k">$(</span>docker<span class="w"> </span>ps<span class="w"> </span>-qaf<span class="w"> </span><span class="nv">name</span><span class="o">=</span>nginx-mailcow<span class="k">)</span>
docker restart <span class="si">${</span><span class="nv">postfix_c</span><span class="si">}</span> <span class="si">${</span><span class="nv">dovecot_c</span><span class="si">}</span> <span class="si">${</span><span class="nv">nginx_c</span><span class="si">}</span> <span class="w"> </span>docker<span class="w"> </span>restart<span class="w"> </span><span class="si">${</span><span class="nv">postfix_c</span><span class="si">}</span><span class="w"> </span><span class="si">${</span><span class="nv">dovecot_c</span><span class="si">}</span><span class="w"> </span><span class="si">${</span><span class="nv">nginx_c</span><span class="si">}</span>
<span class="k">else</span> <span class="k">else</span>
<span class="nb">echo</span> <span class="s2">&quot;Certs not copied from Caddy (Not needed)&quot;</span> <span class="w"> </span><span class="nb">echo</span><span class="w"> </span><span class="s2">&quot;Certs not copied from Caddy (Not needed)&quot;</span>
<span class="k">fi</span> <span class="k">fi</span>
</code></pre></div> </code></pre></div>
<div class="admonition warning"> <div class="admonition warning">
@ -2796,7 +2796,7 @@ Bei diesem Installationsbeispiel wurde Caddy mithilfe des Caddy Repos (<a href="
Um den Caddy Zertifikatspfad auf Ihrem System herauszufinden, genĂĽgt ein <code>find / -name "certificates"</code>.</p> Um den Caddy Zertifikatspfad auf Ihrem System herauszufinden, genĂĽgt ein <code>find / -name "certificates"</code>.</p>
</div> </div>
<p>Dieses Skript könnte dann als Cronjob jede Stunde aufgerufen werden:</p> <p>Dieses Skript könnte dann als Cronjob jede Stunde aufgerufen werden:</p>
<div class="highlight"><pre><span></span><code><span class="m">0</span> * * * * /bin/bash /path/to/script/deploy-certs.sh &gt;/dev/null <span class="m">2</span>&gt;<span class="p">&amp;</span><span class="m">1</span> <div class="highlight"><pre><span></span><code><span class="m">0</span><span class="w"> </span>*<span class="w"> </span>*<span class="w"> </span>*<span class="w"> </span>*<span class="w"> </span>/bin/bash<span class="w"> </span>/path/to/script/deploy-certs.sh<span class="w"> </span>&gt;/dev/null<span class="w"> </span><span class="m">2</span>&gt;<span class="p">&amp;</span><span class="m">1</span>
</code></pre></div> </code></pre></div>
<h3 id="optional-post-hook-skript-fur-nicht-mailcow-acme-clients">Optional: Post-Hook-Skript fĂĽr nicht-mailcow ACME-Clients<a class="headerlink" href="#optional-post-hook-skript-fur-nicht-mailcow-acme-clients" title="Permanent link">&para;</a></h3> <h3 id="optional-post-hook-skript-fur-nicht-mailcow-acme-clients">Optional: Post-Hook-Skript fĂĽr nicht-mailcow ACME-Clients<a class="headerlink" href="#optional-post-hook-skript-fur-nicht-mailcow-acme-clients" title="Permanent link">&para;</a></h3>
<p>Die Verwendung eines lokalen Certbots (oder eines anderen ACME-Clients) erfordert den Neustart einiger Container, was Sie mit einem Post-Hook-Skript erledigen können. <p>Die Verwendung eines lokalen Certbots (oder eines anderen ACME-Clients) erfordert den Neustart einiger Container, was Sie mit einem Post-Hook-Skript erledigen können.
@ -2887,7 +2887,7 @@ docker restart ${postfix_c} ${dovecot_c} ${nginx_c}
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2472,7 +2472,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2476,7 +2476,7 @@ SNAT6_TO_SOURCE=dead:beef
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2801,7 +2801,7 @@ bash helper-scripts/expiry-dates.sh
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2546,7 +2546,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2757,7 +2757,7 @@ Einzelheiten:
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2912,7 +2912,7 @@ Sie können außerdem die <a href="https://wiki.hetzner.de/index.php/Cloud_IP_st
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2705,44 +2705,44 @@ Diese Anleitung behandelt nur die Grundlagen.</p>
<h3 id="erstellen-oder-andern-sie-docker-composeoverrideyml">Erstellen oder ändern Sie <code>docker-compose.override.yml</code><a class="headerlink" href="#erstellen-oder-andern-sie-docker-composeoverrideyml" title="Permanent link">&para;</a></h3> <h3 id="erstellen-oder-andern-sie-docker-composeoverrideyml">Erstellen oder ändern Sie <code>docker-compose.override.yml</code><a class="headerlink" href="#erstellen-oder-andern-sie-docker-composeoverrideyml" title="Permanent link">&para;</a></h3>
<p>Im mailcow-dockerized Stammverzeichnis erstellen oder bearbeiten Sie <code>docker-compose.override.yml</code> und fĂĽgen Sie die folgende <p>Im mailcow-dockerized Stammverzeichnis erstellen oder bearbeiten Sie <code>docker-compose.override.yml</code> und fĂĽgen Sie die folgende
Konfiguration ein: Konfiguration ein:
<div class="highlight"><pre><span></span><code><span class="nt">version</span><span class="p">:</span><span class="w"> </span><span class="s">&#39;2.1&#39;</span><span class="w"></span> <div class="highlight"><pre><span></span><code><span class="nt">version</span><span class="p">:</span><span class="w"> </span><span class="s">&#39;2.1&#39;</span>
<span class="nt">services</span><span class="p">:</span><span class="w"></span> <span class="nt">services</span><span class="p">:</span>
<span class="w"> </span><span class="nt">borgmatic-mailcow</span><span class="p">:</span><span class="w"></span> <span class="w"> </span><span class="nt">borgmatic-mailcow</span><span class="p">:</span>
<span class="w"> </span><span class="nt">image</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">ghcr.io/borgmatic-collective/borgmatic</span><span class="w"></span> <span class="w"> </span><span class="nt">image</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">ghcr.io/borgmatic-collective/borgmatic</span>
<span class="w"> </span><span class="nt">hostname</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">mailcow</span><span class="w"></span> <span class="w"> </span><span class="nt">hostname</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">mailcow</span>
<span class="w"> </span><span class="nt">restart</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">always</span><span class="w"></span> <span class="w"> </span><span class="nt">restart</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">always</span>
<span class="w"> </span><span class="nt">dns</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">${IPV4_NETWORK:-172.22.1}.254</span><span class="w"></span> <span class="w"> </span><span class="nt">dns</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">${IPV4_NETWORK:-172.22.1}.254</span>
<span class="w"> </span><span class="nt">volumes</span><span class="p">:</span><span class="w"></span> <span class="w"> </span><span class="nt">volumes</span><span class="p">:</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">vmail-vol-1:/mnt/source/vmail:ro</span><span class="w"></span> <span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">vmail-vol-1:/mnt/source/vmail:ro</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">crypt-vol-1:/mnt/source/crypt:ro</span><span class="w"></span> <span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">crypt-vol-1:/mnt/source/crypt:ro</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">redis-vol-1:/mnt/source/redis:ro,z</span><span class="w"></span> <span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">redis-vol-1:/mnt/source/redis:ro,z</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">rspamd-vol-1:/mnt/source/rspamd:ro,z</span><span class="w"></span> <span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">rspamd-vol-1:/mnt/source/rspamd:ro,z</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">postfix-vol-1:/mnt/source/postfix:ro,z</span><span class="w"></span> <span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">postfix-vol-1:/mnt/source/postfix:ro,z</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">mysql-socket-vol-1:/var/run/mysqld/:z</span><span class="w"></span> <span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">mysql-socket-vol-1:/var/run/mysqld/:z</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">borg-config-vol-1:/root/.config/borg:Z</span><span class="w"></span> <span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">borg-config-vol-1:/root/.config/borg:Z</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">borg-cache-vol-1:/root/.cache/borg:Z</span><span class="w"></span> <span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">borg-cache-vol-1:/root/.cache/borg:Z</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">./data/conf/borgmatic/etc:/etc/borgmatic.d:Z</span><span class="w"></span> <span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">./data/conf/borgmatic/etc:/etc/borgmatic.d:Z</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">./data/conf/borgmatic/ssh:/root/.ssh:Z</span><span class="w"></span> <span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">./data/conf/borgmatic/ssh:/root/.ssh:Z</span>
<span class="w"> </span><span class="nt">environment</span><span class="p">:</span><span class="w"></span> <span class="w"> </span><span class="nt">environment</span><span class="p">:</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">TZ=${TZ}</span><span class="w"></span> <span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">TZ=${TZ}</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">BORG_PASSPHRASE=YouBetterPutSomethingRealGoodHere</span><span class="w"></span> <span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">BORG_PASSPHRASE=YouBetterPutSomethingRealGoodHere</span>
<span class="w"> </span><span class="nt">networks</span><span class="p">:</span><span class="w"></span> <span class="w"> </span><span class="nt">networks</span><span class="p">:</span>
<span class="w"> </span><span class="nt">mailcow-network</span><span class="p">:</span><span class="w"></span> <span class="w"> </span><span class="nt">mailcow-network</span><span class="p">:</span>
<span class="w"> </span><span class="nt">aliases</span><span class="p">:</span><span class="w"></span> <span class="w"> </span><span class="nt">aliases</span><span class="p">:</span>
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">borgmatic</span><span class="w"></span> <span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">borgmatic</span>
<span class="nt">volumes</span><span class="p">:</span><span class="w"></span> <span class="nt">volumes</span><span class="p">:</span>
<span class="w"> </span><span class="nt">borg-cache-vol-1</span><span class="p">:</span><span class="w"></span> <span class="w"> </span><span class="nt">borg-cache-vol-1</span><span class="p">:</span>
<span class="w"> </span><span class="nt">borg-config-vol-1</span><span class="p">:</span><span class="w"></span> <span class="w"> </span><span class="nt">borg-config-vol-1</span><span class="p">:</span>
</code></pre></div></p> </code></pre></div></p>
<p>Stellen Sie sicher, dass Sie die <code>BORG_PASSPHRASE</code> in eine sichere Passphrase Ihrer Wahl ändern.</p> <p>Stellen Sie sicher, dass Sie die <code>BORG_PASSPHRASE</code> in eine sichere Passphrase Ihrer Wahl ändern.</p>
<p>Aus Sicherheitsgründen mounten wir das maildir als schreibgeschützt. Wenn Sie später Daten wiederherstellen wollen, <p>Aus Sicherheitsgründen mounten wir das maildir als schreibgeschützt. Wenn Sie später Daten wiederherstellen wollen,
mĂĽssen Sie das <code>ro</code>-Flag entfernen, bevor Sie die Daten wiederherstellen. Dies wird im Abschnitt ĂĽber die Wiederherstellung von Backups beschrieben.</p> mĂĽssen Sie das <code>ro</code>-Flag entfernen, bevor Sie die Daten wiederherstellen. Dies wird im Abschnitt ĂĽber die Wiederherstellung von Backups beschrieben.</p>
<h3 id="erstellen-sie-dataconfborgmaticetcconfigyaml">Erstellen Sie <code>data/conf/borgmatic/etc/config.yaml</code><a class="headerlink" href="#erstellen-sie-dataconfborgmaticetcconfigyaml" title="Permanent link">&para;</a></h3> <h3 id="erstellen-sie-dataconfborgmaticetcconfigyaml">Erstellen Sie <code>data/conf/borgmatic/etc/config.yaml</code><a class="headerlink" href="#erstellen-sie-dataconfborgmaticetcconfigyaml" title="Permanent link">&para;</a></h3>
<p>Als nächstes müssen wir die borgmatic-Konfiguration erstellen.</p> <p>Als nächstes müssen wir die borgmatic-Konfiguration erstellen.</p>
<div class="highlight"><pre><span></span><code><span class="nb">source</span> mailcow.conf <div class="highlight"><pre><span></span><code><span class="nb">source</span><span class="w"> </span>mailcow.conf
cat <span class="s">&lt;&lt;EOF &gt; data/conf/borgmatic/etc/config.yaml</span> cat<span class="w"> </span><span class="s">&lt;&lt;EOF &gt; data/conf/borgmatic/etc/config.yaml</span>
<span class="s">location:</span> <span class="s">location:</span>
<span class="s"> source_directories:</span> <span class="s"> source_directories:</span>
<span class="s"> - /mnt/source</span> <span class="s"> - /mnt/source</span>
@ -2793,7 +2793,7 @@ nach der vollen Stunde auszufĂĽhren und am Ende einige nette Statistiken zu prot
oder OpenSSH wird sich weigern, den SSH-SchlĂĽssel zu benutzen.</p> oder OpenSSH wird sich weigern, den SSH-SchlĂĽssel zu benutzen.</p>
<h3 id="den-container-hochfahren">Den Container hochfahren<a class="headerlink" href="#den-container-hochfahren" title="Permanent link">&para;</a></h3> <h3 id="den-container-hochfahren">Den Container hochfahren<a class="headerlink" href="#den-container-hochfahren" title="Permanent link">&para;</a></h3>
<p>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:</p> <p>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:</p>
<div class="highlight"><pre><span></span><code>docker compose up -d <div class="highlight"><pre><span></span><code>docker<span class="w"> </span>compose<span class="w"> </span>up<span class="w"> </span>-d
</code></pre></div> </code></pre></div>
<h2 id="wiederherstellung-von-einem-backup">Wiederherstellung von einem Backup<a class="headerlink" href="#wiederherstellung-von-einem-backup" title="Permanent link">&para;</a></h2> <h2 id="wiederherstellung-von-einem-backup">Wiederherstellung von einem Backup<a class="headerlink" href="#wiederherstellung-von-einem-backup" title="Permanent link">&para;</a></h2>
<p>Das Wiederherstellen eines Backups setzt voraus, dass Sie mit einer neuen Installation von mailcow beginnen, und dass Sie derzeit keine <p>Das Wiederherstellen eines Backups setzt voraus, dass Sie mit einer neuen Installation von mailcow beginnen, und dass Sie derzeit keine
@ -2814,7 +2814,7 @@ dieses Volume zu schreiben.</p>
<p>Bevor Sie eine Wiederherstellung durchfĂĽhren, mĂĽssen Sie das vmail-Volume in <code>docker-compose.override.yml</code> beschreibbar machen, indem Sie das <p>Bevor Sie eine Wiederherstellung durchfĂĽhren, mĂĽssen Sie das vmail-Volume in <code>docker-compose.override.yml</code> beschreibbar machen, indem Sie das
das <code>ro</code>-Flag aus dem Volume entfernen. das <code>ro</code>-Flag aus dem Volume entfernen.
Dann können Sie den folgenden Befehl verwenden, um das Maildir aus einem Backup wiederherzustellen:</p> Dann können Sie den folgenden Befehl verwenden, um das Maildir aus einem Backup wiederherzustellen:</p>
<div class="highlight"><pre><span></span><code>docker compose <span class="nb">exec</span> borgmatic-mailcow borgmatic extract --path mnt/source --archive latest <div class="highlight"><pre><span></span><code>docker<span class="w"> </span>compose<span class="w"> </span><span class="nb">exec</span><span class="w"> </span>borgmatic-mailcow<span class="w"> </span>borgmatic<span class="w"> </span>extract<span class="w"> </span>--path<span class="w"> </span>mnt/source<span class="w"> </span>--archive<span class="w"> </span>latest
</code></pre></div> </code></pre></div>
<p>Alternativ können Sie auch einen beliebigen Archivnamen aus der Liste der Archive angeben (siehe <p>Alternativ können Sie auch einen beliebigen Archivnamen aus der Liste der Archive angeben (siehe
<a href="#auflistung-aller-verfugbaren-archive">Auflistung aller verfĂĽgbaren Archive</a>)</p> <a href="#auflistung-aller-verfugbaren-archive">Auflistung aller verfĂĽgbaren Archive</a>)</p>
@ -2824,7 +2824,7 @@ Dann können Sie den folgenden Befehl verwenden, um das Maildir aus einem Backup
<p>Die Ausführung dieses Befehls löscht und erstellt die mailcow-Datenbank neu! Führen sie diesen Befehl nicht aus, es sei denn sie beabsichtigen, die mailcow-Datenbank von einem Backup wiederherzustellen.</p> <p>Die Ausführung dieses Befehls löscht und erstellt die mailcow-Datenbank neu! Führen sie diesen Befehl nicht aus, es sei denn sie beabsichtigen, die mailcow-Datenbank von einem Backup wiederherzustellen.</p>
</div> </div>
<p>Um die MySQL-Datenbank aus dem letzten Archiv wiederherzustellen, verwenden Sie diesen Befehl:</p> <p>Um die MySQL-Datenbank aus dem letzten Archiv wiederherzustellen, verwenden Sie diesen Befehl:</p>
<div class="highlight"><pre><span></span><code>docker compose <span class="nb">exec</span> borgmatic-mailcow borgmatic restore --archive latest <div class="highlight"><pre><span></span><code>docker<span class="w"> </span>compose<span class="w"> </span><span class="nb">exec</span><span class="w"> </span>borgmatic-mailcow<span class="w"> </span>borgmatic<span class="w"> </span>restore<span class="w"> </span>--archive<span class="w"> </span>latest
</code></pre></div> </code></pre></div>
<p>Alternativ können Sie auch einen beliebigen Archivnamen aus der Liste der Archive angeben (siehe <p>Alternativ können Sie auch einen beliebigen Archivnamen aus der Liste der Archive angeben (siehe
<a href="#auflistung-aller-verfugbaren-archive">Auflistung aller verfĂĽgbaren Archive</a>)</p> <a href="#auflistung-aller-verfugbaren-archive">Auflistung aller verfĂĽgbaren Archive</a>)</p>
@ -2832,21 +2832,21 @@ Dann können Sie den folgenden Befehl verwenden, um das Maildir aus einem Backup
<p>Nach der Wiederherstellung müssen Sie mailcow neu starten. Wenn Sie den SELinux-Erzwingungsmodus deaktiviert haben, wäre jetzt ein guter Zeitpunkt, um <p>Nach der Wiederherstellung müssen Sie mailcow neu starten. Wenn Sie den SELinux-Erzwingungsmodus deaktiviert haben, wäre jetzt ein guter Zeitpunkt, um
ihn wieder zu aktivieren.</p> ihn wieder zu aktivieren.</p>
<p>Um mailcow neu zu starten, verwenden Sie den folgenden Befehl:</p> <p>Um mailcow neu zu starten, verwenden Sie den folgenden Befehl:</p>
<div class="highlight"><pre><span></span><code>docker compose down <span class="o">&amp;&amp;</span> docker compose up -d <div class="highlight"><pre><span></span><code>docker<span class="w"> </span>compose<span class="w"> </span>down<span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span>docker<span class="w"> </span>compose<span class="w"> </span>up<span class="w"> </span>-d
</code></pre></div> </code></pre></div>
<p>Wenn Sie SELinux verwenden, werden dadurch auch alle Dateien in Ihrem vmail-Volume neu benannt. Seien Sie geduldig, denn dies kann <p>Wenn Sie SELinux verwenden, werden dadurch auch alle Dateien in Ihrem vmail-Volume neu benannt. Seien Sie geduldig, denn dies kann
eine Weile dauern kann, wenn Sie viele Dateien haben.</p> eine Weile dauern kann, wenn Sie viele Dateien haben.</p>
<h2 id="nutzliche-befehle">NĂĽtzliche Befehle<a class="headerlink" href="#nutzliche-befehle" title="Permanent link">&para;</a></h2> <h2 id="nutzliche-befehle">NĂĽtzliche Befehle<a class="headerlink" href="#nutzliche-befehle" title="Permanent link">&para;</a></h2>
<h3 id="manueller-archivierungslauf-mit-debugging-ausgabe">Manueller Archivierungslauf (mit Debugging-Ausgabe)<a class="headerlink" href="#manueller-archivierungslauf-mit-debugging-ausgabe" title="Permanent link">&para;</a></h3> <h3 id="manueller-archivierungslauf-mit-debugging-ausgabe">Manueller Archivierungslauf (mit Debugging-Ausgabe)<a class="headerlink" href="#manueller-archivierungslauf-mit-debugging-ausgabe" title="Permanent link">&para;</a></h3>
<div class="highlight"><pre><span></span><code>docker compose <span class="nb">exec</span> borgmatic-mailcow borgmatic -v <span class="m">2</span> <div class="highlight"><pre><span></span><code>docker<span class="w"> </span>compose<span class="w"> </span><span class="nb">exec</span><span class="w"> </span>borgmatic-mailcow<span class="w"> </span>borgmatic<span class="w"> </span>-v<span class="w"> </span><span class="m">2</span>
</code></pre></div> </code></pre></div>
<h3 id="auflistung-aller-verfugbaren-archive">Auflistung aller verfĂĽgbaren Archive<a class="headerlink" href="#auflistung-aller-verfugbaren-archive" title="Permanent link">&para;</a></h3> <h3 id="auflistung-aller-verfugbaren-archive">Auflistung aller verfĂĽgbaren Archive<a class="headerlink" href="#auflistung-aller-verfugbaren-archive" title="Permanent link">&para;</a></h3>
<div class="highlight"><pre><span></span><code>docker compose <span class="nb">exec</span> borgmatic-mailcow borgmatic list <div class="highlight"><pre><span></span><code>docker<span class="w"> </span>compose<span class="w"> </span><span class="nb">exec</span><span class="w"> </span>borgmatic-mailcow<span class="w"> </span>borgmatic<span class="w"> </span>list
</code></pre></div> </code></pre></div>
<h3 id="sperre-aufheben">Sperre aufheben<a class="headerlink" href="#sperre-aufheben" title="Permanent link">&para;</a></h3> <h3 id="sperre-aufheben">Sperre aufheben<a class="headerlink" href="#sperre-aufheben" title="Permanent link">&para;</a></h3>
<p>Wenn borg während eines Archivierungslaufs unterbrochen wird, hinterlässt es eine veraltete Sperre, die gelöscht werden muss, bevor <p>Wenn borg während eines Archivierungslaufs unterbrochen wird, hinterlässt es eine veraltete Sperre, die gelöscht werden muss, bevor
neue Operationen durchgeführt werden können:</p> neue Operationen durchgeführt werden können:</p>
<div class="highlight"><pre><span></span><code>docker compose <span class="nb">exec</span> borgmatic-mailcow borg break-lock user@rsync.net:mailcow <div class="highlight"><pre><span></span><code>docker<span class="w"> </span>compose<span class="w"> </span><span class="nb">exec</span><span class="w"> </span>borgmatic-mailcow<span class="w"> </span>borg<span class="w"> </span>break-lock<span class="w"> </span>user@rsync.net:mailcow
</code></pre></div> </code></pre></div>
<p>Wobei <code>user@rsync.net:mailcow</code> die URI zu Ihrem Repository ist.</p> <p>Wobei <code>user@rsync.net:mailcow</code> die URI zu Ihrem Repository ist.</p>
<p>Jetzt wäre ein guter Zeitpunkt, einen manuellen Archivierungslauf durchzuführen, um sicherzustellen, dass er erfolgreich durchgeführt werden kann.</p> <p>Jetzt wäre ein guter Zeitpunkt, einen manuellen Archivierungslauf durchzuführen, um sicherzustellen, dass er erfolgreich durchgeführt werden kann.</p>
@ -2856,7 +2856,7 @@ SchlĂĽsseldateien werden erzeugt, wenn Sie das Repository initialisieren. Die <c
Repository, so dass eine manuelle Sicherung nicht so wichtig ist.</p> Repository, so dass eine manuelle Sicherung nicht so wichtig ist.</p>
<p>Beachten Sie, dass Sie in beiden Fällen auch die Passphrase haben müssen, um die Archive zu entschlüsseln.</p> <p>Beachten Sie, dass Sie in beiden Fällen auch die Passphrase haben müssen, um die Archive zu entschlüsseln.</p>
<p>Um die <code>keyfile</code> zu holen, fĂĽhren Sie aus:</p> <p>Um die <code>keyfile</code> zu holen, fĂĽhren Sie aus:</p>
<div class="highlight"><pre><span></span><code>docker compose <span class="nb">exec</span> borgmatic-mailcow borg key <span class="nb">export</span> --paper user@rsync.net:mailcow <div class="highlight"><pre><span></span><code>docker<span class="w"> </span>compose<span class="w"> </span><span class="nb">exec</span><span class="w"> </span>borgmatic-mailcow<span class="w"> </span>borg<span class="w"> </span>key<span class="w"> </span><span class="nb">export</span><span class="w"> </span>--paper<span class="w"> </span>user@rsync.net:mailcow
</code></pre></div> </code></pre></div>
<p>Wobei <code>user@rsync.net:mailcow</code> die URI zu Ihrem Repository ist.</p> <p>Wobei <code>user@rsync.net:mailcow</code> die URI zu Ihrem Repository ist.</p>
@ -2932,7 +2932,7 @@ Repository, so dass eine manuelle Sicherung nicht so wichtig ist.</p>
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2603,7 +2603,7 @@ exit
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2622,7 +2622,7 @@
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Datei anzeigen

@ -2502,7 +2502,7 @@ ROOT_URL = https://mx.example.org/gitea/
<div class="md-copyright"> <div class="md-copyright">
<div class="md-copyright__highlight"> <div class="md-copyright__highlight">
Copyright &copy; 2022 Servercow Team & Community Copyright &copy; 2023 Servercow Team & Community
</div> </div>

Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden Mehr anzeigen