This commit is contained in:
github-actions[bot] 2024-01-28 21:35:44 +00:00
parent a617465bc5
commit 3e85fae22c
50 changed files with 337 additions and 268 deletions

File diff suppressed because one or more lines are too long

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../../../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2572,7 +2572,7 @@ update-ca-certificates
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../../../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../../../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2230,7 +2230,7 @@
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../../../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../../../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2194,7 +2194,7 @@
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../../../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../../../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2434,7 +2434,7 @@ chmod<span class="w"> </span><span class="m">0644</span><span class="w"> </span>
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../../../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../../../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2437,7 +2437,7 @@ curl<span class="w"> </span>--max-time<span class="w"> </span><span class="m">5<
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../../../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../../../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2406,7 +2406,6 @@
<span class="w"> </span><span class="nt">POSTMASTER_ADDRESS</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">postmaster@example.com</span>
<span class="w"> </span><span class="nt">UPDATE_CHECK_INTERVAL</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">10d</span>
<span class="w"> </span><span class="nt">POSTFIX_INET_PROTOCOLS</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">ipv4</span>
<span class="w"> </span><span class="nt">ONE_DIR</span><span class="p">:</span><span class="w"> </span><span class="s">&#39;1&#39;</span>
<span class="w"> </span><span class="nt">ENABLE_CLAMAV</span><span class="p">:</span><span class="w"> </span><span class="s">&#39;1&#39;</span>
<span class="w"> </span><span class="nt">ENABLE_POSTGREY</span><span class="p">:</span><span class="w"> </span><span class="s">&#39;0&#39;</span>
<span class="w"> </span><span class="nt">ENABLE_FAIL2BAN</span><span class="p">:</span><span class="w"> </span><span class="s">&#39;1&#39;</span>
@ -2888,7 +2887,7 @@
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../../../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../../../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2324,7 +2324,7 @@
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../../../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../../../../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2107,7 +2107,7 @@
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../../../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../../../../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../../../../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2304,7 +2304,7 @@
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../../../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../../../../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../../../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2285,7 +2285,7 @@ arguments =(&quot;-d&quot;,&quot;user1@example.com&quot;)
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../../../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../../../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2278,7 +2278,7 @@
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../../../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../../../../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2127,7 +2127,7 @@
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../../../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../../../../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../../../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -80,7 +80,7 @@
<div data-md-component="skip">
<a href="#directories" class="md-skip">
<a href="#volumes" class="md-skip">
Skip to content
</a>
@ -989,6 +989,53 @@
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#volumes" class="md-nav__link">
<span class="md-ellipsis">
Volumes
</span>
</a>
<nav class="md-nav" aria-label="Volumes">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#volumes-mail" class="md-nav__link">
<span class="md-ellipsis">
Mail Storage Volume
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#volumes-state" class="md-nav__link">
<span class="md-ellipsis">
State Volume
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#volumes-log" class="md-nav__link">
<span class="md-ellipsis">
Logs Volume
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#volumes-config" class="md-nav__link">
<span class="md-ellipsis">
Config Volume
</span>
</a>
<nav class="md-nav" aria-label="Config Volume">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#directories" class="md-nav__link">
<span class="md-ellipsis">
Directories
@ -996,14 +1043,24 @@
</a>
</li>
<li class="md-nav__item">
<li class="md-nav__item">
<a href="#files" class="md-nav__link">
<span class="md-ellipsis">
Files
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
</ul>
@ -2059,6 +2116,53 @@
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#volumes" class="md-nav__link">
<span class="md-ellipsis">
Volumes
</span>
</a>
<nav class="md-nav" aria-label="Volumes">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#volumes-mail" class="md-nav__link">
<span class="md-ellipsis">
Mail Storage Volume
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#volumes-state" class="md-nav__link">
<span class="md-ellipsis">
State Volume
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#volumes-log" class="md-nav__link">
<span class="md-ellipsis">
Logs Volume
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#volumes-config" class="md-nav__link">
<span class="md-ellipsis">
Config Volume
</span>
</a>
<nav class="md-nav" aria-label="Config Volume">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#directories" class="md-nav__link">
<span class="md-ellipsis">
Directories
@ -2066,14 +2170,24 @@
</a>
</li>
<li class="md-nav__item">
<li class="md-nav__item">
<a href="#files" class="md-nav__link">
<span class="md-ellipsis">
Files
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
</ul>
@ -2109,8 +2223,53 @@
<h1>Optional Configuration</h1>
<p>This is a list of all configuration files and directories which are optional or automatically generated in your <a href="../../../faq/#what-about-the-docker-datadmsconfig-directory"><code>docker-data/dms/config/</code></a> directory.</p>
<h2 id="directories"><a class="toclink" href="#directories">Directories</a></h2>
<h2 id="volumes"><a class="toclink" href="#volumes">Volumes</a></h2>
<p>DMS has several locations in the container which may be worth persisting externally via <a href="https://docs.docker.com/storage/volumes/">Docker Volumes</a>.</p>
<ul>
<li>Often you will want to prefer <a href="https://docs.docker.com/storage/bind-mounts/">bind mount volumes</a> for easy access to files at a local location on your filesystem.</li>
<li>As a convention for our docs and example configs, the local location has the common prefix <code>docker-data/dms/</code> for grouping these related volumes.</li>
</ul>
<div class="admonition info">
<p class="admonition-title">Reference - Volmes for DMS</p>
<p>Our docs may refer to these DMS specific volumes only by name, or the host/container path for brevity.</p>
<ul>
<li><a href="#volumes-config">Config</a>: <code>docker-data/dms/config/</code> =&gt; <code>/tmp/docker-mailserver/</code></li>
<li><a href="#volumes-mail">Mail Storage</a>: <code>docker-data/dms/mail-data/</code> =&gt; <code>/var/mail/</code></li>
<li><a href="#volumes-state">State</a>: <code>docker-data/dms/mail-state/</code> =&gt; <code>/var/mail-state/</code></li>
<li><a href="#volumes-logs">Logs</a>: <code>docker-data/dms/mail-logs/</code> =&gt; <code>/var/log/mail/</code></li>
</ul>
</div>
<h3 id="volumes-mail"><a class="toclink" href="#volumes-mail">Mail Storage Volume</a></h3>
<p>This is the location where mail is delivered to your mailboxes.</p>
<h3 id="volumes-state"><a class="toclink" href="#volumes-state">State Volume</a></h3>
<p>Run-time specific state lives here, but so does some data you may want to keep if a failure event occurs (<em>crash, power loss</em>).</p>
<div class="admonition example">
<p class="admonition-title">Examples of relevant data</p>
<ul>
<li>The Postfix queue (eg: mail pending delivery attempt)</li>
<li>Fail2Ban blocks.</li>
<li>ClamAV signature updates.</li>
<li>Redis storage for Rspamd.</li>
</ul>
</div>
<div class="admonition info">
<p class="admonition-title">When a volume is mounted to <code>/var/mail-state/</code></p>
<ul>
<li>Service run-time data is <a href="https://github.com/docker-mailserver/docker-mailserver/blob/v13.3.1/target/scripts/startup/setup.d/mail_state.sh#L13-L33">consolidated into the <code>/var/mail-state/</code> directory</a>. Otherwise the original locations vary and would need to be mounted individually.</li>
<li>The original locations are updated with symlinks to redirect to their new path in <code>/var/mail-state/</code> (<em>eg: <code>/var/lib/redis</code> =&gt; <code>/var/mail-state/lib-redis/</code></em>).</li>
</ul>
<p>Supported services: Postfix, Dovecot, Fail2Ban, Amavis, PostGrey, ClamAV, SpamAssassin, Rspamd &amp; Redis, Fetchmail, Getmail, LogRotate, PostSRSd, MTA-STS.</p>
</div>
<div class="admonition tip">
<p class="admonition-title">Tip</p>
<p>Sometimes it is helpful to disable this volume when troubleshooting to verify if the data stored here is in a bad state (<em>eg: caused by a failure event</em>).</p>
</div>
<h3 id="volumes-log"><a class="toclink" href="#volumes-log">Logs Volume</a></h3>
<p>This can be a useful volume to persist for troubleshooting needs for the full set of log files.</p>
<h3 id="volumes-config"><a class="toclink" href="#volumes-config">Config Volume</a></h3>
<p>Most configuration files for Postfix, Dovecot, etc. are persisted here.</p>
<p>This is a list of all configuration files and directories which are optional, automatically generated / updated by our <code>setup</code> CLI, or other internal scripts.</p>
<h4 id="directories"><a class="toclink" href="#directories">Directories</a></h4>
<ul>
<li><strong>sieve-filter:</strong> directory for sieve filter scripts. (Docs: <a href="../mail-sieve/">Sieve</a>)</li>
<li><strong>sieve-pipe:</strong> directory for sieve pipe scripts. (Docs: <a href="../mail-sieve/">Sieve</a>)</li>
@ -2118,7 +2277,7 @@
<li><strong>ssl:</strong> SSL Certificate directory if <code>SSL_TYPE</code> is set to <code>self-signed</code> or <code>custom</code>. (Docs: <a href="../../security/ssl/">SSL</a>)</li>
<li><strong>rspamd:</strong> Override directory for custom settings when using Rspamd (Docs: <a href="../../security/rspamd/#manually">Rspamd</a>)</li>
</ul>
<h2 id="files"><a class="toclink" href="#files">Files</a></h2>
<h4 id="files"><a class="toclink" href="#files">Files</a></h4>
<ul>
<li><strong>{user_email_address}.dovecot.sieve:</strong> User specific Sieve filter file. (Docs: <a href="../mail-sieve/">Sieve</a>)</li>
<li><strong>before.dovecot.sieve:</strong> Global Sieve filter file, applied prior to the <code>${login}.dovecot.sieve</code> filter. (Docs: <a href="../mail-sieve/">Sieve</a>)</li>
@ -2210,7 +2369,7 @@
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../../../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../../../../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2226,7 +2226,7 @@ docker<span class="w"> </span>cp<span class="w"> </span>mailserver:/etc/dovecot/
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../../../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../../../../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../../../../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2114,7 +2114,7 @@
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../../../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../../../../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../../../../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2119,7 +2119,7 @@ END
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../../../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../../../../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../../../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2444,7 +2444,7 @@ firewall-cmd<span class="w"> </span>--reload
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../../../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../../../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2107,7 +2107,7 @@
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../../../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../../../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2275,7 +2275,7 @@
<p>You should have:</p>
<ul>
<li>At least one <a href="../../user-management/#adding-a-new-account">email account setup</a></li>
<li>Attached a <a href="../../advanced/optional-config/">volume for config</a> to persist the generated files to local storage</li>
<li>Attached a <a href="../../advanced/optional-config/#volumes-config">volume for config</a> to persist the generated files to local storage</li>
</ul>
<div class="admonition example">
<p class="admonition-title">Creating DKIM Keys</p>
@ -2589,7 +2589,7 @@ setup<span class="w"> </span>config<span class="w"> </span>dkim<span class="w">
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../../../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../../../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2189,7 +2189,7 @@
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../../../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2464,7 +2464,7 @@
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -633,15 +633,6 @@
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#one_dir" class="md-nav__link">
<span class="md-ellipsis">
ONE_DIR
</span>
</a>
</li>
<li class="md-nav__item">
@ -3442,15 +3433,6 @@
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#one_dir" class="md-nav__link">
<span class="md-ellipsis">
ONE_DIR
</span>
</a>
</li>
<li class="md-nav__item">
@ -4805,11 +4787,6 @@
<h5 id="dms_vmail_gid"><a class="toclink" href="#dms_vmail_gid">DMS_VMAIL_GID</a></h5>
<p>Default: 5000</p>
<p>The Group ID assigned to the static vmail group for <code>/var/mail</code> (<em>Mail storage managed by Dovecot</em>).</p>
<h5 id="one_dir"><a class="toclink" href="#one_dir">ONE_DIR</a></h5>
<ul>
<li>0 =&gt; state in default directories.</li>
<li><strong>1</strong> =&gt; consolidate all states into a single directory (<code>/var/mail-state</code>) to allow persistence using docker volumes. See the <a href="../../faq/#what-about-docker-datadmsmail-state-folder-varmail-state-internally">related FAQ entry</a> for more information.</li>
</ul>
<h5 id="account_provisioner"><a class="toclink" href="#account_provisioner">ACCOUNT_PROVISIONER</a></h5>
<p>Configures the provisioning source of user accounts (including aliases) for user queries and authentication by services managed by DMS (<em>Postfix and Dovecot</em>).</p>
<div class="admonition tip">
@ -5332,10 +5309,10 @@ X-Spam-Status: No, score=4.162 tagged_above=2 required=4
<li><a href="https://www.ijs.si/software/amavisd/amavisd-new-docs.html#quarantine">It will be quarantined</a> regardless of the <code>SA_KILL</code> action to perform.</li>
<li>With <code>D_PASS</code> the delivered mail also appends an <code>X-Quarantine-ID</code> mail header. The ID value of this header is part of the quarantined file name.</li>
</ul>
<p>If emails are quarantined, they are compressed and stored at a location dependent on the <a href="#one_dir"><code>ONE_DIR</code></a> setting:</p>
<p>If emails are quarantined, they are compressed and stored at a location:</p>
<ul>
<li><code>ONE_DIR=1</code> (default): <code>/var/mail-state/lib-amavis/virusmails/</code></li>
<li><code>ONE_DIR=0</code>: <code>/var/lib/amavis/virusmails/</code></li>
<li>Default: <code>/var/lib/amavis/virusmails/</code></li>
<li>When the <a href="../advanced/optional-config/#volumes-state"><code>/var/mail-state/</code> volume</a> is present: <code>/var/mail-state/lib-amavis/virusmails/</code></li>
</ul>
<div class="admonition tip">
<p class="admonition-title">Tip</p>
@ -5767,7 +5744,7 @@ you to replace both instead of just the envelope sender.</p>
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2109,7 +2109,7 @@
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../../../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2232,7 +2232,7 @@
<p>DMS will automatically ban IP addresses of hosts that have generated 6 failed attempts over the course of the last week. The bans themselves last for one week. The Postfix jail is configured to use <code>mode = extra</code> in DMS.</p>
<h3 id="custom-files"><a class="toclink" href="#custom-files">Custom Files</a></h3>
<div class="admonition question">
<p class="admonition-title">What is <a href="../../../faq/#what-about-the-docker-datadmsconfig-directory"><code>docker-data/dms/config/</code></a>?</p>
<p class="admonition-title">What is <a href="../../advanced/optional-config/#volumes-config"><code>docker-data/dms/config/</code></a>?</p>
</div>
<p>This following configuration files inside the <code>docker-data/dms/config/</code> volume will be copied inside the container during startup</p>
<ol>
@ -2362,7 +2362,7 @@
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../../../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../../../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2207,7 +2207,7 @@ T<>9<EFBFBD>8t<38>6<EFBFBD><36> t<><74><EFBFBD>e<EFBFBD>W<EFBFBD><57>S `<60>H<EFBFBD><48>C<EFBFBD>ڤ <20>yeY<65><59>XZ
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../../../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../../../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2544,8 +2544,16 @@
<p>The proxy worker operates in <a href="https://rspamd.com/doc/workers/rspamd_proxy.html#self-scan-mode">self-scan mode</a>. This simplifies the setup as we do not require a normal worker. You can easily change this though by <a href="#providing-custom-settings-overriding-settings">overriding the configuration by DMS</a>.</p>
<p>DMS does not set a default password for the controller worker. You may want to do that yourself. In setups where you already have an authentication provider in front of the Rspamd webpage, you may want to <a href="#with-the-help-of-a-custom-file">set the <code>secure_ip</code> option to <code>"0.0.0.0/0"</code> for the controller worker</a> to disable password authentication inside Rspamd completely.</p>
<h3 id="persistence-with-redis"><a class="toclink" href="#persistence-with-redis">Persistence with Redis</a></h3>
<p>When Rspamd is enabled, we implicitly also start an instance of Redis in the container. Redis is configured to persist its data via RDB snapshots to disk in the directory <code>/var/lib/redis</code> (<em>which is a symbolic link to <code>/var/mail-state/lib-redis/</code> when <a href="../../environment/#one_dir"><code>ONE_DIR=1</code></a> and a volume is mounted to <code>/var/mail-state/</code></em>). With the volume mount the snapshot will restore the Redis data across container restarts, and provide a way to keep backup.</p>
<p>Redis uses <code>/etc/redis/redis.conf</code> for configuration. We adjust this file when enabling the internal Redis service. If you have an external instance of Redis to use, the internal Redis service can be opt-out via setting the ENV <a href="../../environment/#enable_rspamd_redis"><code>ENABLE_RSPAMD_REDIS=0</code></a> (<em>link also details required changes to the DMS Rspamd config</em>).</p>
<p>When Rspamd is enabled, we implicitly also start an instance of Redis in the container:</p>
<ul>
<li>Redis is configured to persist its data via RDB snapshots to disk in the directory <code>/var/lib/redis</code> (<em>or the <a href="../../advanced/optional-config/#volumes-state"><code>/var/mail-state/</code></a> volume when present</em>).</li>
<li>With the volume mount the snapshot will restore the Redis data across container restarts, and provide a way to keep backup.</li>
</ul>
<p>Redis uses <code>/etc/redis/redis.conf</code> for configuration:</p>
<ul>
<li>We adjust this file when enabling the internal Redis service.</li>
<li>If you have an external instance of Redis to use, the internal Redis service can be opt-out via setting the ENV <a href="../../environment/#enable_rspamd_redis"><code>ENABLE_RSPAMD_REDIS=0</code></a> (<em>link also details required changes to the DMS Rspamd config</em>).</li>
</ul>
<h3 id="web-interface"><a class="toclink" href="#web-interface">Web Interface</a></h3>
<p>Rspamd provides a <a href="https://rspamd.com/webui/">web interface</a>, which contains statistics and data Rspamd collects. The interface is enabled by default and reachable on port 11334.</p>
<p><img alt="Rspamd Web Interface" src="https://rspamd.com/img/webui.png" /></p>
@ -2579,7 +2587,7 @@
<p>DMS brings sane default settings for Rspamd. They are located at <code>/etc/rspamd/local.d/</code> inside the container (or <code>target/rspamd/local.d/</code> in the repository).</p>
<h3 id="manually"><a class="toclink" href="#manually">Manually</a></h3>
<div class="admonition question">
<p class="admonition-title">What is <a href="../../../faq/#what-about-the-docker-datadmsconfig-directory"><code>docker-data/dms/config/</code></a>?</p>
<p class="admonition-title">What is <a href="../../advanced/optional-config/#volumes-config"><code>docker-data/dms/config/</code></a>?</p>
</div>
<p>If you want to overwrite the default settings and / or provide your own settings, you can place files at <code>docker-data/dms/config/rspamd/override.d/</code>. Files from this directory are copied to <code>/etc/rspamd/override.d/</code> during startup. These files <a href="https://www.rspamd.com/doc/faq.html#what-are-the-locald-and-overrided-directories">forcibly override</a> Rspamd and DMS default settings.</p>
<div class="admonition question">
@ -2721,7 +2729,7 @@ disable-module<span class="w"> </span>chartable
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../../../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../../../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2968,7 +2968,7 @@ docker<span class="w"> </span>run<span class="w"> </span>--detach<span class="w"
<p class="admonition-title">Warning</p>
<p>Use self-signed certificates only for testing purposes!</p>
</div>
<p>This feature requires you to provide the following files into your <a href="../../advanced/optional-config/"><code>docker-data/dms/config/ssl/</code> directory</a> (<em>internal location: <code>/tmp/docker-mailserver/ssl/</code></em>):</p>
<p>This feature requires you to provide the following files into your <a href="../../advanced/optional-config/#volumes-config"><code>docker-data/dms/config/ssl/</code> directory</a> (<em>internal location: <code>/tmp/docker-mailserver/ssl/</code></em>):</p>
<ul>
<li><code>&lt;FQDN&gt;-key.pem</code></li>
<li><code>&lt;FQDN&gt;-cert.pem</code></li>
@ -3231,7 +3231,7 @@ openssl<span class="w"> </span>s_client<span class="w"> </span><span class="se">
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../../../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../../../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2518,7 +2518,7 @@
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../../../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2111,7 +2111,7 @@ chmod<span class="w"> </span>a+x<span class="w"> </span>./setup.sh
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2386,7 +2386,7 @@
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2181,7 +2181,7 @@
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -20,7 +20,7 @@
<link rel="icon" href="../../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2260,7 +2260,7 @@
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2422,7 +2422,7 @@
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../../../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2382,7 +2382,7 @@ setup<span class="w"> </span><span class="nb">alias</span><span class="w"> </spa
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../../../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../../../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2098,7 +2098,7 @@
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../../../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../../../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2271,7 +2271,7 @@ This page does not explain how to install or configure a bouncer. It can be foun
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../../../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../../../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2277,7 +2277,7 @@ docker<span class="w"> </span>build<span class="w"> </span>--tag<span class="w">
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../../../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../../../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2232,7 +2232,7 @@
<p>Keep in mind that it is necessary to use port <code>10993</code> here. More information below at <code>dovecot</code> configuration.</p>
</details>
<h3 id="configuration-of-the-backend-dovecot-and-postfix"><a class="toclink" href="#configuration-of-the-backend-dovecot-and-postfix">Configuration of the Backend (<code>dovecot</code> and <code>postfix</code>)</a></h3>
<p>The following changes can be achieved completely by adding the content to the appropriate files by using the projects <a href="../../../config/advanced/optional-config/">function to overwrite config files</a>.</p>
<p>The following changes can be achieved completely by adding the content to the appropriate files by using the projects [function to overwrite config files][docs-optionalconfig].</p>
<p>Changes for <code>postfix</code> can be applied by adding the following content to <code>docker-data/dms/config/postfix-main.cf</code>:</p>
<div class="highlight"><pre><span></span><code><span class="na">postscreen_upstream_proxy_protocol</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">haproxy</span>
</code></pre></div>
@ -2317,7 +2317,7 @@
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../../../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../../../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2342,7 +2342,7 @@ curl<span class="w"> </span>-JLO<span class="w"> </span>https://raw.githubuserco
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../../../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../../../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2143,7 +2143,7 @@ smtp/inet/smtp_bind_address6 = 2001:DB8::42
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../../../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../../../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2251,7 +2251,7 @@ postfix<span class="w"> </span>reload
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../../../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../../../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2308,7 +2308,7 @@
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../../../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../../../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2463,7 +2463,7 @@ docker<span class="w"> </span>compose<span class="w"> </span>up<span class="w">
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../../../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../../../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2147,39 +2147,6 @@
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#special-directories" class="md-nav__link">
<span class="md-ellipsis">
Special Directories
</span>
</a>
<nav class="md-nav" aria-label="Special Directories">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#what-about-the-docker-datadmsconfig-directory" class="md-nav__link">
<span class="md-ellipsis">
What About the docker-data/dms/config/ Directory?
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#what-about-the-docker-datadmsmail-state-directory" class="md-nav__link">
<span class="md-ellipsis">
What About the docker-data/dms/mail-state/ Directory?
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
@ -2721,39 +2688,6 @@
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#special-directories" class="md-nav__link">
<span class="md-ellipsis">
Special Directories
</span>
</a>
<nav class="md-nav" aria-label="Special Directories">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#what-about-the-docker-datadmsconfig-directory" class="md-nav__link">
<span class="md-ellipsis">
What About the docker-data/dms/config/ Directory?
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#what-about-the-docker-datadmsmail-state-directory" class="md-nav__link">
<span class="md-ellipsis">
What About the docker-data/dms/mail-state/ Directory?
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
@ -3085,13 +3019,6 @@ supervisorctl<span class="w"> </span>update
<li><a href="https://www.mail-tester.com/">mail-tester</a> can test your deliverability.</li>
<li><a href="https://www.helloinbox.email/">helloinbox</a> provides a checklist of things to improve your deliverability.</li>
</ul>
<h3 id="special-directories"><a class="toclink" href="#special-directories">Special Directories</a></h3>
<h4 id="what-about-the-docker-datadmsconfig-directory"><a class="toclink" href="#what-about-the-docker-datadmsconfig-directory">What About the <code>docker-data/dms/config/</code> Directory?</a></h4>
<p>This documentation and all example configuration files in the GitHub repository use <code>docker-data/dms/config/</code> to refer to the directory in the host that is mounted (e.g. via a bind mount) to <code>/tmp/docker-mailserver/</code> inside the container.</p>
<p>Most configuration files for Postfix, Dovecot, etc. are persisted here. <a href="../config/advanced/optional-config/">Optional configuration</a> is stored here as well.</p>
<h4 id="what-about-the-docker-datadmsmail-state-directory"><a class="toclink" href="#what-about-the-docker-datadmsmail-state-directory">What About the <code>docker-data/dms/mail-state/</code> Directory?</a></h4>
<p>This documentation and all example configuration files in the GitHub repository use <code>docker-data/dms/mail-state/</code> to refer to the directory in the host that is mounted (e.g. via a bind mount) to <code>/var/mail-state/</code> inside the container.</p>
<p>When you run DMS with the ENV variable <code>ONE_DIR=1</code> (default), this directory will provide support to persist Fail2Ban blocks, ClamAV signature updates, and the like when the container is restarted or recreated. Service data is <a href="https://github.com/docker-mailserver/docker-mailserver/blob/c7e498194546416fb7231cb03254e77e085d18df/target/scripts/startup/misc-stack.sh#L24-L33">relocated to the <code>mail-state</code> folder</a> for the following services: Postfix, Dovecot, Fail2Ban, Amavis, PostGrey, ClamAV, SpamAssassin, Rspamd &amp; Redis.</p>
<h3 id="spamassasin"><a class="toclink" href="#spamassasin">SpamAssasin</a></h3>
<h4 id="how-can-i-manage-my-custom-spamassassin-rules"><a class="toclink" href="#how-can-i-manage-my-custom-spamassassin-rules">How can I manage my custom SpamAssassin rules?</a></h4>
<p>Anti-spam rules are managed in <code>docker-data/dms/config/spamassassin-rules.cf</code>.</p>
@ -3100,17 +3027,19 @@ supervisorctl<span class="w"> </span>update
<p>The default setup <code>@local_domains_acl = ( ".$mydomain" );</code> does not match subdomains. To match subdomains, you can override the <code>@local_domains_acl</code> directive in the amavis user config file <code>50-user</code> with <code>@local_domains_maps = (".");</code> to match any sort of domain template.</p>
<h4 id="how-can-i-make-spamassassin-better-recognize-spam"><a class="toclink" href="#how-can-i-make-spamassassin-better-recognize-spam">How can I make SpamAssassin better recognize spam?</a></h4>
<p>Put received spams in <code>.Junk/</code> imap folder using <code>SPAMASSASSIN_SPAM_TO_INBOX=1</code> and <code>MOVE_SPAM_TO_JUNK=1</code> and add a <em>user</em> cron like the following:</p>
<div class="highlight"><pre><span></span><code><span class="c1"># This assumes you&#39;re having `environment: ONE_DIR=1` in the `mailserver.env`,</span>
<span class="c1"># with a consolidated config in `/var/mail-state`</span>
<span class="c1">#</span>
<span class="c1"># m h dom mon dow command</span>
<div class="admonition example">
<p class="admonition-title">Example</p>
<p><strong>NOTE:</strong> This example assumes you have a <a href="../config/advanced/optional-config/#volumes-state"><code>/var/mail-state</code> volume</a> mounted.</p>
<div class="highlight"><pre><span></span><code><span class="c1"># m h dom mon dow command</span>
<span class="c1"># Everyday 2:00AM, learn spam from a specific user</span>
<span class="na">0 2 * * * docker exec mailserver sa-learn --spam /var/mail/example.com/username/.Junk --dbpath /var/mail-state/lib-amavis/.spamassassin</span>
</code></pre></div>
</div>
<p>With <code>docker-compose</code> you can more easily use the internal instance of <code>cron</code> within DMS. This is less problematic than the simple solution shown above, because it decouples the learning from the host on which DMS is running, and avoids errors if the mail server is not running.</p>
<p>The following configuration works nicely:</p>
<details class="example">
<summary>Example</summary>
<p><strong>NOTE:</strong> This example assumes you have a <a href="../config/advanced/optional-config/#volumes-state"><code>/var/mail-state</code> volume</a> mounted.</p>
<p>Create a <em>system</em> cron file:</p>
<div class="highlight"><pre><span></span><code><span class="c1"># in the compose.yaml root directory</span>
mkdir<span class="w"> </span>-p<span class="w"> </span>./docker-data/dms/cron
@ -3119,10 +3048,7 @@ chown<span class="w"> </span>root:root<span class="w"> </span>./docker-data/dms/
chmod<span class="w"> </span><span class="m">0644</span><span class="w"> </span>./docker-data/dms/cron/sa-learn
</code></pre></div>
<p>Edit the system cron file <code>nano ./docker-data/dms/cron/sa-learn</code>, and set an appropriate configuration:</p>
<div class="highlight"><pre><span></span><code><span class="c1"># This assumes you&#39;re having `environment: ONE_DIR=1` in the env-mailserver,</span>
<span class="c1"># with a consolidated config in `/var/mail-state`</span>
<span class="c1">#</span>
<span class="c1"># &#39;&gt; /dev/null&#39; to send error notifications from &#39;stderr&#39; to &#39;postmaster@example.com&#39;</span>
<div class="highlight"><pre><span></span><code><span class="c1"># &#39;&gt; /dev/null&#39; to send error notifications from &#39;stderr&#39; to &#39;postmaster@example.com&#39;</span>
<span class="c1">#</span>
<span class="c1"># m h dom mon dow user command</span>
<span class="c1">#</span>
@ -3245,7 +3171,7 @@ chmod<span class="w"> </span><span class="m">0644</span><span class="w"> </span>
<script id="__config" type="application/json">{"base": "..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -20,7 +20,7 @@
<link rel="icon" href="assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2285,7 +2285,7 @@
<script id="__config" type="application/json">{"base": ".", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2508,7 +2508,7 @@ Me -- STARTTLS ---&gt; ┤(587) │ ┊
<script id="__config" type="application/json">{"base": "..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>

File diff suppressed because one or more lines are too long

View File

@ -2,237 +2,237 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/faq/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/introduction/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/usage/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/config/debugging/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/config/environment/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/config/pop3/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/config/setup.sh/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/config/user-management/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/config/advanced/auth-ldap/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/config/advanced/auth-oauth2/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/config/advanced/dovecot-master-accounts/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/config/advanced/full-text-search/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/config/advanced/ipv6/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/config/advanced/kubernetes/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/config/advanced/mail-fetchmail/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/config/advanced/mail-getmail/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/config/advanced/mail-sieve/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/config/advanced/optional-config/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/config/advanced/podman/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/config/advanced/mail-forwarding/aws-ses/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/config/advanced/mail-forwarding/relay-hosts/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/config/advanced/maintenance/update-and-cleanup/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/config/advanced/override-defaults/dovecot/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/config/advanced/override-defaults/postfix/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/config/advanced/override-defaults/user-patches/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/config/best-practices/autodiscover/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/config/best-practices/dkim_dmarc_spf/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/config/best-practices/mta-sts/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/config/security/fail2ban/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/config/security/mail_crypt/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/config/security/rspamd/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/config/security/ssl/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/config/security/understanding-the-ports/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/contributing/general/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/contributing/issues-and-pull-requests/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/contributing/tests/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/examples/tutorials/basic-installation/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/examples/tutorials/blog-posts/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/examples/tutorials/crowdsec/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/examples/tutorials/docker-build/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/examples/tutorials/mailserver-behind-proxy/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/examples/use-cases/auth-lua/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/examples/use-cases/bind-smtp-network-interface/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/examples/use-cases/forward-only-mailserver-with-ldap-authentication/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/examples/use-cases/imap-folders/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://docker-mailserver.github.io/docker-mailserver/edge/examples/use-cases/ios-mail-push-support/</loc>
<lastmod>2024-01-26</lastmod>
<lastmod>2024-01-28</lastmod>
<changefreq>daily</changefreq>
</url>
</urlset>

View File

@ -22,7 +22,7 @@
<link rel="icon" href="../assets/logo/favicon-32x32.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.5">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.6">
@ -2357,7 +2357,7 @@
<h1>Usage</h1>
<p>This pages explains how to get started with DMS. The guide uses Docker Compose as a reference. In our examples, a volume mounts the host location <a href="../faq/#what-about-the-docker-datadmsconfig-directory"><code>docker-data/dms/config/</code></a> to <code>/tmp/docker-mailserver/</code> inside the container.</p>
<p>This pages explains how to get started with DMS. The guide uses Docker Compose as a reference. In our examples, a volume mounts the host location <a href="../config/advanced/optional-config/#volumes-config"><code>docker-data/dms/config/</code></a> to <code>/tmp/docker-mailserver/</code> inside the container.</p>
<h2 id="preliminary-steps"><a class="toclink" href="#preliminary-steps">Preliminary Steps</a></h2>
<p>Before you can get started with deploying your own mail server, there are some requirements to be met:</p>
<ol>
@ -2566,7 +2566,7 @@ wget<span class="w"> </span><span class="s2">&quot;</span><span class="si">${</s
<script id="__config" type="application/json">{"base": "..", "features": ["navigation.tabs", "navigation.top", "navigation.expand", "navigation.instant", "content.action.edit", "content.action.view", "content.code.annotate"], "search": "../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
<script src="../assets/javascripts/bundle.c18c5fb9.min.js"></script>
<script src="../assets/javascripts/bundle.e1c3ead8.min.js"></script>
</body>