Deploying to gh-pages from @ mailcow/mailcow-dockerized-docs@a69cfb806f đ
Dieser Commit ist enthalten in:
Ursprung
ad3da63e65
Commit
a399347da9
313 geÀnderte Dateien mit 7708 neuen und 1399 gelöschten Zeilen
19
404.html
19
404.html
|
@ -62,6 +62,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Don't show this again">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2419,7 +2436,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "/mailcow-dockerized-docs/", "features": ["navigation.top", "navigation.tracking"], "search": "/mailcow-dockerized-docs/assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "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.title": "Select version"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "/mailcow-dockerized-docs/", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "/mailcow-dockerized-docs/assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "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.title": "Select version"}}</script>
|
||||
|
||||
|
||||
<script src="/mailcow-dockerized-docs/assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
BIN
assets/images/i_u_m/nightly_footer.png
Normale Datei
BIN
assets/images/i_u_m/nightly_footer.png
Normale Datei
BinÀre Datei nicht angezeigt.
Nachher Breite: | Höhe: | GröĂe: 6,1 KiB |
|
@ -47,6 +47,7 @@
|
|||
font-size: 14px;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
code {
|
||||
display: inline-block;
|
||||
white-space: pre-wrap;
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Don't show this again">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2440,10 +2457,10 @@
|
|||
<p><strong>Make sure the user you want to restore exists in your mailcow</strong>. Re-create them if they are missing.</p>
|
||||
<p>Copy the file named after the user you want to restore to <code>__MAILCOW_DIRECTORY__/data/conf/sogo</code>.</p>
|
||||
<p>1. Copy the backup: <code>cp /var/lib/docker/volumes/mailcowdockerized_sogo-userdata-backup-vol-1/_data/restoreme@example.org __MAILCOW_DIRECTORY__/data/conf/sogo</code></p>
|
||||
<p>2. Run <code>docker-compose exec -u sogo sogo-mailcow sogo-tool restore -F ALL /etc/sogo restoreme@example.org</code></p>
|
||||
<p>2. Run <code>docker compose exec -u sogo sogo-mailcow sogo-tool restore -F ALL /etc/sogo restoreme@example.org</code></p>
|
||||
<p>Run <code>sogo-tool</code> without parameters to check for possible restore options.</p>
|
||||
<p>3. Delete the copied backup by running <code>rm __MAILCOW_DIRECTORY__/data/conf/sogo</code></p>
|
||||
<p>4. Restart SOGo and Memcached: <code>docker-compose restart sogo-mailcow memcached-mailcow</code></p>
|
||||
<p>4. Restart SOGo and Memcached: <code>docker compose restart sogo-mailcow memcached-mailcow</code></p>
|
||||
<h3 id="mail">Mail<a class="headerlink" href="#mail" title="Permanent link">¶</a></h3>
|
||||
<p>In case of an accidental deletion of a mailbox, you will be able to recover for (by default) 5 days. This depends on the <code>MAILDIR_GC_TIME</code> parameter in <code>mailcow.conf</code>.</p>
|
||||
<p>A deleted mailbox is copied in its encrypted form to <code>/var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data/_garbage</code>.</p>
|
||||
|
@ -2451,8 +2468,8 @@
|
|||
<p>To restore make sure you are actually restoring to the same mailcow it was deleted from or you use the same encryption keys in <code>crypt-vol-1</code>.</p>
|
||||
<p><strong>Make sure the user you want to restore exists in your mailcow</strong>. Re-create them if they are missing.</p>
|
||||
<p>Copy the folders from <code>/var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data/_garbage/[timestamp]_[domain_sanitized][user_sanitized]</code> back to <code>/var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data/[domain]/[user]</code> and resync the folder and recalc the quota:</p>
|
||||
<div class="highlight"><pre><span></span><code>docker-compose exec dovecot-mailcow doveadm force-resync -u restoreme@example.net '*'
|
||||
docker-compose exec dovecot-mailcow doveadm quota recalc -u restoreme@example.net
|
||||
<div class="highlight"><pre><span></span><code>docker compose exec dovecot-mailcow doveadm force-resync -u restoreme@example.net '*'
|
||||
docker compose exec dovecot-mailcow doveadm quota recalc -u restoreme@example.net
|
||||
</code></pre></div>
|
||||
|
||||
<hr>
|
||||
|
@ -2460,7 +2477,7 @@ docker-compose exec dovecot-mailcow doveadm quota recalc -u restoreme@example.ne
|
|||
<small>
|
||||
|
||||
Last update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-06-23 15:17:00</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2576,7 +2593,7 @@ docker-compose exec dovecot-mailcow doveadm quota recalc -u restoreme@example.ne
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "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.title": "Select version"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "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.title": "Select version"}}</script>
|
||||
|
||||
|
||||
<script src="../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Don't show this again">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2540,7 +2557,7 @@ fi
|
|||
</code></pre></div></p>
|
||||
<p>On the destination (in this case <code>/external_share/backups</code>) you may want to have snapshot capabilities (ZFS, Btrfs etc.). Snapshot daily and keep for n days for a consistent backup.
|
||||
Do <strong>not</strong> rsync to a Samba share, you need to keep the correct permissions!</p>
|
||||
<p>To restore you'd simply need to run rsync the other way round and restart Docker to re-read the volumes. Run <code>docker-compose pull</code> and <code>docker-compose up -d</code>.</p>
|
||||
<p>To restore you'd simply need to run rsync the other way round and restart Docker to re-read the volumes. Run <code>docker compose pull</code> and <code>docker compose up -d</code>.</p>
|
||||
<p>If you are lucky Redis and MariaDB can automatically fix the inconsistent databases (if they <em>are</em> inconsistent).
|
||||
In case of a corrupted database you'd need to use the helper script to restore the inconsistent elements. If a restore fails, try to extract the backups and copy the files back manually. Keep the file permissions!</p>
|
||||
|
||||
|
@ -2549,7 +2566,7 @@ In case of a corrupted database you'd need to use the helper script to restore t
|
|||
<small>
|
||||
|
||||
Last update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-07-11 21:14:01</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2665,7 +2682,7 @@ In case of a corrupted database you'd need to use the helper script to restore t
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "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.title": "Select version"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "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.title": "Select version"}}</script>
|
||||
|
||||
|
||||
<script src="../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Don't show this again">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2436,13 +2453,13 @@
|
|||
<h3 id="backup">Backup<a class="headerlink" href="#backup" title="Permanent link">¶</a></h3>
|
||||
<p>This line backups the vmail directory to a file backup_vmail.tar.gz in the mailcow root directory:
|
||||
<div class="highlight"><pre><span></span><code>cd /path/to/mailcow-dockerized
|
||||
docker run --rm -i -v $(docker inspect --format '{{ range .Mounts }}{{ if eq .Destination "/var/vmail" }}{{ .Name }}{{ end }}{{ end }}' $(docker-compose ps -q dovecot-mailcow)):/vmail -v ${PWD}:/backup debian:stretch-slim tar cvfz /backup/backup_vmail.tar.gz /vmail
|
||||
docker run --rm -i -v $(docker inspect --format '{{ range .Mounts }}{{ if eq .Destination "/var/vmail" }}{{ .Name }}{{ end }}{{ end }}' $(docker compose ps -q dovecot-mailcow)):/vmail -v ${PWD}:/backup debian:stretch-slim tar cvfz /backup/backup_vmail.tar.gz /vmail
|
||||
</code></pre></div></p>
|
||||
<p>You can change the path by adjusting ${PWD} (which equals to the current directory) to any path you have write-access to.
|
||||
Set the filename <code>backup_vmail.tar.gz</code> to any custom name, but leave the path as it is. Example: <code>[...] tar cvfz /backup/my_own_filename_.tar.gz</code></p>
|
||||
<h3 id="restore">Restore<a class="headerlink" href="#restore" title="Permanent link">¶</a></h3>
|
||||
<div class="highlight"><pre><span></span><code>cd /path/to/mailcow-dockerized
|
||||
docker run --rm -it -v $(docker inspect --format '{{ range .Mounts }}{{ if eq .Destination "/var/vmail" }}{{ .Name }}{{ end }}{{ end }}' $(docker-compose ps -q dovecot-mailcow)):/vmail -v ${PWD}:/backup debian:stretch-slim tar xvfz /backup/backup_vmail.tar.gz
|
||||
docker run --rm -it -v $(docker inspect --format '{{ range .Mounts }}{{ if eq .Destination "/var/vmail" }}{{ .Name }}{{ end }}{{ end }}' $(docker compose ps -q dovecot-mailcow)):/vmail -v ${PWD}:/backup debian:stretch-slim tar xvfz /backup/backup_vmail.tar.gz
|
||||
</code></pre></div>
|
||||
|
||||
<hr>
|
||||
|
@ -2450,7 +2467,7 @@ docker run --rm -it -v $(docker inspect --format '{{ range .Mounts }}{{ if e
|
|||
<small>
|
||||
|
||||
Last update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-06-23 15:17:00</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2566,7 +2583,7 @@ docker run --rm -it -v $(docker inspect --format '{{ range .Mounts }}{{ if e
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "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.title": "Select version"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "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.title": "Select version"}}</script>
|
||||
|
||||
|
||||
<script src="../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Don't show this again">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2437,16 +2454,16 @@
|
|||
<div class="highlight"><pre><span></span><code>cd /path/to/mailcow-dockerized
|
||||
source mailcow.conf
|
||||
DATE=$(date +"%Y%m%d_%H%M%S")
|
||||
docker-compose exec -T mysql-mailcow mysqldump --default-character-set=utf8mb4 -u${DBUSER} -p${DBPASS} ${DBNAME} > backup_${DBNAME}_${DATE}.sql
|
||||
docker compose exec -T mysql-mailcow mysqldump --default-character-set=utf8mb4 -u${DBUSER} -p${DBPASS} ${DBNAME} > backup_${DBNAME}_${DATE}.sql
|
||||
</code></pre></div>
|
||||
<h2 id="restore">Restore<a class="headerlink" href="#restore" title="Permanent link">¶</a></h2>
|
||||
<div class="admonition warning">
|
||||
<p class="admonition-title">Warning</p>
|
||||
<p>You should redirect the SQL dump without <code>docker-compose</code> to prevent parsing errors.</p>
|
||||
<p>You should redirect the SQL dump without <code>docker compose</code> to prevent parsing errors.</p>
|
||||
</div>
|
||||
<div class="highlight"><pre><span></span><code>cd /path/to/mailcow-dockerized
|
||||
source mailcow.conf
|
||||
docker exec -i $(docker-compose ps -q mysql-mailcow) mysql -u${DBUSER} -p${DBPASS} ${DBNAME} < backup_file.sql
|
||||
docker exec -i $(docker compose ps -q mysql-mailcow) mysql -u${DBUSER} -p${DBPASS} ${DBNAME} < backup_file.sql
|
||||
</code></pre></div>
|
||||
|
||||
<hr>
|
||||
|
@ -2454,7 +2471,7 @@ docker exec -i $(docker-compose ps -q mysql-mailcow) mysql -u${DBUSER} -p${DBPAS
|
|||
<small>
|
||||
|
||||
Last update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-06-23 15:17:00</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2570,7 +2587,7 @@ docker exec -i $(docker-compose ps -q mysql-mailcow) mysql -u${DBUSER} -p${DBPAS
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "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.title": "Select version"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "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.title": "Select version"}}</script>
|
||||
|
||||
|
||||
<script src="../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Don't show this again">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2473,7 +2490,7 @@
|
|||
<p>To find the paths of your source volumes we use <code>docker inspect</code> and read the destination directory of every volume related to your mailcow compose project. This means we will also transfer volumes you may have added in an override file. Local bind mounts may or may not work.</p>
|
||||
<p>The script uses rsync with the <code>--delete</code> flag. The destination will be an exact copy of the source.</p>
|
||||
<p><code>mariabackup</code> is used to create a consistent copy of the SQL data directory.</p>
|
||||
<p>After rsync'ing the data we will run <code>docker-compose pull</code> and remove old image tags from the destination.</p>
|
||||
<p>After rsync'ing the data we will run <code>docker compose pull</code> and remove old image tags from the destination.</p>
|
||||
<p>Your source will not be changed at any time.</p>
|
||||
<p><strong>You may want to make sure to use the same <code>/etc/docker/daemon.json</code> on the remote target.</strong></p>
|
||||
<p>You should not run disk snapshots (e.g. via ZFS, LVM etc.) on the target at the very same time as this script is run.</p>
|
||||
|
@ -2488,7 +2505,7 @@ export REMOTE_SSH_HOST=mailcow-backup.host.name
|
|||
</code></pre></div>
|
||||
<p>The key must be owned and readable by root only.</p>
|
||||
<p>Both the source and destination require <code>rsync</code> >= v3.1.0.
|
||||
The destination must have Docker and docker-compose <strong>v2</strong> available.</p>
|
||||
The destination must have Docker and docker compose <strong>v2</strong> available.</p>
|
||||
<p>The script will detect errors automatically and exit.</p>
|
||||
<p>You may want to test the connection by running <code>ssh mailcow-backup.host.name -p22 -i /path/to/keyfile</code>.</p>
|
||||
<h2 id="backup-and-refresh-the-cold-standby">Backup and refresh the cold-standby<a class="headerlink" href="#backup-and-refresh-the-cold-standby" title="Permanent link">¶</a></h2>
|
||||
|
@ -2521,7 +2538,7 @@ The destination must have Docker and docker-compose <strong>v2</strong> availabl
|
|||
<small>
|
||||
|
||||
Last update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-06-27 19:14:02</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2637,7 +2654,7 @@ The destination must have Docker and docker-compose <strong>v2</strong> availabl
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "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.title": "Select version"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "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.title": "Select version"}}</script>
|
||||
|
||||
|
||||
<script src="../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Don't show this again">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2548,7 +2565,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "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.title": "Select version"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "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.title": "Select version"}}</script>
|
||||
|
||||
|
||||
<script src="../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -64,6 +64,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Don't show this again">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2497,7 +2514,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "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.title": "Select version"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "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.title": "Select version"}}</script>
|
||||
|
||||
|
||||
<script src="../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Don't show this again">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2605,7 +2622,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "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.title": "Select version"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "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.title": "Select version"}}</script>
|
||||
|
||||
|
||||
<script src="../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -64,6 +64,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Don't show this again">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2499,7 +2516,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "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.title": "Select version"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "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.title": "Select version"}}</script>
|
||||
|
||||
|
||||
<script src="../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -64,6 +64,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Don't show this again">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2507,7 +2524,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "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.title": "Select version"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "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.title": "Select version"}}</script>
|
||||
|
||||
|
||||
<script src="../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Don't show this again">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2611,7 +2628,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "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.title": "Select version"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "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.title": "Select version"}}</script>
|
||||
|
||||
|
||||
<script src="../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Don't show this again">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2637,7 +2654,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "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.title": "Select version"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "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.title": "Select version"}}</script>
|
||||
|
||||
|
||||
<script src="../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -64,6 +64,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Don't show this again">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2516,7 +2533,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "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.title": "Select version"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "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.title": "Select version"}}</script>
|
||||
|
||||
|
||||
<script src="../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -64,6 +64,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Don't show this again">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2500,7 +2517,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "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.title": "Select version"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "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.title": "Select version"}}</script>
|
||||
|
||||
|
||||
<script src="../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -64,6 +64,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Don't show this again">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2514,7 +2531,7 @@ Since you accessed this page after logging into your mailcow server, all of the
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "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.title": "Select version"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "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.title": "Select version"}}</script>
|
||||
|
||||
|
||||
<script src="../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
BIN
de/assets/images/i_u_m/nightly_footer.png
Normale Datei
BIN
de/assets/images/i_u_m/nightly_footer.png
Normale Datei
BinÀre Datei nicht angezeigt.
Nachher Breite: | Höhe: | GröĂe: 6,1 KiB |
|
@ -47,6 +47,7 @@
|
|||
font-size: 14px;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
code {
|
||||
display: inline-block;
|
||||
white-space: pre-wrap;
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2440,10 +2457,10 @@
|
|||
<p><strong>Stellen Sie sicher, dass der Benutzer, den Sie wiederherstellen wollen, in Ihrem Mailcow-Backend existiert</strong>. Legen Sie diesen neu an, falls nicht mehr existent.</p>
|
||||
<p>Kopieren Sie die Datei mit dem Namen des Benutzers, den Sie wiederherstellen wollen, nach <code>__MAILCOW_DIRECTORY__/data/conf/sogo</code>.</p>
|
||||
<p>1. Kopieren Sie die Sicherung: <code>cp /var/lib/docker/volumes/mailcowdockerized_sogo-userdata-backup-vol-1/_data/restoreme@example.org __MAILCOW_DIRECTORY__/data/conf/sogo</code></p>
|
||||
<p>2. Starten Sie <code>docker-compose exec -u sogo sogo-mailcow sogo-tool restore -F ALL /etc/sogo restoreme@example.org</code>.</p>
|
||||
<p>2. Starten Sie <code>docker compose exec -u sogo sogo-mailcow sogo-tool restore -F ALL /etc/sogo restoreme@example.org</code>.</p>
|
||||
<p>FĂŒhren Sie <code>sogo-tool</code> ohne Parameter aus, um nach möglichen Wiederherstellungsoptionen zu suchen.</p>
|
||||
<p>3. Löschen Sie die kopierte Sicherung, indem Sie <code>rm __MAILCOW_DIRECTORY__/data/conf/sogo</code> ausfĂŒhren</p>
|
||||
<p>4. Starten Sie SOGo und Memcached neu: <code>docker-compose restart sogo-mailcow memcached-mailcow</code></p>
|
||||
<p>4. Starten Sie SOGo und Memcached neu: <code>docker compose restart sogo-mailcow memcached-mailcow</code></p>
|
||||
<h3 id="mail">Mail<a class="headerlink" href="#mail" title="Permanent link">¶</a></h3>
|
||||
<p>Im Falle einer versehentlichen Löschung einer Mailbox, können Sie diese (standardmĂ€Ăig) 5 Tage lang wiederherstellen. Dies hĂ€ngt von dem <code>MAILDIR_GC_TIME</code> Parameter in <code>mailcow.conf</code> ab.</p>
|
||||
<p>Eine gelöschte Mailbox wird in ihrer verschlĂŒsselten Form nach <code>/var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data/_garbage</code> kopiert.</p>
|
||||
|
@ -2451,8 +2468,8 @@
|
|||
<p>Um die Mailbox wiederherzustellen, stellen Sie sicher, dass Sie tatsĂ€chlich auf die gleiche Mailcow wiederherstellen, von der sie gelöscht wurde, oder Sie die gleichen VerschlĂŒsselungsschlĂŒssel in <code>crypt-vol-1</code> verwenden.</p>
|
||||
<p><strong>Stellen Sie sicher, dass der Benutzer, den Sie wiederherstellen wollen, in Ihrer Mailcow existiert</strong>. Legen Sie diesen neu an, wenn der Benutzer fehlt.</p>
|
||||
<p>Kopieren Sie die Ordner von <code>/var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data/_garbage/[timestamp]_[domain_sanitized][user_sanitized]</code> zurĂŒck nach <code>/var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data/[domain]/[user]</code> und synchronisieren Sie die Ordner neu und berechnen Sie die Quota (Speicherplatz) neu:</p>
|
||||
<div class="highlight"><pre><span></span><code>docker-compose exec dovecot-mailcow doveadm force-resync -u restoreme@example.net '*'
|
||||
docker-compose exec dovecot-mailcow doveadm quota recalc -u restoreme@example.net
|
||||
<div class="highlight"><pre><span></span><code>docker compose exec dovecot-mailcow doveadm force-resync -u restoreme@example.net '*'
|
||||
docker compose exec dovecot-mailcow doveadm quota recalc -u restoreme@example.net
|
||||
</code></pre></div>
|
||||
|
||||
<hr>
|
||||
|
@ -2460,7 +2477,7 @@ docker-compose exec dovecot-mailcow doveadm quota recalc -u restoreme@example.ne
|
|||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-06-27 19:14:02</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2576,7 +2593,7 @@ docker-compose exec dovecot-mailcow doveadm quota recalc -u restoreme@example.ne
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2540,7 +2557,7 @@ fi
|
|||
</code></pre></div></p>
|
||||
<p>Am Zielort (in diesem Fall <code>/external_share/backups</code>) möchten Sie vielleicht Snapshot-Möglichkeiten haben (ZFS, Btrfs usw.). Machen Sie tĂ€glich einen Snapshot und bewahren Sie ihn fĂŒr n Tage auf, um ein konsistentes Backup zu erhalten.
|
||||
FĂŒhren Sie <strong>kein</strong> rsync auf eine Samba-Freigabe durch, Sie mĂŒssen die richtigen Berechtigungen behalten!</p>
|
||||
<p>Zum Wiederherstellen mĂŒssen Sie rsync einfach in umgekehrter Richtung ausfĂŒhren und Docker neu starten, um die Volumes erneut zu lesen. FĂŒhren Sie <code>docker-compose pull</code> und <code>docker-compose up -d</code> aus.</p>
|
||||
<p>Zum Wiederherstellen mĂŒssen Sie rsync einfach in umgekehrter Richtung ausfĂŒhren und Docker neu starten, um die Volumes erneut zu lesen. FĂŒhren Sie <code>docker compose pull</code> und <code>docker compose up -d</code> aus.</p>
|
||||
<p>Wenn Sie GlĂŒck haben, können Redis und MariaDB die inkonsistenten Datenbanken automatisch reparieren (wenn sie inkonsistent <em>sind</em>).
|
||||
Im Falle einer beschĂ€digten Datenbank mĂŒssen Sie das Hilfsskript verwenden, um die inkonsistenten Elemente wiederherzustellen. Wenn die Wiederherstellung fehlschlĂ€gt, versuchen Sie, die Sicherungen zu extrahieren und die Dateien manuell zurĂŒck zu kopieren. Behalten Sie die Dateiberechtigungen bei!</p>
|
||||
|
||||
|
@ -2549,7 +2566,7 @@ Im Falle einer beschĂ€digten Datenbank mĂŒssen Sie das Hilfsskript verwenden, um
|
|||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-07-11 21:14:01</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2665,7 +2682,7 @@ Im Falle einer beschĂ€digten Datenbank mĂŒssen Sie das Hilfsskript verwenden, um
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2436,13 +2453,13 @@
|
|||
<h3 id="sicherung">Sicherung<a class="headerlink" href="#sicherung" title="Permanent link">¶</a></h3>
|
||||
<p>Diese Zeile sichert das vmail-Verzeichnis in eine Datei backup_vmail.tar.gz im mailcow-Root-Verzeichnis:
|
||||
<div class="highlight"><pre><span></span><code>cd /pfad/zu/mailcow-dockerized
|
||||
docker run --rm -i -v $(docker inspect --format '{{ range .Mounts }}{{ if eq .Destination "/var/vmail" }}{{ .Name }}{{ end }}{{ end }}' $(docker-compose ps -q dovecot-mailcow)):/vmail -v ${PWD}:/backup debian:stretch-slim tar cvfz /backup/backup_vmail.tar.gz /vmail
|
||||
docker run --rm -i -v $(docker inspect --format '{{ range .Mounts }}{{ if eq .Destination "/var/vmail" }}{{ .Name }}{{ end }}{{ end }}' $(docker compose ps -q dovecot-mailcow)):/vmail -v ${PWD}:/backup debian:stretch-slim tar cvfz /backup/backup_vmail.tar.gz /vmail
|
||||
</code></pre></div></p>
|
||||
<p>Sie können den Pfad Àndern, indem Sie ${PWD} (das dem aktuellen Verzeichnis entspricht) zu einem beliebigen Pfad Àndern, auf den Sie Schreibzugriff haben.
|
||||
Setzen Sie den Dateinamen <code>backup_vmail.tar.gz</code> auf einen beliebigen Namen, aber lassen Sie den Pfad so wie er ist. Beispiel: <code>[...] tar cvfz /backup/mein_eigener_dateiname_.tar.gz</code></p>
|
||||
<h3 id="wiederherstellen">Wiederherstellen<a class="headerlink" href="#wiederherstellen" title="Permanent link">¶</a></h3>
|
||||
<div class="highlight"><pre><span></span><code>cd /pfad/zu/mailcow-dockerized
|
||||
docker run --rm -it -v $(docker inspect --format '{{ range .Mounts }}{{ if eq .Destination "/var/vmail" }}{{ .Name }}{{ end }}{{ end }}' $(docker-compose ps -q dovecot-mailcow)):/vmail -v ${PWD}:/backup debian:stretch-slim tar xvfz /backup/backup_vmail.tar.gz
|
||||
docker run --rm -it -v $(docker inspect --format '{{ range .Mounts }}{{ if eq .Destination "/var/vmail" }}{{ .Name }}{{ end }}{{ end }}' $(docker compose ps -q dovecot-mailcow)):/vmail -v ${PWD}:/backup debian:stretch-slim tar xvfz /backup/backup_vmail.tar.gz
|
||||
</code></pre></div>
|
||||
|
||||
<hr>
|
||||
|
@ -2450,7 +2467,7 @@ docker run --rm -it -v $(docker inspect --format '{{ range .Mounts }}{{ if e
|
|||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-06-27 19:14:02</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2566,7 +2583,7 @@ docker run --rm -it -v $(docker inspect --format '{{ range .Mounts }}{{ if e
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2437,16 +2454,16 @@
|
|||
<div class="highlight"><pre><span></span><code>cd /pfad/zu/mailcow-dockerized
|
||||
source mailcow.conf
|
||||
DATE=$(date +"%Y%m%d_%H%M%S")
|
||||
docker-compose exec -T mysql-mailcow mysqldump --default-character-set=utf8mb4 -u${DBUSER} -p${DBPASS} ${DBNAME} > backup_${DBNAME}_${DATE}.sql
|
||||
docker compose exec -T mysql-mailcow mysqldump --default-character-set=utf8mb4 -u${DBUSER} -p${DBPASS} ${DBNAME} > backup_${DBNAME}_${DATE}.sql
|
||||
</code></pre></div>
|
||||
<h2 id="wiederherstellen">Wiederherstellen<a class="headerlink" href="#wiederherstellen" title="Permanent link">¶</a></h2>
|
||||
<div class="admonition warning">
|
||||
<p class="admonition-title">Warning</p>
|
||||
<p>Sie sollten den SQL-Dump ohne <code>docker-compose</code> umleiten, um Parsing-Fehler zu vermeiden.</p>
|
||||
<p>Sie sollten den SQL-Dump ohne <code>docker compose</code> umleiten, um Parsing-Fehler zu vermeiden.</p>
|
||||
</div>
|
||||
<div class="highlight"><pre><span></span><code>cd /pfad/zu/mailcow-dockerized
|
||||
source mailcow.conf
|
||||
docker exec -i $(docker-compose ps -q mysql-mailcow) mysql -u${DBUSER} -p${DBPASS} ${DBNAME} < backup_file.sql
|
||||
docker exec -i $(docker compose ps -q mysql-mailcow) mysql -u${DBUSER} -p${DBPASS} ${DBNAME} < backup_file.sql
|
||||
</code></pre></div>
|
||||
|
||||
<hr>
|
||||
|
@ -2454,7 +2471,7 @@ docker exec -i $(docker-compose ps -q mysql-mailcow) mysql -u${DBUSER} -p${DBPAS
|
|||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-06-27 19:14:02</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2570,7 +2587,7 @@ docker exec -i $(docker-compose ps -q mysql-mailcow) mysql -u${DBUSER} -p${DBPAS
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2473,7 +2490,7 @@
|
|||
<p>Um die Pfade Ihrer Quellvolumes zu finden, verwenden wir <code>docker inspect</code> und lesen das Zielverzeichnis jedes Volumes, das mit Ihrem mailcow compose Projekt verbunden ist. Das bedeutet, dass wir auch Volumes ĂŒbertragen, die Sie in einer Override-Datei hinzugefĂŒgt haben. Lokale Bind-Mounts können funktionieren, mĂŒssen aber nicht.</p>
|
||||
<p>Das Skript verwendet rsync mit dem <code>--delete</code> Flag. Das Ziel wird eine exakte Kopie der Quelle sein.</p>
|
||||
<p><code>mariabackup</code> wird verwendet, um eine konsistente Kopie des SQL-Datenverzeichnisses zu erstellen.</p>
|
||||
<p>Nach dem Rsync der Daten fĂŒhren wir <code>docker-compose pull</code> aus und entfernen alte Image-Tags aus dem Ziel.</p>
|
||||
<p>Nach dem Rsync der Daten fĂŒhren wir <code>docker compose pull</code> aus und entfernen alte Image-Tags aus dem Ziel.</p>
|
||||
<p>Ihre Quelle wird zu keinem Zeitpunkt verÀndert.</p>
|
||||
<p><strong>Sie sollten sicherstellen, dass Sie die gleiche <code>/etc/docker/daemon.json</code> auf dem entfernten Ziel verwenden.</strong></p>
|
||||
<p>Sie sollten keine Festplatten-Snapshots (z. B. ĂŒber ZFS, LVM usw.) auf dem Ziel ausfĂŒhren, wĂ€hrend dieses Skript ausgefĂŒhrt wird.</p>
|
||||
|
@ -2488,7 +2505,7 @@ export REMOTE_SSH_HOST=mailcow-backup.host.name
|
|||
</code></pre></div>
|
||||
<p>Der SchlĂŒssel muss im Besitz von root sein und darf nur von diesem gelesen werden können.</p>
|
||||
<p>Sowohl die Quelle als auch das Ziel benötigen <code>rsync</code> >= v3.1.0.
|
||||
Das Ziel muss ĂŒber Docker und docker-compose <strong>v2</strong> verfĂŒgen.</p>
|
||||
Das Ziel muss ĂŒber Docker und docker compose <strong>v2</strong> verfĂŒgen.</p>
|
||||
<p>Das Skript wird Fehler automatisch erkennen und sich beenden.</p>
|
||||
<p>Sie können die Verbindung testen, indem Sie <code>ssh mailcow-backup.host.name -p22 -i /path/to/keyfile</code> ausfĂŒhren.</p>
|
||||
<h2 id="backup-und-aktualisierung-des-cold-standby">Backup und Aktualisierung des Cold-Standby<a class="headerlink" href="#backup-und-aktualisierung-des-cold-standby" title="Permanent link">¶</a></h2>
|
||||
|
@ -2521,7 +2538,7 @@ Das Ziel muss ĂŒber Docker und docker-compose <strong>v2</strong> verfĂŒgen.</p>
|
|||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-06-27 19:14:02</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2637,7 +2654,7 @@ Das Ziel muss ĂŒber Docker und docker-compose <strong>v2</strong> verfĂŒgen.</p>
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2548,7 +2565,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -64,6 +64,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2497,7 +2514,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2605,7 +2622,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -64,6 +64,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2499,7 +2516,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -64,6 +64,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2507,7 +2524,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2611,7 +2628,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2620,7 +2637,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -64,6 +64,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2516,7 +2533,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -64,6 +64,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2500,7 +2517,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -64,6 +64,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2514,7 +2531,7 @@ Da Sie diese Seite aufgerufen haben, nachdem Sie sich in Ihren Mailcow-Server ei
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -64,6 +64,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2369,7 +2386,7 @@
|
|||
<h1>Deinstallation</h1>
|
||||
|
||||
<p>Um mailcow: dockerized mit all seinen Volumes, Images und Containern zu entfernen, tun Sie dies:</p>
|
||||
<div class="highlight"><pre><span></span><code>docker-compose down -v --rmi all --remove-orphans
|
||||
<div class="highlight"><pre><span></span><code>docker compose down -v --rmi all --remove-orphans
|
||||
</code></pre></div>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">Info</p>
|
||||
|
@ -2377,7 +2394,7 @@
|
|||
<li><strong>-v</strong> Entfernt benannte Volumes, die im Abschnitt <code>volumes</code> der Compose-Datei deklariert sind, und anonyme Volumes, die an Container angehÀngt sind.</li>
|
||||
<li><strong>--rmi <Typ></strong> Images entfernen. Der Typ muss einer der folgenden sein: <code>all</code>: Entfernt alle Images, die von einem beliebigen Dienst verwendet werden. <code>local</code>: Entfernt nur Bilder, die kein benutzerdefiniertes Tag haben, das durch das Feld "image" gesetzt wurde.</li>
|
||||
<li><strong>--remove-orphans</strong> Entfernt Container fĂŒr Dienste, die nicht in der Compose-Datei definiert sind.</li>
|
||||
<li>StandardmĂ€Ăig entfernt <code>docker-compose down</code> nur derzeit aktive Container und Netzwerke, die in der Datei <code>docker-compose.yml</code> definiert sind.</li>
|
||||
<li>StandardmĂ€Ăig entfernt <code>docker compose down</code> nur derzeit aktive Container und Netzwerke, die in der Datei <code>docker compose.yml</code> definiert sind.</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
@ -2386,7 +2403,7 @@
|
|||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-06-23 15:17:00</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2502,7 +2519,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -61,9 +61,31 @@
|
|||
<label class="md-overlay" for="__drawer"></label>
|
||||
<div data-md-component="skip">
|
||||
|
||||
|
||||
<a href="#docker-und-docker-compose-installation" class="md-skip">
|
||||
Zum Inhalt
|
||||
</a>
|
||||
|
||||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -358,10 +380,134 @@
|
|||
|
||||
|
||||
|
||||
<label class="md-nav__link md-nav__link--active" for="__toc">
|
||||
Installation
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
</label>
|
||||
|
||||
<a href="./" class="md-nav__link md-nav__link--active">
|
||||
Installation
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
<nav class="md-nav md-nav--secondary" aria-label="Inhaltsverzeichnis">
|
||||
|
||||
|
||||
|
||||
|
||||
<label class="md-nav__title" for="__toc">
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
Inhaltsverzeichnis
|
||||
</label>
|
||||
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#docker-und-docker-compose-installation" class="md-nav__link">
|
||||
Docker und Docker Compose Installation
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="Docker und Docker Compose Installation">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#docker" class="md-nav__link">
|
||||
Docker
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#docker-compose" class="md-nav__link">
|
||||
docker compose
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="docker compose">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#installation-via-paketmanager-plugin" class="md-nav__link">
|
||||
Installation via Paketmanager (Plugin)
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#installation-via-script-standalone" class="md-nav__link">
|
||||
Installation via Script (Standalone)
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#selinux-besonderheiten-prufen" class="md-nav__link">
|
||||
SELinux Besonderheiten prĂŒfen
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#mailcow-installieren" class="md-nav__link">
|
||||
mailcow Installieren
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#mailcow-initialisieren" class="md-nav__link">
|
||||
mailcow Initialisieren
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#problembehandlungen" class="md-nav__link">
|
||||
Problembehandlungen
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="Problembehandlungen">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#benutzer-mit-einer-mtu-ungleich-1500-zb-openstack" class="md-nav__link">
|
||||
Benutzer mit einer MTU ungleich 1500 (z.B. OpenStack)
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#benutzer-ohne-ein-ipv6-aktiviertes-netzwerk-auf-ihrem-hostsystem" class="md-nav__link">
|
||||
Benutzer ohne ein IPv6-aktiviertes Netzwerk auf ihrem Hostsystem
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#mailcow-starten" class="md-nav__link">
|
||||
mailcow starten
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
|
||||
|
@ -2350,6 +2496,116 @@
|
|||
|
||||
|
||||
|
||||
<label class="md-nav__title" for="__toc">
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
Inhaltsverzeichnis
|
||||
</label>
|
||||
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#docker-und-docker-compose-installation" class="md-nav__link">
|
||||
Docker und Docker Compose Installation
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="Docker und Docker Compose Installation">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#docker" class="md-nav__link">
|
||||
Docker
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#docker-compose" class="md-nav__link">
|
||||
docker compose
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="docker compose">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#installation-via-paketmanager-plugin" class="md-nav__link">
|
||||
Installation via Paketmanager (Plugin)
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#installation-via-script-standalone" class="md-nav__link">
|
||||
Installation via Script (Standalone)
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#selinux-besonderheiten-prufen" class="md-nav__link">
|
||||
SELinux Besonderheiten prĂŒfen
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#mailcow-installieren" class="md-nav__link">
|
||||
mailcow Installieren
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#mailcow-initialisieren" class="md-nav__link">
|
||||
mailcow Initialisieren
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#problembehandlungen" class="md-nav__link">
|
||||
Problembehandlungen
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="Problembehandlungen">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#benutzer-mit-einer-mtu-ungleich-1500-zb-openstack" class="md-nav__link">
|
||||
Benutzer mit einer MTU ungleich 1500 (z.B. OpenStack)
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#benutzer-ohne-ein-ipv6-aktiviertes-netzwerk-auf-ihrem-hostsystem" class="md-nav__link">
|
||||
Benutzer ohne ein IPv6-aktiviertes Netzwerk auf ihrem Hostsystem
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#mailcow-starten" class="md-nav__link">
|
||||
mailcow starten
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -2368,31 +2624,55 @@
|
|||
|
||||
<h1>Installation</h1>
|
||||
|
||||
<h2 id="docker-und-docker-compose-installation">Docker und Docker Compose Installation<a class="headerlink" href="#docker-und-docker-compose-installation" title="Permanent link">¶</a></h2>
|
||||
<p>Sie benötigen Docker (eine Version >= <code>20.10.2</code> ist erforderlich) und Docker Compose (eine Version <code>>= 2.0</code> ist erforderlich).</p>
|
||||
<p><strong>1.</strong> Erfahren Sie, wie Sie <a href="https://docs.docker.com/install/">Docker</a> und <a href="https://docs.docker.com/compose/install/">Docker Compose</a> installieren.</p>
|
||||
<p>Erfahren Sie, wie Sie <a href="https://docs.docker.com/install/">Docker</a> und <a href="https://docs.docker.com/compose/install/">Docker Compose</a> installieren.</p>
|
||||
<p>Schnelle Installation fĂŒr die meisten Betriebssysteme:</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>Docker
|
||||
<div class="highlight"><pre><span></span><code>curl -sSL https://get.docker.com/ | CHANNEL=stable sh
|
||||
<h3 id="docker">Docker<a class="headerlink" href="#docker" title="Permanent link">¶</a></h3>
|
||||
<p><div class="highlight"><pre><span></span><code>curl -sSL https://get.docker.com/ | CHANNEL=stable sh
|
||||
# Nachdem der Installationsprozess abgeschlossen ist, mĂŒssen Sie eventuell den Dienst aktivieren und sicherstellen, dass er gestartet ist (z. B. CentOS 7)
|
||||
systemctl enable --now docker
|
||||
</code></pre></div></p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Docker-Compose</p>
|
||||
</li>
|
||||
</ul>
|
||||
</code></pre></div>
|
||||
Bitte verwenden Sie die neueste verfĂŒgbare Docker-Engine und nicht die Engine, die mit Ihrem Distros-Repository ausgeliefert wird.</p>
|
||||
<h3 id="docker-compose">docker compose<a class="headerlink" href="#docker-compose" title="Permanent link">¶</a></h3>
|
||||
<div class="admonition danger">
|
||||
<p class="admonition-title">Achtung</p>
|
||||
<p><strong>mailcow benötigt die neueste Version von docker-compose v2.</strong> Es wird dringend empfohlen, die untenstehenden Befehle zu verwenden, um <code>docker-compose</code> zu installieren. Paket-Manager (z.B. <code>apt</code>, <code>yum</code>) werden <strong>wahrscheinlich</strong> nicht die richtige Version liefern.
|
||||
Hinweis: Dieser Befehl lĂ€dt docker-compose aus dem offiziellen Docker-Github-Repository herunter und ist eine sichere Methode. Das Snippet ermittelt die neueste unterstĂŒtzte Version von mailcow. In fast allen FĂ€llen ist dies die letzte verfĂŒgbare Version (Ausnahmen sind kaputte Versionen oder gröĂere Ănderungen, die noch nicht von mailcow unterstĂŒtzt werden).</p>
|
||||
<p><strong>mailcow benötigt eine Version von Docker Compose >= v2</strong>.
|
||||
<br>Sollte die Installation von Docker ĂŒber das obenstehende Skript erfolgt sein wird das Docker Compose Plugin bereits automatisch
|
||||
in einer Version >=2.0 installiert. <br>
|
||||
Ist die mailcow Installation Àlter oder Docker wurde auf einem anderen Weg installiert, muss das Compose Plugin bzw. die Standalone Version von Docker manuell installiert werden.</p>
|
||||
</div>
|
||||
<div class="highlight"><pre><span></span><code>curl -L https://github.com/docker/compose/releases/download/v$(curl -Ls https://www.servercow.de/docker-compose/latest.php)/docker-compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker-compose
|
||||
chmod +x /usr/local/bin/docker-compose
|
||||
<h4 id="installation-via-paketmanager-plugin">Installation via Paketmanager (Plugin)<a class="headerlink" href="#installation-via-paketmanager-plugin" title="Permanent link">¶</a></h4>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">Hinweis</p>
|
||||
<p>Diese Vorgehensweise mit den Paketquellen ist nur dann möglich, wenn das Docker Repository eingebunden wurde. Dies kann entweder durch die Anleitung oben (siehe <a href="#docker">Docker</a>) oder durch eine manuelle Einbindung passieren.</p>
|
||||
</div>
|
||||
<p>Auf Debian/Ubuntu Systemen:
|
||||
<div class="highlight"><pre><span></span><code>apt update
|
||||
apt install docker compose-plugin
|
||||
</code></pre></div></p>
|
||||
<p>Auf Centos 7 Systemen:
|
||||
<div class="highlight"><pre><span></span><code>yum update
|
||||
yum install docker compose-plugin
|
||||
</code></pre></div></p>
|
||||
<div class="admonition danger">
|
||||
<p class="admonition-title">Achtung</p>
|
||||
<p>Die Syntax der Docker Compose Befehle lautet <strong><code>docker compose</code></strong> bei der <strong>Plugin Variante</strong> von Docker Compose!!</p>
|
||||
</div>
|
||||
<h4 id="installation-via-script-standalone">Installation via Script (Standalone)<a class="headerlink" href="#installation-via-script-standalone" title="Permanent link">¶</a></h4>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">Hinweis</p>
|
||||
<p>Diese Installation ist die alt bekannte Weise. Sie installiert Docker Compose als Standalone Programm und ist nicht auf die Art und weise der Docker Installation angewiesen.</p>
|
||||
</div>
|
||||
<div class="highlight"><pre><span></span><code>curl -L https://github.com/docker/compose/releases/download/v$(curl -Ls https://www.servercow.de/docker compose/latest.php)/docker compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker compose
|
||||
chmod +x /usr/local/bin/docker compose
|
||||
</code></pre></div>
|
||||
<p>Bitte verwenden Sie die neueste verfĂŒgbare Docker-Engine und nicht die Engine, die mit Ihrem Distros-Repository ausgeliefert wird.</p>
|
||||
<p><strong>1.1.1.</strong> Auf SELinux-aktivierten Systemen, z.B. CentOS 7:</p>
|
||||
<div class="admonition danger">
|
||||
<p class="admonition-title">Achtung</p>
|
||||
<p>Die Syntax der Docker Compose Befehle lautet <strong><code>docker compose</code></strong> bei der <strong>Standalone Variante</strong> von Docker Compose!!</p>
|
||||
</div>
|
||||
<h2 id="selinux-besonderheiten-prufen">SELinux Besonderheiten prĂŒfen<a class="headerlink" href="#selinux-besonderheiten-prufen" title="Permanent link">¶</a></h2>
|
||||
<p>Auf SELinux-aktivierten Systemen, z.B. CentOS 7:</p>
|
||||
<ul>
|
||||
<li>PrĂŒfen Sie, ob das Paket "container-selinux" auf Ihrem System vorhanden ist:</li>
|
||||
</ul>
|
||||
|
@ -2412,7 +2692,8 @@ chmod +x /usr/local/bin/docker-compose
|
|||
<p>Starten Sie den Docker-Daemon neu und ĂŒberprĂŒfen Sie, ob SELinux nun aktiviert ist.</p>
|
||||
<p>Dieser Schritt ist erforderlich, um sicherzustellen, dass die mailcows-Volumes richtig gekennzeichnet sind, wie in der Compose-Datei angegeben.
|
||||
Wenn Sie daran interessiert sind, wie das funktioniert, können Sie sich die Readme-Datei von <a href="https://github.com/containers/container-selinux">https://github.com/containers/container-selinux</a> ansehen, die auf viele nĂŒtzliche Informationen zu diesem Thema verweist.</p>
|
||||
<p><strong>2.</strong> Klonen Sie den Master-Zweig des Repositorys und stellen Sie sicher, dass Ihre umask gleich 0022 ist. Bitte klonen Sie das Repository als root-Benutzer und kontrollieren Sie auch den Stack als root. Wir werden die Attribute - wenn nötig - Ă€ndern, wĂ€hrend wir die Container automatisch bereitstellen und sicherstellen, dass alles gesichert ist. Das update.sh-Skript muss daher ebenfalls als root ausgefĂŒhrt werden. Es kann notwendig sein, den Besitzer und andere Attribute von Dateien zu Ă€ndern, auf die Sie sonst keinen Zugriff haben. <strong>Wir geben die Berechtigungen fĂŒr jede exponierte Anwendung</strong> auf und fĂŒhren einen exponierten Dienst nicht als root aus! Wenn Sie den Docker-Daemon als Nicht-Root-Benutzer steuern, erhalten Sie keine zusĂ€tzliche Sicherheit. Der unprivilegierte Benutzer wird die Container ebenfalls als root spawnen. Das Verhalten des Stacks ist identisch.</p>
|
||||
<h2 id="mailcow-installieren">mailcow Installieren<a class="headerlink" href="#mailcow-installieren" title="Permanent link">¶</a></h2>
|
||||
<p>Klonen Sie den Master-Zweig des Repositorys und stellen Sie sicher, dass Ihre umask gleich 0022 ist. Bitte klonen Sie das Repository als root-Benutzer und kontrollieren Sie auch den Stack als root. Wir werden die Attribute - wenn nötig - Ă€ndern, wĂ€hrend wir die Container automatisch bereitstellen und sicherstellen, dass alles gesichert ist. Das update.sh-Skript muss daher ebenfalls als root ausgefĂŒhrt werden. Es kann notwendig sein, den Besitzer und andere Attribute von Dateien zu Ă€ndern, auf die Sie sonst keinen Zugriff haben. <strong>Wir geben die Berechtigungen fĂŒr jede exponierte Anwendung</strong> auf und fĂŒhren einen exponierten Dienst nicht als root aus! Wenn Sie den Docker-Daemon als Nicht-Root-Benutzer steuern, erhalten Sie keine zusĂ€tzliche Sicherheit. Der unprivilegierte Benutzer wird die Container ebenfalls als root spawnen. Das Verhalten des Stacks ist identisch.</p>
|
||||
<div class="highlight"><pre><span></span><code>$ su
|
||||
# umask
|
||||
0022 # <- ĂberprĂŒfen, dass es 0022 ist
|
||||
|
@ -2420,18 +2701,20 @@ Wenn Sie daran interessiert sind, wie das funktioniert, können Sie sich die Rea
|
|||
# git clone https://github.com/mailcow/mailcow-dockerized
|
||||
# cd mailcow-dockerized
|
||||
</code></pre></div>
|
||||
<p><strong>3.</strong> Erzeugen Sie eine Konfigurationsdatei. Verwenden Sie einen FQDN (<code>host.domain.tld</code>) als Hostname, wenn Sie gefragt werden.
|
||||
<h2 id="mailcow-initialisieren">mailcow Initialisieren<a class="headerlink" href="#mailcow-initialisieren" title="Permanent link">¶</a></h2>
|
||||
<p>Erzeugen Sie eine Konfigurationsdatei. Verwenden Sie einen FQDN (<code>host.domain.tld</code>) als Hostname, wenn Sie gefragt werden.
|
||||
<div class="highlight"><pre><span></span><code>./generate_config.sh
|
||||
</code></pre></div></p>
|
||||
<p><strong>4.</strong> Ăndern Sie die Konfiguration, wenn Sie das wollen oder mĂŒssen.
|
||||
<p>Ăndern Sie die Konfiguration, wenn Sie wollen oder mĂŒssen.
|
||||
<div class="highlight"><pre><span></span><code>nano mailcow.conf
|
||||
</code></pre></div>
|
||||
Wenn Sie planen, einen Reverse Proxy zu verwenden, können Sie zum Beispiel HTTPS an 127.0.0.1 auf Port 8443 und HTTP an 127.0.0.1 auf Port 8080 binden.</p>
|
||||
<p>Möglicherweise mĂŒssen Sie einen vorinstallierten MTA stoppen, der Port 25/tcp blockiert. Siehe <a href="../../post_installation/firststeps-local_mta/">dieses Kapitel</a>, um zu erfahren, wie man Postfix rekonfiguriert, um nach einer erfolgreichen Installation neben mailcow laufen zu lassen.</p>
|
||||
<p>Einige Updates modifizieren mailcow.conf und fĂŒgen neue Parameter hinzu. Es ist schwer, in der Dokumentation den Ăberblick zu behalten. Bitte ĂŒberprĂŒfen Sie deren Beschreibung und fragen Sie, wenn Sie unsicher sind, in den bekannten KanĂ€len nach Rat.</p>
|
||||
<p><strong>4.1.</strong> Benutzer mit einer MTU ungleich 1500 (z.B. OpenStack):</p>
|
||||
<h2 id="problembehandlungen">Problembehandlungen<a class="headerlink" href="#problembehandlungen" title="Permanent link">¶</a></h2>
|
||||
<h3 id="benutzer-mit-einer-mtu-ungleich-1500-zb-openstack">Benutzer mit einer MTU ungleich 1500 (z.B. OpenStack)<a class="headerlink" href="#benutzer-mit-einer-mtu-ungleich-1500-zb-openstack" title="Permanent link">¶</a></h3>
|
||||
<p><strong>Wenn Sie auf Probleme und seltsame PhĂ€nomene stoĂen, ĂŒberprĂŒfen Sie bitte Ihre MTU.</strong></p>
|
||||
<p>Bearbeiten Sie <code>docker-compose.yml</code> und Àndern Sie die Netzwerkeinstellungen entsprechend Ihrer MTU.
|
||||
<p>Bearbeiten Sie <code>docker compose.yml</code> und Àndern Sie die Netzwerkeinstellungen entsprechend Ihrer MTU.
|
||||
FĂŒgen Sie den neuen Parameter driver_opts wie folgt hinzu:
|
||||
<div class="highlight"><pre><span></span><code>networks:
|
||||
mailcow-network:
|
||||
|
@ -2440,12 +2723,13 @@ FĂŒgen Sie den neuen Parameter driver_opts wie folgt hinzu:
|
|||
com.docker.network.driver.mtu: 1450
|
||||
...
|
||||
</code></pre></div></p>
|
||||
<p><strong>4.2.</strong> Benutzer ohne ein IPv6-aktiviertes Netzwerk auf ihrem Hostsystem:</p>
|
||||
<p><strong>Einschalten von IPv6. Endlich.</strong></p>
|
||||
<p>Wenn Sie kein IPv6-fĂ€higes Netzwerk auf Ihrem Host haben und Sie sich nicht um ein besseres Internet kĂŒmmern (hehe), ist es empfehlenswert, IPv6 fĂŒr das mailcow-Netzwerk zu <a href="../../post_installation/firststeps-disable_ipv6/">deaktivieren</a>, um unvorhergesehene Probleme zu vermeiden.</p>
|
||||
<p><strong>5.</strong> LAden Sie die Images herunter und fĂŒhren Sie die Compose-Datei aus. Der Parameter <code>-d</code> wird mailcow: dockerized starten:
|
||||
<div class="highlight"><pre><span></span><code>docker-compose pull
|
||||
docker-compose up -d
|
||||
<h3 id="benutzer-ohne-ein-ipv6-aktiviertes-netzwerk-auf-ihrem-hostsystem">Benutzer ohne ein IPv6-aktiviertes Netzwerk auf ihrem Hostsystem<a class="headerlink" href="#benutzer-ohne-ein-ipv6-aktiviertes-netzwerk-auf-ihrem-hostsystem" title="Permanent link">¶</a></h3>
|
||||
<p><strong>Schalten Sie IPv6 bitte nicht ab, auch wenn es Ihnen nicht gefÀllt. IPv6 ist die Zukunft und sollte nicht ignoriert werden.</strong></p>
|
||||
<p>Sollten Sie jedoch kein IPv6-fĂ€higes Netzwerk auf Ihrem Host haben und Sie sich nicht um ein besseres Internet kĂŒmmern wollen (hehe), ist es empfehlenswert, IPv6 fĂŒr das mailcow-Netzwerk zu <a href="../../post_installation/firststeps-disable_ipv6/">deaktivieren</a>, um unvorhergesehene Probleme zu vermeiden.</p>
|
||||
<h2 id="mailcow-starten">mailcow starten<a class="headerlink" href="#mailcow-starten" title="Permanent link">¶</a></h2>
|
||||
<p>Laden Sie die Images herunter und fĂŒhren Sie die Compose-Datei aus. Der Parameter <code>-d</code> wird ihre mailcow dann im Hintergrund starten:
|
||||
<div class="highlight"><pre><span></span><code>docker compose pull
|
||||
docker compose up -d
|
||||
</code></pre></div></p>
|
||||
<p>Geschafft!</p>
|
||||
<p>Sie können nun auf <strong>https://${MAILCOW_HOSTNAME}</strong> mit den Standard-Zugangsdaten <code>admin</code> + Passwort <code>moohoo</code> zugreifen.</p>
|
||||
|
@ -2454,14 +2738,14 @@ docker-compose up -d
|
|||
<p>Wenn Sie mailcow nicht hinter einem Reverse Proxy verwenden, sollten Sie <a href="../../manual-guides/u_e-80_to_443/">alle HTTP-Anfragen auf HTTPS umleiten</a>.</p>
|
||||
</div>
|
||||
<p>Die Datenbank wird sofort initialisiert, nachdem eine Verbindung zu MySQL hergestellt werden kann.</p>
|
||||
<p>Ihre Daten bleiben in mehreren Docker-Volumes erhalten, die nicht gelöscht werden, wenn Sie Container neu erstellen oder löschen. FĂŒhren Sie <code>docker volume ls</code> aus, um eine Liste aller Volumes zu sehen. Sie können <code>docker-compose down</code> sicher ausfĂŒhren, ohne persistente Daten zu entfernen.</p>
|
||||
<p>Ihre Daten bleiben in mehreren Docker-Volumes erhalten, die nicht gelöscht werden, wenn Sie Container neu erstellen oder löschen. FĂŒhren Sie <code>docker volume ls</code> aus, um eine Liste aller Volumes zu sehen. Sie können <code>docker compose down</code> sicher ausfĂŒhren, ohne persistente Daten zu entfernen.</p>
|
||||
|
||||
<hr>
|
||||
<div class="md-source-file">
|
||||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-06-23 15:17:00</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2577,7 +2861,7 @@ docker-compose up -d
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -64,6 +64,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2377,7 +2394,7 @@
|
|||
<p>Alternativ können Sie das Skript <code>./helper-scripts/backup_and_restore.sh</code> verwenden, um ein vollstÀndiges Backup auf der Quellmaschine zu erstellen, dann installieren Sie mailcow auf der Zielmaschine wie gewohnt, kopieren Sie Ihre <code>mailcow.conf</code> und verwenden Sie das gleiche Skript, um Ihr Backup auf der Zielmaschine wiederherzustellen.</p>
|
||||
</div>
|
||||
<p><strong>1.</strong>
|
||||
Installieren Sie <a href="https://docs.docker.com/engine/installation/linux/">Docker</a> und <a href="https://docs.docker.com/compose/install/">docker-compose</a> auf Ihrem neuen Server.</p>
|
||||
Installieren Sie <a href="https://docs.docker.com/engine/installation/linux/">Docker</a> und <a href="https://docs.docker.com/compose/install/">docker compose</a> auf Ihrem neuen Server.</p>
|
||||
<p>Schnelle Installation fĂŒr die meisten Betriebssysteme:</p>
|
||||
<ul>
|
||||
<li>
|
||||
|
@ -2388,9 +2405,9 @@ systemctl enable docker.service
|
|||
</code></pre></div></p>
|
||||
</li>
|
||||
<li>
|
||||
<p>docker-compose
|
||||
<div class="highlight"><pre><span></span><code>curl -L https://github.com/docker/compose/releases/download/v$(curl -Ls https://www.servercow.de/docker-compose/latest.php)/docker-compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker-compose
|
||||
chmod +x /usr/local/bin/docker-compose
|
||||
<p>docker compose
|
||||
<div class="highlight"><pre><span></span><code>curl -L https://github.com/docker/compose/releases/download/v$(curl -Ls https://www.servercow.de/docker compose/latest.php)/docker compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker compose
|
||||
chmod +x /usr/local/bin/docker compose
|
||||
</code></pre></div></p>
|
||||
</li>
|
||||
</ul>
|
||||
|
@ -2405,7 +2422,7 @@ rsync -aHhP --numeric-ids --delete /var/lib/docker/volumes/ root@target-machine.
|
|||
</code></pre></div></p>
|
||||
<p><strong>4.</strong> Schalten Sie mailcow ab und stoppen Sie Docker auf dem Quellrechner.
|
||||
<div class="highlight"><pre><span></span><code>cd /opt/mailcow-dockerized
|
||||
docker-compose herunterfahren
|
||||
docker compose herunterfahren
|
||||
systemctl stop docker.service
|
||||
</code></pre></div></p>
|
||||
<p>**Wiederholen Sie Schritt 3 mit denselben Befehlen. Dies wird viel schneller gehen als beim ersten Mal.</p>
|
||||
|
@ -2414,10 +2431,10 @@ systemctl stop docker.service
|
|||
</code></pre></div></p>
|
||||
<p><strong>7.</strong> Ziehen Sie nun die mailcow Docker-Images auf den Zielrechner.
|
||||
<div class="highlight"><pre><span></span><code>cd /opt/mailcow-dockerized
|
||||
docker-compose pull
|
||||
docker compose pull
|
||||
</code></pre></div></p>
|
||||
<p><strong>8.</strong> Starten Sie den gesamten mailcow-Stack und alles sollte fertig sein!
|
||||
<div class="highlight"><pre><span></span><code>docker-compose up -d
|
||||
<div class="highlight"><pre><span></span><code>docker compose up -d
|
||||
</code></pre></div></p>
|
||||
<p><strong>9.</strong> Zum Schluss Àndern Sie Ihre DNS-Einstellungen so, dass sie auf den Zielserver zeigen.</p>
|
||||
|
||||
|
@ -2426,7 +2443,7 @@ docker-compose pull
|
|||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-06-24 11:27:36</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2542,7 +2559,7 @@ docker-compose pull
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -62,13 +62,30 @@
|
|||
<div data-md-component="skip">
|
||||
|
||||
|
||||
<a href="#automatische-aktualisierung" class="md-skip">
|
||||
<a href="#mailcow-automatisch-updaten" class="md-skip">
|
||||
Zum Inhalt
|
||||
</a>
|
||||
|
||||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -400,11 +417,11 @@
|
|||
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#automatische-aktualisierung" class="md-nav__link">
|
||||
Automatische Aktualisierung
|
||||
<a href="#mailcow-automatisch-updaten" class="md-nav__link">
|
||||
mailcow automatisch Updaten
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="Automatische Aktualisierung">
|
||||
<nav class="md-nav" aria-label="mailcow automatisch Updaten">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
|
@ -445,6 +462,47 @@
|
|||
Update-Zyklus
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#update-varianten" class="md-nav__link">
|
||||
Update-Varianten
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#neu-nightly-updates-beziehen" class="md-nav__link">
|
||||
NEU: Nightly Updates beziehen
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="NEU: Nightly Updates beziehen">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#infos-zu-den-nightly-updates" class="md-nav__link">
|
||||
Infos zu den Nightly Updates
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#wie-bekomme-ich-nightly-updates" class="md-nav__link">
|
||||
Wie bekomme ich Nightly Updates?
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#best-practice-nightly-update" class="md-nav__link">
|
||||
Best Practice Nightly Update
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
@ -2432,11 +2490,11 @@
|
|||
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#automatische-aktualisierung" class="md-nav__link">
|
||||
Automatische Aktualisierung
|
||||
<a href="#mailcow-automatisch-updaten" class="md-nav__link">
|
||||
mailcow automatisch Updaten
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="Automatische Aktualisierung">
|
||||
<nav class="md-nav" aria-label="mailcow automatisch Updaten">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
|
@ -2477,6 +2535,47 @@
|
|||
Update-Zyklus
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#update-varianten" class="md-nav__link">
|
||||
Update-Varianten
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#neu-nightly-updates-beziehen" class="md-nav__link">
|
||||
NEU: Nightly Updates beziehen
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="NEU: Nightly Updates beziehen">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#infos-zu-den-nightly-updates" class="md-nav__link">
|
||||
Infos zu den Nightly Updates
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#wie-bekomme-ich-nightly-updates" class="md-nav__link">
|
||||
Wie bekomme ich Nightly Updates?
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#best-practice-nightly-update" class="md-nav__link">
|
||||
Best Practice Nightly Update
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
@ -2499,7 +2598,7 @@
|
|||
|
||||
<h1>Update</h1>
|
||||
|
||||
<h2 id="automatische-aktualisierung">Automatische Aktualisierung<a class="headerlink" href="#automatische-aktualisierung" title="Permanent link">¶</a></h2>
|
||||
<h2 id="mailcow-automatisch-updaten">mailcow automatisch Updaten<a class="headerlink" href="#mailcow-automatisch-updaten" title="Permanent link">¶</a></h2>
|
||||
<p>Ein Update-Skript in Ihrem mailcow-dockerized Verzeichnis kĂŒmmert sich um Updates.</p>
|
||||
<p>Aber benutzen Sie es mit Bedacht! Wenn Sie denken, dass Sie viele Ănderungen am mailcow-Code vorgenommen haben, sollten Sie die manuelle Update-Anleitung unten verwenden.</p>
|
||||
<p>FĂŒhren sie das Update-Skript aus:
|
||||
|
@ -2520,8 +2619,12 @@ Einige kleinere Konflikte werden automatisch korrigiert (zugunsten des mailcow-d
|
|||
# - Ăberspringt den ICMP Check auf die öffentlichen DNS Resolver (Bitte nur nutzen, wenn keinerlei ICMP Verbindungen von und zur mailcow erlaubt sind)
|
||||
./update.sh --skip-ping-check
|
||||
|
||||
# - Ăberspringt den Docker-Compose Update Prozess, aktualisierung erfolgt dann vom Benutzer
|
||||
./update.sh --no-update-compose
|
||||
# - Wechselt die Update Quellen der mailcow auf nightly (unstabile) Inhalte.
|
||||
NUR ZUM TESTEN VERWENDEN!! KEIN PRODUKTIV BETRIEB!!!
|
||||
./update.sh --nightly
|
||||
|
||||
# - Wechselt die Update Quellen der mailcow auf stable (stabile) Inhalte (standard).
|
||||
./update.sh --stable
|
||||
|
||||
# - Erzwinge Update (unbeaufsichtigt, aber nicht unterstĂŒtzt, Benutzung auf eigenes Risiko)
|
||||
./update.sh --force
|
||||
|
@ -2545,11 +2648,11 @@ dacd4fb9b51e9e1c8a37d84485b92ffaf6c59353 Before update on 2020-08-07_13_31_31
|
|||
<h3 id="kann-ich-ein-rollback-durchfuhren">Kann ich ein Rollback durchfĂŒhren?<a class="headerlink" href="#kann-ich-ein-rollback-durchfuhren" title="Permanent link">¶</a></h3>
|
||||
<p>Ja.</p>
|
||||
<p>Siehe das obige Thema, anstelle eines Diffs fĂŒhren Sie checkout aus:</p>
|
||||
<div class="highlight"><pre><span></span><code>docker-compose down
|
||||
<div class="highlight"><pre><span></span><code>docker compose down
|
||||
# Ersetzen Sie die Commit-ID 22cd00b5e28893ef9ddef3c2b5436453cc5223ab durch Ihre ID
|
||||
git checkout 22cd00b5e28893ef9ddef3c2b5436453cc5223ab
|
||||
docker-compose pull
|
||||
docker-compose up -d
|
||||
docker compose pull
|
||||
docker compose up -d
|
||||
</code></pre></div>
|
||||
<h3 id="hooks">Hooks<a class="headerlink" href="#hooks" title="Permanent link">¶</a></h3>
|
||||
<p>Sie können sich in den Update-Mechanismus einklinken, indem Sie Skripte namens <code>pre_commit_hook.sh</code> und <code>post_commit_hook.sh</code> zu Ihrem mailcows-Root-Verzeichnis hinzufĂŒgen. Siehe <a href="../../manual-guides/u_e-update-hooks/">hier</a> fĂŒr weitere Details.</p>
|
||||
|
@ -2559,13 +2662,40 @@ docker-compose up -d
|
|||
<li>Die Updates sind wie folgt nummeriert: <code>JJJJ-MM</code> (Beispiel: <code>2022-05</code>).</li>
|
||||
<li>Fehlerkorrekturen eines Hauptupdates werden bei uns als "Revisionen" wie a,b,c (Beispiele: <code>2022-05a</code>, <code>2022-05b</code> usw.) erscheinen.</li>
|
||||
</ul>
|
||||
<h2 id="update-varianten">Update-Varianten<a class="headerlink" href="#update-varianten" title="Permanent link">¶</a></h2>
|
||||
<p><strong>stable (stabile Updates)</strong>: Diese Updates sind fĂŒr den Produktivbetrieb geeignet. Sie erscheinen in einem Zyklus von mindest 1x im Monat.</p>
|
||||
<p><strong>nightly (instabile Updates)</strong>: Diese Updates sind <strong>NICHT</strong> fĂŒr den Produktivbetrieb geeignet und dienen lediglich dem Testen. Die nightly Updates sind den stabilen Updates vorraus, da in diesen neue und auch umfangreichere Funktionen getestet werden bevor diese fĂŒr alle User Live gehen.</p>
|
||||
<h2 id="neu-nightly-updates-beziehen">NEU: Nightly Updates beziehen<a class="headerlink" href="#neu-nightly-updates-beziehen" title="Permanent link">¶</a></h2>
|
||||
<h3 id="infos-zu-den-nightly-updates">Infos zu den Nightly Updates<a class="headerlink" href="#infos-zu-den-nightly-updates" title="Permanent link">¶</a></h3>
|
||||
<p>Seit dem 2022-08 Update gibt es die Möglichkeit die Update quellen zu Ă€ndern. Bisher diente der master Branch auf GitHub als einzige (offizieller) Update Quelle. Mit dem August 2022 Update gibt es aber nun noch den Nightly Branch welcher instabile und gröĂere Ănderungen zum testen und Feedback geben enthĂ€lt.</p>
|
||||
<p>Dabei bekommt der Nightly Branch immer dann neue Updates, wenn irgendetwas am mailcow Projekt fertig gemacht wurde was in die neue Hauptversion reinkommt.</p>
|
||||
<p>Neben den offensichtlichen neuerungen welche sowieso im nÀchsten Major Update enthalten sein werden enthÀlt er ebenfalls erstmal exklusive Features welche eine lÀngere Testzeit brauchen (bspw. das UI Update auf Bootstrap 5).</p>
|
||||
<h3 id="wie-bekomme-ich-nightly-updates">Wie bekomme ich Nightly Updates?<a class="headerlink" href="#wie-bekomme-ich-nightly-updates" title="Permanent link">¶</a></h3>
|
||||
<p>Der Vorgang ist relativ simpel. Mit dem 2022-08 Update (ein Update auf die Version voraussgesetzt) ist es möglich die <code>update.sh</code> mit dem Parameter <code>--nightly</code> zu starten.</p>
|
||||
<div class="admonition danger">
|
||||
<p class="admonition-title">Achtung<p>Bitte machen Sie vorher ein Backup oder folgen Sie dem Abschnitt <a href="#best-practice-nightly-update">Best Practice Nightly Update</a> bevor Sie auf die Nightly Builds von mailcow wechseln. Wir sind fĂŒr keinerlei Datenverluste/korruptionen verantwortlich, also arbeiten Sie mit bedacht!</p>
|
||||
</p>
|
||||
</div>
|
||||
<p>Das Skript wird nun den Branch wechseln mit <code>git checkout nightly</code> d.h. es wird auch wieder nach den IPv6 Einstellungen fragen. Das ist aber normal.</p>
|
||||
<p>Sollte alles problemlos geklappt haben (wofĂŒr wir ja auch vorsichtshalber ein Backup vorher gemacht haben) sollte nun in der mailcow UI unten rechts die aktuelle Versionsnummer samt Datumsstempel abgebildet sein: <br>
|
||||
<img alt="nightly footer" src="../../assets/images/i_u_m/nightly_footer.png" /></p>
|
||||
<h3 id="best-practice-nightly-update">Best Practice Nightly Update<a class="headerlink" href="#best-practice-nightly-update" title="Permanent link">¶</a></h3>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">Info<p>Wir empfehlen die Benutzung des Nightly Updates nur dann, wenn Ihr eine weitere Maschine oder VM besitzt und diese <strong>NICHT</strong> Produktiv nutzt.</p>
|
||||
</p>
|
||||
</div>
|
||||
<ol>
|
||||
<li>Das <a href="../../backup_restore/b_n_r-coldstandby/">Cold-Standby Skript</a> nutzen um die Maschine <strong>vor</strong> dem Schwenk auf die Nightly Builds auf ein anderes System zu kopieren.</li>
|
||||
<li>Das <code>update.sh</code> Skript auf der neuen Maschine mit dem Parameter <code>--nightly</code> ausfĂŒhren und bestĂ€tigen.</li>
|
||||
<li>Die Nightly Updates auf der sekundÀren Maschine erleben/testen.</li>
|
||||
</ol>
|
||||
|
||||
<hr>
|
||||
<div class="md-source-file">
|
||||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-06-23 15:19:13</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2681,7 +2811,7 @@ docker-compose up -d
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2708,7 +2725,7 @@ Jeder Container reprÀsentiert eine einzelne Anwendung.</p>
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "..", "features": ["navigation.top", "navigation.tracking"], "search": "../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2519,7 +2536,7 @@ MaxZipTypeRcg 50M
|
|||
</code></pre></div></p>
|
||||
</li>
|
||||
<li>Starten Sie den ClamAV Container neu:
|
||||
<div class="highlight"><pre><span></span><code>docker-compose restart clamd-mailcow
|
||||
<div class="highlight"><pre><span></span><code>docker compose restart clamd-mailcow
|
||||
</code></pre></div></li>
|
||||
</ol>
|
||||
<p><strong>Bitte beachten Sie</strong>:</p>
|
||||
|
@ -2538,7 +2555,7 @@ DatabaseCustomURL http://sigs.interserver.net/shell.ldb
|
|||
DatabaseCustomURL http://sigs.interserver.net/whitelist.fp
|
||||
</code></pre></div></li>
|
||||
<li>Starten Sie den ClamAV Container neu:
|
||||
<div class="highlight"><pre><span></span><code>docker-compose restart clamd-mailcow
|
||||
<div class="highlight"><pre><span></span><code>docker compose restart clamd-mailcow
|
||||
</code></pre></div></li>
|
||||
</ol>
|
||||
|
||||
|
@ -2547,7 +2564,7 @@ DatabaseCustomURL http://sigs.interserver.net/whitelist.fp
|
|||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-06-23 15:17:00</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2663,7 +2680,7 @@ DatabaseCustomURL http://sigs.interserver.net/whitelist.fp
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2421,7 +2438,7 @@
|
|||
|
||||
<h2 id="whitelist-fur-bestimmte-clamav-signaturen">Whitelist fĂŒr bestimmte ClamAV-Signaturen<a class="headerlink" href="#whitelist-fur-bestimmte-clamav-signaturen" title="Permanent link">¶</a></h2>
|
||||
<p>Es kann vorkommen, dass legitime (saubere) Mails von ClamAV blockiert werden (Rspamd markiert die Mail mit <code>VIRUS_FOUND</code>). So werden beispielsweise interaktive PDF-FormularanhĂ€nge standardmĂ€Ăig blockiert, da der eingebettete Javascript-Code fĂŒr schĂ€dliche Zwecke verwendet werden könnte. ĂberprĂŒfen Sie dies anhand der clamd-Protokolle, z.B.:</p>
|
||||
<div class="highlight"><pre><span></span><code>docker-compose logs clamd-mailcow <span class="p">|</span> grep <span class="s2">"FOUND"</span>
|
||||
<div class="highlight"><pre><span></span><code>docker compose logs clamd-mailcow <span class="p">|</span> grep <span class="s2">"FOUND"</span>
|
||||
</code></pre></div>
|
||||
<p>Diese Zeile bestÀtigt, dass ein solcher identifiziert wurde:</p>
|
||||
<div class="highlight"><pre><span></span><code>clamd-mailcow_1 | Sat Sep 28 07:43:24 2019 -> instream(local): PUA.Pdf.Trojan.EmbeddedJavaScript-1(e887d2ac324ce90750768b86b63d0749:363325) FOUND
|
||||
|
@ -2429,11 +2446,11 @@
|
|||
<p>Um diese spezielle Signatur auf die Whitelist zu setzen (und den Versand dieses Dateityps im Anhang zu ermöglichen), fĂŒgen Sie sie der ClamAV-Signatur-Whitelist-Datei hinzu:</p>
|
||||
<div class="highlight"><pre><span></span><code><span class="nb">echo</span> <span class="s1">'PUA.Pdf.Trojan.EmbeddedJavaScript-1'</span> >> data/conf/clamav/whitelist.ign2
|
||||
</code></pre></div>
|
||||
<p>Dann starten Sie den clamd-mailcow Service Container in der mailcow UI oder mit docker-compose neu:</p>
|
||||
<div class="highlight"><pre><span></span><code>docker-compose restart clamd-mailcow
|
||||
<p>Dann starten Sie den clamd-mailcow Service Container in der mailcow UI oder mit docker compose neu:</p>
|
||||
<div class="highlight"><pre><span></span><code>docker compose restart clamd-mailcow
|
||||
</code></pre></div>
|
||||
<p>Bereinigen Sie zwischengespeicherte ClamAV-Ergebnisse in Redis:</p>
|
||||
<div class="highlight"><pre><span></span><code># docker-compose exec redis-mailcow /bin/sh
|
||||
<div class="highlight"><pre><span></span><code># docker compose exec redis-mailcow /bin/sh
|
||||
/data # redis-cli KEYS rs_cl* | xargs redis-cli DEL
|
||||
/data # exit
|
||||
</code></pre></div>
|
||||
|
@ -2443,7 +2460,7 @@
|
|||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-06-23 15:17:00</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2559,7 +2576,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -64,6 +64,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2371,13 +2388,13 @@
|
|||
<h1>Dockerfiles anpassen</h1>
|
||||
|
||||
<p>Sie mĂŒssen die Override-Datei mit den entsprechenden Build-Tags in den mailcow: dockerized Root-Ordner (d.h. <code>/opt/mailcow-dockerized</code>) kopieren:</p>
|
||||
<div class="highlight"><pre><span></span><code>cp helper-scripts/docker-compose.override.yml.d/BUILD_FLAGS/docker-compose.override.yml docker-compose.override.yml
|
||||
<div class="highlight"><pre><span></span><code>cp helper-scripts/docker compose.override.yml.d/BUILD_FLAGS/docker compose.override.yml docker compose.override.yml
|
||||
</code></pre></div>
|
||||
<p>Nehmen Sie Ihre Ănderungen in <code>data/Dockerfiles/$service</code> vor und erstellen Sie das Image lokal:</p>
|
||||
<div class="highlight"><pre><span></span><code>docker build data/Dockerfiles/service -t mailcow/$service
|
||||
</code></pre></div>
|
||||
<p>Nun werden die geÀnderten Container automatisch neu erstellt:</p>
|
||||
<div class="highlight"><pre><span></span><code>docker-compose up -d
|
||||
<div class="highlight"><pre><span></span><code>docker compose up -d
|
||||
</code></pre></div>
|
||||
|
||||
<hr>
|
||||
|
@ -2385,7 +2402,7 @@
|
|||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-06-23 15:17:00</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2501,7 +2518,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -64,6 +64,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2374,14 +2391,14 @@
|
|||
<p>Diese Funktion kann wieder aktiviert werden, indem <code>ACL_ANYONE</code> auf <code>allow</code> in mailcow.conf gesetzt wird:</p>
|
||||
<div class="highlight"><pre><span></span><code>ACL_ANYONE=allow
|
||||
</code></pre></div>
|
||||
<p>Wenden Sie die Ănderungen an, indem Sie <code>docker-compose up -d</code> ausfĂŒhren.</p>
|
||||
<p>Wenden Sie die Ănderungen an, indem Sie <code>docker compose up -d</code> ausfĂŒhren.</p>
|
||||
|
||||
<hr>
|
||||
<div class="md-source-file">
|
||||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-06-23 15:17:00</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2497,7 +2514,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -64,6 +64,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2494,7 +2511,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2477,16 +2494,16 @@
|
|||
<h2 id="der-manuelle-weg">Der manuelle Weg<a class="headerlink" href="#der-manuelle-weg" title="Permanent link">¶</a></h2>
|
||||
<p>Dann wollen wir mal loslegen:</p>
|
||||
<p>Löschen Sie die Mails eines Benutzers im Junk-Ordner, die <strong>gelesen</strong> und <strong>Àlter</strong> als 4 Stunden sind</p>
|
||||
<div class="highlight"><pre><span></span><code>docker-compose exec dovecot-mailcow doveadm expunge -u 'mailbox@example.com' mailbox 'Junk' SEEN not SINCE 4h
|
||||
<div class="highlight"><pre><span></span><code>docker compose exec dovecot-mailcow doveadm expunge -u 'mailbox@example.com' mailbox 'Junk' SEEN not SINCE 4h
|
||||
</code></pre></div>
|
||||
<p>Lösche <strong>alle</strong> Mails des Benutzers im Junk-Ordner, die <strong>Àlter</strong> als 7 Tage sind</p>
|
||||
<div class="highlight"><pre><span></span><code>docker-compose exec dovecot-mailcow doveadm expunge -A mailbox 'Junk' savedbefore 7d
|
||||
<div class="highlight"><pre><span></span><code>docker compose exec dovecot-mailcow doveadm expunge -A mailbox 'Junk' savedbefore 7d
|
||||
</code></pre></div>
|
||||
<p>Löscht <strong>alle</strong> Mails (aller Benutzer) in <strong>allen</strong> Ordnern, die <strong>Ă€lter</strong> als 52 Wochen sind (internes Datum der Mail, nicht das Datum, an dem sie auf dem System gespeichert wurde => <code>before</code> statt <code>savedbefore</code>). NĂŒtzlich zum Löschen sehr alter Mails in allen Benutzern und Ordnern (daher besonders nĂŒtzlich fĂŒr GDPR-Compliance).</p>
|
||||
<div class="highlight"><pre><span></span><code>docker-compose exec dovecot-mailcow doveadm expunge -A mailbox % before 52w
|
||||
<div class="highlight"><pre><span></span><code>docker compose exec dovecot-mailcow doveadm expunge -A mailbox % before 52w
|
||||
</code></pre></div>
|
||||
<p>Löschen von Mails in einem benutzerdefinierten Ordner <strong>innerhalb</strong> des Posteingangs eines Benutzers, die <strong>nicht</strong> gekennzeichnet und <strong>Àlter</strong> als 2 Wochen sind</p>
|
||||
<div class="highlight"><pre><span></span><code>docker-compose exec dovecot-mailcow doveadm expunge -u 'mailbox@example.com' mailbox 'INBOX/custom-folder' not FLAGGED not SINCE 2w
|
||||
<div class="highlight"><pre><span></span><code>docker compose exec dovecot-mailcow doveadm expunge -u 'mailbox@example.com' mailbox 'INBOX/custom-folder' not FLAGGED not SINCE 2w
|
||||
</code></pre></div>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">Info</p>
|
||||
|
@ -2499,8 +2516,8 @@
|
|||
# Pfad zu mailcow-dockerized, z.B. /opt/mailcow-dockerized
|
||||
cd /pfad/zu/ihrem/mailcow-dockerized
|
||||
|
||||
/usr/local/bin/docker-compose exec -T dovecot-mailcow doveadm expunge -A mailbox 'Junk' savedbefore 2w
|
||||
/usr/local/bin/docker-compose exec -T dovecot-mailcow doveadm expunge -A mailbox 'Junk' SEEN not SINCE 12h
|
||||
/usr/local/bin/docker compose exec -T dovecot-mailcow doveadm expunge -A mailbox 'Junk' savedbefore 2w
|
||||
/usr/local/bin/docker compose exec -T dovecot-mailcow doveadm expunge -A mailbox 'Junk' SEEN not SINCE 12h
|
||||
[...]
|
||||
</code></pre></div>
|
||||
<p>Um einen Cronjob zu erstellen, können Sie <code>crontab -e</code> ausfĂŒhren und etwas wie das Folgende einfĂŒgen, um ein Skript auszufĂŒhren:</p>
|
||||
|
@ -2508,7 +2525,7 @@ cd /pfad/zu/ihrem/mailcow-dockerized
|
|||
0 4 * * * /pfad/zu/ihr/expunge_mailboxes.sh
|
||||
</code></pre></div>
|
||||
<h3 id="uber-docker-job-scheduler">ĂŒber Docker Job Scheduler<a class="headerlink" href="#uber-docker-job-scheduler" title="Permanent link">¶</a></h3>
|
||||
<p>Um dies mit einem Docker-Job-Scheduler zu archivieren, verwenden Sie diese docker-compose.override.yml mit Ihrer Mailcow: </p>
|
||||
<p>Um dies mit einem Docker-Job-Scheduler zu archivieren, verwenden Sie diese docker compose.override.yml mit Ihrer Mailcow: </p>
|
||||
<div class="highlight"><pre><span></span><code>version: '2.1'
|
||||
|
||||
services:
|
||||
|
@ -2529,7 +2546,7 @@ services:
|
|||
- "ofelia.job-exec.dovecot-expunge-trash.tty=false"
|
||||
</code></pre></div>
|
||||
<p>Der Job-Controller braucht nur Zugriff auf den Docker Control Socket, um das Verhalten von "exec" zu emulieren. Dann fĂŒgen wir unserem Dovecot-Container ein paar Labels hinzu, um den Job-Scheduler zu aktivieren und ihm in einem Cron-kompatiblen Scheduling-Format mitzuteilen, wann er laufen soll. Wenn Sie Probleme mit dem Scheduling-String haben, können Sie <a href="https://crontab.guru/">crontab guru</a> verwenden.
|
||||
Diese docker-compose.override.yml löscht jeden Tag um 4 Uhr morgens alle Mails, die Àlter als 2 Wochen sind, aus dem Ordner "Junk". Um zu sehen, ob alles richtig gelaufen ist, können Sie nicht nur in Ihrer Mailbox nachsehen, sondern auch im Docker-Log von Ofelia, ob es etwa so aussieht:</p>
|
||||
Diese docker compose.override.yml löscht jeden Tag um 4 Uhr morgens alle Mails, die Àlter als 2 Wochen sind, aus dem Ordner "Junk". Um zu sehen, ob alles richtig gelaufen ist, können Sie nicht nur in Ihrer Mailbox nachsehen, sondern auch im Docker-Log von Ofelia, ob es etwa so aussieht:</p>
|
||||
<div class="highlight"><pre><span></span><code>common.go:124 ⶠNOTICE [Job "dovecot-expunge-trash" (8759567efa66)] Started - doveadm expunge -A mailbox 'Junk' savedbefore 2w,
|
||||
common.go:124 ⶠNOTICE [Job "dovecot-expunge-trash" (8759567efa66)] Finished in "285.032291ms", failed: false, skipped: false, error: none,
|
||||
</code></pre></div>
|
||||
|
@ -2541,7 +2558,7 @@ common.go:124 ⶠNOTICE [Job "dovecot-expunge-trash" (8759567efa66)]
|
|||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-06-23 15:17:00</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2657,7 +2674,7 @@ common.go:124 ⶠNOTICE [Job "dovecot-expunge-trash" (8759567efa66)]
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -64,6 +64,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2372,7 +2389,7 @@
|
|||
|
||||
<p>Erstellen Sie eine Datei <code>data/conf/dovecot/extra.conf</code> - falls nicht vorhanden - und fĂŒgen Sie Ihren zusĂ€tzlichen Inhalt hier ein.</p>
|
||||
<p>Starten Sie <code>dovecot-mailcow</code> neu, um Ihre Ănderungen zu ĂŒbernehmen:</p>
|
||||
<div class="highlight"><pre><span></span><code>docker-compose restart dovecot-mailcow
|
||||
<div class="highlight"><pre><span></span><code>docker compose restart dovecot-mailcow
|
||||
</code></pre></div>
|
||||
|
||||
<hr>
|
||||
|
@ -2380,7 +2397,7 @@
|
|||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-06-23 15:17:00</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2496,7 +2513,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2467,17 +2484,17 @@
|
|||
<p>Da wir in Docker laufen und unsere Container mit dem "restart: always" Flag erstellen, wird eine oom Situation zumindest nur einen Neustart des Containers auslösen.</p>
|
||||
<h3 id="fts-bezogene-dovecot-befehle">FTS-bezogene Dovecot-Befehle<a class="headerlink" href="#fts-bezogene-dovecot-befehle" title="Permanent link">¶</a></h3>
|
||||
<p><div class="highlight"><pre><span></span><code># Einzelbenutzer
|
||||
docker-compose exec dovecot-mailcow doveadm fts rescan -u user@domain
|
||||
docker compose exec dovecot-mailcow doveadm fts rescan -u user@domain
|
||||
# alle Benutzer
|
||||
docker-compose exec dovecot-mailcow doveadm fts rescan -A
|
||||
docker compose exec dovecot-mailcow doveadm fts rescan -A
|
||||
</code></pre></div>
|
||||
Dovecot Wiki: "Scannt, welche Mails im Volltextsuchindex vorhanden sind und vergleicht diese mit den tatsÀchlich in den PostfÀchern vorhandenen Mails. Dies entfernt Mails aus dem Index, die bereits gelöscht wurden und stellt sicher, dass der nÀchste doveadm-Index alle fehlenden Mails (falls vorhanden) indiziert."</p>
|
||||
<p>Dies indiziert <strong>nicht</strong> eine Mailbox neu. Es repariert im Grunde einen gegebenen Index.</p>
|
||||
<p>Wenn Sie die Daten sofort neu indizieren wollen, können Sie den folgenden Befehl ausfĂŒhren, wobei '*' auch eine Postfachmaske wie 'Sent' sein kann. Sie mĂŒssen diese Befehle nicht ausfĂŒhren, aber es wird die Dinge ein wenig beschleunigen:</p>
|
||||
<div class="highlight"><pre><span></span><code># einzelner Benutzer
|
||||
docker-compose exec dovecot-mailcow doveadm index -u user@domain '*'
|
||||
docker compose exec dovecot-mailcow doveadm index -u user@domain '*'
|
||||
# alle Benutzer, aber offensichtlich langsamer und gefÀhrlicher
|
||||
docker-compose exec dovecot-mailcow doveadm index -A '*'
|
||||
docker compose exec dovecot-mailcow doveadm index -A '*'
|
||||
</code></pre></div>
|
||||
<p>Dies <strong>wird</strong> einige Zeit in Anspruch nehmen, abhĂ€ngig von Ihrer Maschine und Solr kann oom ausfĂŒhren, ĂŒberwachen Sie es!</p>
|
||||
<p>Da die Neuindizierung sehr sinnvoll ist, haben wir sie nicht in die mailcow UI integriert. Sie mĂŒssen sich um eventuelle Fehler beim Re-Indizieren einer Mailbox kĂŒmmern.</p>
|
||||
|
@ -2489,7 +2506,7 @@ docker-compose exec dovecot-mailcow doveadm index -A '*'
|
|||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-06-23 15:17:00</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2605,7 +2622,7 @@ docker-compose exec dovecot-mailcow doveadm index -A '*'
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2494,12 +2511,12 @@ FĂŒgen Sie die Einstellung ein, gefolgt von dem neuen Wert. Um zum Beispiel das
|
|||
</div>
|
||||
<h3 id="dovecot-neu-laden">Dovecot neu laden<a class="headerlink" href="#dovecot-neu-laden" title="Permanent link">¶</a></h3>
|
||||
<p>Nun laden Sie Dovecot neu:</p>
|
||||
<div class="highlight"><pre><span></span><code>docker-compose exec dovecot-mailcow dovecot reload
|
||||
<div class="highlight"><pre><span></span><code>docker compose exec dovecot-mailcow dovecot reload
|
||||
</code></pre></div>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">Info</p>
|
||||
<p>Sie können den Wert dieser Einstellung ĂŒberprĂŒfen mit
|
||||
<div class="highlight"><pre><span></span><code>docker-compose exec dovecot-mailcow dovecot -a | grep "imap_idle_notify_interval"
|
||||
<div class="highlight"><pre><span></span><code>docker compose exec dovecot-mailcow dovecot -a | grep "imap_idle_notify_interval"
|
||||
</code></pre></div>
|
||||
Wenn Sie den Wert nicht geÀndert haben, sollte er auf 2m stehen. Wenn Sie ihn geÀndert haben, sollten Sie den neuen Wert sehen.</p>
|
||||
</div>
|
||||
|
@ -2509,7 +2526,7 @@ Wenn Sie den Wert nicht geÀndert haben, sollte er auf 2m stehen. Wenn Sie ihn g
|
|||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-06-23 15:17:00</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2625,7 +2642,7 @@ Wenn Sie den Wert nicht geÀndert haben, sollte er auf 2m stehen. Wenn Sie ihn g
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -64,6 +64,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2375,7 +2392,7 @@
|
|||
<p>Die Mails werden komprimiert (lz4) und verschlĂŒsselt gespeichert. Das SchlĂŒsselpaar ist in crypt-vol-1 zu finden.</p>
|
||||
</div>
|
||||
<p>Wenn Sie vorhandene maildir-Dateien entschlĂŒsseln/verschlĂŒsseln wollen, können Sie das folgende Skript auf eigene Gefahr verwenden:</p>
|
||||
<p>Rufen Sie Dovecot auf, indem Sie <code>docker-compose exec dovecot-mailcow /bin/bash</code> im mailcow-dockerisierten Verzeichnis ausfĂŒhren.</p>
|
||||
<p>Rufen Sie Dovecot auf, indem Sie <code>docker compose exec dovecot-mailcow /bin/bash</code> im mailcow-dockerisierten Verzeichnis ausfĂŒhren.</p>
|
||||
<div class="highlight"><pre><span></span><code># EntschlĂŒsseln Sie /var/vmail
|
||||
find /var/vmail/ -type f -regextype egrep -regex '.*S=.*W=.*' | while read -r file; do
|
||||
if [[ $(head -c7 "$file") == "CRYPTED" ]]; then
|
||||
|
@ -2408,7 +2425,7 @@ done
|
|||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-07-23 01:17:49</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2524,7 +2541,7 @@ done
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2589,7 +2606,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2435,7 +2452,7 @@
|
|||
<p><code>:INDEXPVT=~/public</code> kann weggelassen werden, wenn die Flags, die pro Benutzer gesehen werden, nicht gewĂŒnscht sind.</p>
|
||||
<p>Die neue Mailbox im öffentlichen Namensraum wird von den Benutzern automatisch abonniert.</p>
|
||||
<p>Um allen authentifizierten Benutzern vollen Zugriff auf das neue Postfach (nicht auf den gesamten Namespace) zu gewĂ€hren, fĂŒhren Sie aus:</p>
|
||||
<div class="highlight"><pre><span></span><code>docker-compose exec dovecot-mailcow doveadm acl set -A "Public/Develcow" "authenticated" lookup read write write-seen write-deleted insert post delete expunge create
|
||||
<div class="highlight"><pre><span></span><code>docker compose exec dovecot-mailcow doveadm acl set -A "Public/Develcow" "authenticated" lookup read write write-seen write-deleted insert post delete expunge create
|
||||
</code></pre></div>
|
||||
<p>Passen Sie den Befehl an Ihre BedĂŒrfnisse an, wenn Sie detailliertere Rechte pro Benutzer vergeben möchten (verwenden Sie z.B. <code>-u user@domain</code> anstelle von <code>-A</code>).</p>
|
||||
<h2 id="erlaube-authentifizierten-benutzern-den-zugriff-auf-den-gesamten-offentlichen-namespace">Erlaube authentifizierten Benutzern den Zugriff auf den gesamten öffentlichen Namespace<a class="headerlink" href="#erlaube-authentifizierten-benutzern-den-zugriff-auf-den-gesamten-offentlichen-namespace" title="Permanent link">¶</a></h2>
|
||||
|
@ -2452,7 +2469,7 @@
|
|||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-07-27 11:30:11</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2568,7 +2585,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -64,6 +64,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2377,7 +2394,7 @@
|
|||
<div class="highlight"><pre><span></span><code>DOVECOT_MASTER_USER=mymasteruser
|
||||
DOVECOT_MASTER_PASS=mysecretpass
|
||||
</code></pre></div>
|
||||
<p>FĂŒhren Sie <code>docker-compose up -d</code> aus, um Ihre Ănderungen zu ĂŒbernehmen.</p>
|
||||
<p>FĂŒhren Sie <code>docker compose up -d</code> aus, um Ihre Ănderungen zu ĂŒbernehmen.</p>
|
||||
<p>Der statische Master-Benutzername wird zu <code>DOVECOT_MASTER_USER@mailcow.local</code> erweitert.</p>
|
||||
<p>Um sich als <code>test@example.org</code> anzumelden, wĂŒrde dies <code>test@example.org*mymasteruser@mailcow.local</code> mit dem oben angegebenen Passwort entsprechen.</p>
|
||||
<p>Eine Anmeldung bei SOGo ist mit diesem Benutzernamen nicht möglich. FĂŒr Admins steht eine Click-to-Login-Funktion fĂŒr SOGo zur VerfĂŒgung, wie [hier] beschrieben (<a href="https://mailcow.github.io/mailcow-dockerized-docs/debug-admin_login_sogo/">https://mailcow.github.io/mailcow-dockerized-docs/debug-admin_login_sogo/</a>)
|
||||
|
@ -2388,7 +2405,7 @@ Es wird kein Hauptbenutzer benötigt.</p>
|
|||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-06-23 15:17:00</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2504,7 +2521,7 @@ Es wird kein Hauptbenutzer benötigt.</p>
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2464,14 +2481,14 @@
|
|||
<p class="admonition-title">Warning</p>
|
||||
<p>Neuere Docker-Versionen scheinen sich ĂŒber bestehende Volumes zu beschweren. Man kann dies vorĂŒbergehend beheben, indem man das bestehende Volume entfernt und mailcow mit der Override-Datei startet. Aber es scheint nach einem Neustart problematisch zu sein (muss bestĂ€tigt werden).</p>
|
||||
</div>
|
||||
<p>Ein einfacher, schmutziger, aber stabiler Workaround ist es, mailcow zu stoppen (<code>docker-compose down</code>), <code>/var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data</code> zu entfernen und einen neuen Link zu Ihrem entfernten Dateisystem zu erstellen, zum Beispiel:</p>
|
||||
<p>Ein einfacher, schmutziger, aber stabiler Workaround ist es, mailcow zu stoppen (<code>docker compose down</code>), <code>/var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data</code> zu entfernen und einen neuen Link zu Ihrem entfernten Dateisystem zu erstellen, zum Beispiel:</p>
|
||||
<div class="highlight"><pre><span></span><code>mv /var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data /var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data_backup
|
||||
ln -s /mnt/volume-xy/vmail_data /var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data
|
||||
</code></pre></div>
|
||||
<p>Starten Sie anschlieĂend mailcow.</p>
|
||||
<hr />
|
||||
<h2 id="der-alte-weg">Der "alte" Weg<a class="headerlink" href="#der-alte-weg" title="Permanent link">¶</a></h2>
|
||||
<p>Wenn man einen anderen Ordner fĂŒr das vmail-Volume verwenden möchte, kann man eine <code>docker-compose.override.yml</code> Datei erstellen und den folgenden Inhalt hinzufĂŒgen:</p>
|
||||
<p>Wenn man einen anderen Ordner fĂŒr das vmail-Volume verwenden möchte, kann man eine <code>docker compose.override.yml</code> Datei erstellen und den folgenden Inhalt hinzufĂŒgen:</p>
|
||||
<div class="highlight"><pre><span></span><code>version: '2.1'
|
||||
volumes:
|
||||
vmail-vol-1:
|
||||
|
@ -2502,10 +2519,10 @@ volumes:
|
|||
</code></pre></div>
|
||||
<ul>
|
||||
<li>Kopieren Sie den Inhalt des <code>Mountpoint</code>-Ordners an den neuen Speicherort (z.B. <code>/data/mailcow/vmail</code>) mit <code>cp -a</code>, <code>rsync -a</code> oder einem Àhnlichen, nicht strikten Kopierbefehl</li>
|
||||
<li>Stoppen Sie mailcow durch AusfĂŒhren von <code>docker-compose down</code> aus Ihrem mailcow-Stammverzeichnis (z.B. <code>/opt/mailcow-dockerized</code>)</li>
|
||||
<li>Erstellen Sie die Datei <code>docker-compose.override.yml</code>, bearbeiten Sie den GerÀtepfad entsprechend</li>
|
||||
<li>Stoppen Sie mailcow durch AusfĂŒhren von <code>docker compose down</code> aus Ihrem mailcow-Stammverzeichnis (z.B. <code>/opt/mailcow-dockerized</code>)</li>
|
||||
<li>Erstellen Sie die Datei <code>docker compose.override.yml</code>, bearbeiten Sie den GerÀtepfad entsprechend</li>
|
||||
<li>Löschen Sie den aktuellen vmail-Ordner: <code>docker volume rm mailcowdockerized_vmail-vol-1</code></li>
|
||||
<li>Starten Sie mailcow durch AusfĂŒhren von <code>docker-compose up -d</code> aus Ihrem mailcow-Stammverzeichnis (z.B. <code>/opt/mailcow-dockerized</code>)</li>
|
||||
<li>Starten Sie mailcow durch AusfĂŒhren von <code>docker compose up -d</code> aus Ihrem mailcow-Stammverzeichnis (z.B. <code>/opt/mailcow-dockerized</code>)</li>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
@ -2513,7 +2530,7 @@ volumes:
|
|||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-06-23 15:17:00</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2629,7 +2646,7 @@ volumes:
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2551,8 +2568,8 @@
|
|||
<p>Dieser Dateiname muss keine ".conf"-Erweiterung haben, sondern folgt dem Muster <code>site.*.custom</code>, wobei <code>*</code> ein eigener Name ist.</p>
|
||||
<p>Wenn PHP in eine benutzerdefinierte Site eingebunden werden soll, verwenden Sie bitte den PHP-FPM-Listener auf phpfpm:9002 oder erstellen Sie einen neuen Listener in <code>data/conf/phpfpm/php-fpm.d/pools.conf</code>.</p>
|
||||
<p>Starten Sie Nginx neu (und PHP-FPM, falls ein neuer Listener erstellt wurde):</p>
|
||||
<div class="highlight"><pre><span></span><code>docker-compose restart nginx-mailcow
|
||||
docker-compose restart php-fpm-mailcow
|
||||
<div class="highlight"><pre><span></span><code>docker compose restart nginx-mailcow
|
||||
docker compose restart php-fpm-mailcow
|
||||
</code></pre></div>
|
||||
|
||||
<hr>
|
||||
|
@ -2560,7 +2577,7 @@ docker-compose restart php-fpm-mailcow
|
|||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-06-23 15:17:00</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2676,7 +2693,7 @@ docker-compose restart php-fpm-mailcow
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -64,6 +64,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2393,19 +2410,19 @@
|
|||
</span> }
|
||||
}
|
||||
</code></pre></div>
|
||||
<p>Speichern Sie und starten Sie Nginx neu: <code>docker-compose restart nginx-mailcow</code>.</p>
|
||||
<p>Speichern Sie und starten Sie Nginx neu: <code>docker compose restart nginx-mailcow</code>.</p>
|
||||
<p>Ăffnen Sie nun <code>mailcow.conf</code> und suchen Sie <code>ADDITIONAL_SAN</code>.
|
||||
FĂŒgen Sie <code>webmail.example.org</code> zu diesem Array hinzu, verwenden Sie keine AnfĂŒhrungszeichen!</p>
|
||||
<div class="highlight"><pre><span></span><code>ADDITIONAL_SAN=webmail.example.org
|
||||
</code></pre></div>
|
||||
<p>FĂŒhren Sie <code>docker-compose up -d</code> aus. Siehe "acme-mailcow" und "nginx-mailcow" Logs, wenn etwas fehlschlĂ€gt.</p>
|
||||
<p>FĂŒhren Sie <code>docker compose up -d</code> aus. Siehe "acme-mailcow" und "nginx-mailcow" Logs, wenn etwas fehlschlĂ€gt.</p>
|
||||
|
||||
<hr>
|
||||
<div class="md-source-file">
|
||||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-06-23 15:17:00</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2521,7 +2538,7 @@ FĂŒgen Sie <code>webmail.example.org</code> zu diesem Array hinzu, verwenden Sie
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -64,6 +64,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2372,7 +2389,7 @@
|
|||
|
||||
<p>Ăffnen Sie <code>data/conf/postfix/extra.cf</code> und setzen Sie das <code>message_size_limit</code> entsprechend in Bytes. Siehe <code>main.cf</code> fĂŒr den Standardwert.</p>
|
||||
<p>Starten Sie Postfix neu:</p>
|
||||
<div class="highlight"><pre><span></span><code>docker-compose restart postfix-mailcow
|
||||
<div class="highlight"><pre><span></span><code>docker compose restart postfix-mailcow
|
||||
</code></pre></div>
|
||||
|
||||
<hr>
|
||||
|
@ -2380,7 +2397,7 @@
|
|||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-06-23 15:17:00</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2496,7 +2513,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -64,6 +64,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2495,7 +2512,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2445,7 +2462,7 @@
|
|||
<div class="highlight"><pre><span></span><code>smtpd_sender_restrictions = check_sasl_access hash:/opt/postfix/conf/check_sasl_access reject_authenticated_sender_login_mismatch [...]
|
||||
</code></pre></div></p>
|
||||
<p>Postmap auf check_sasl_access ausfĂŒhren:</p>
|
||||
<div class="highlight"><pre><span></span><code>docker-compose exec postfix-mailcow postmap /opt/postfix/conf/check_sasl_access
|
||||
<div class="highlight"><pre><span></span><code>docker compose exec postfix-mailcow postmap /opt/postfix/conf/check_sasl_access
|
||||
</code></pre></div>
|
||||
<p>Starten Sie den Postfix-Container neu.</p>
|
||||
|
||||
|
@ -2454,7 +2471,7 @@
|
|||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-06-23 15:17:00</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2570,7 +2587,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -64,6 +64,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2374,7 +2391,7 @@
|
|||
<p>Postfix wird sich einmal nach dem Start von postfix-mailcow ĂŒber doppelte Werte beschweren, dies ist beabsichtigt.</p>
|
||||
<p>Syslog-ng wurde so konfiguriert, dass es diese Warnungen ausblendet, wÀhrend Postfix lÀuft, um die Log-Dateien nicht jedes Mal mit unnötigen Informationen zu spammen, wenn ein Dienst benutzt wird.</p>
|
||||
<p>Starten Sie <code>postfix-mailcow</code> neu, um Ihre Ănderungen zu ĂŒbernehmen:</p>
|
||||
<div class="highlight"><pre><span></span><code>docker-compose restart postfix-mailcow
|
||||
<div class="highlight"><pre><span></span><code>docker compose restart postfix-mailcow
|
||||
</code></pre></div>
|
||||
|
||||
<hr>
|
||||
|
@ -2382,7 +2399,7 @@
|
|||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-06-23 15:17:00</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2498,7 +2515,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -64,6 +64,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2503,7 +2520,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -64,6 +64,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2504,7 +2521,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2604,7 +2621,7 @@ Beachten Sie, dass die Anmeldedaten im Klartext gespeichert werden.</p>
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2472,14 +2489,14 @@
|
|||
<p>Bearbeiten Sie <code>data/conf/postfix/extra.cf</code>:</p>
|
||||
<div class="highlight"><pre><span></span><code>mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 [fe80::]/10 172.22.1.0/24 [fd4d:6169:6c63:6f77::]/64 192.168.2.0/24
|
||||
</code></pre></div>
|
||||
<p>FĂŒhren Sie <code>docker-compose restart postfix-mailcow</code> aus, um Ihre neuen Einstellungen zu ĂŒbernehmen.</p>
|
||||
<p>FĂŒhren Sie <code>docker compose restart postfix-mailcow</code> aus, um Ihre neuen Einstellungen zu ĂŒbernehmen.</p>
|
||||
<h3 id="ipv6-hostssubnets">IPv6-Hosts/Subnets<a class="headerlink" href="#ipv6-hostssubnets" title="Permanent link">¶</a></h3>
|
||||
<p>Das HinzufĂŒgen von IPv6-Hosts erfolgt auf die gleiche Weise wie bei IPv4, allerdings muss das Subnetz in eckige Klammern <code>[]</code> gesetzt und die Netzmaske angehĂ€ngt werden.</p>
|
||||
<p>Um das Subnetz 2001:db8::/32 zu den vertrauenswĂŒrdigen Netzwerken hinzuzufĂŒgen, können Sie die folgende Konfiguration verwenden, abhĂ€ngig von Ihren IPV4_NETWORK- und IPV6_NETWORK-Bereichen:</p>
|
||||
<p>Bearbeiten Sie <code>data/conf/postfix/extra.cf</code>:</p>
|
||||
<div class="highlight"><pre><span></span><code>mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 [fe80::]/10 172.22.1.0/24 [fd4d:6169:6c63:6f77::]/64 [2001:db8::]/32
|
||||
</code></pre></div>
|
||||
<p>FĂŒhren Sie <code>docker-compose restart postfix-mailcow</code> aus, um Ihre neuen Einstellungen zu ĂŒbernehmen.</p>
|
||||
<p>FĂŒhren Sie <code>docker compose restart postfix-mailcow</code> aus, um Ihre neuen Einstellungen zu ĂŒbernehmen.</p>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">Info</p>
|
||||
<p>Weitere Informationen ĂŒber mynetworks finden Sie in der <a href="http://www.postfix.org/postconf.5.html#mynetworks">Postfix-Dokumentation</a>.</p>
|
||||
|
@ -2490,7 +2507,7 @@
|
|||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-06-23 15:17:00</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2606,7 +2623,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2500,13 +2517,13 @@
|
|||
<p>Redis wird als Key-Value-Speicher fĂŒr die Einstellungen und Daten von rspamd und (einige von) mailcow verwendet. Wenn Sie mit Redis nicht vertraut sind, lesen Sie bitte die <a href="https://redis.io/topics/introduction">EinfĂŒhrung in Redis</a> und besuchen Sie gegebenenfalls diese <a href="http://try.redis.io/">wunderbare Anleitung</a>, um zu erfahren, wie man Redis benutzt.</p>
|
||||
<h2 id="client">Client<a class="headerlink" href="#client" title="Permanent link">¶</a></h2>
|
||||
<p>Um sich mit dem redis cli zu verbinden, fĂŒhren Sie aus:</p>
|
||||
<div class="highlight"><pre><span></span><code>docker-compose exec redis-mailcow redis-cli
|
||||
<div class="highlight"><pre><span></span><code>docker compose exec redis-mailcow redis-cli
|
||||
</code></pre></div>
|
||||
<h3 id="fehlersuche">Fehlersuche<a class="headerlink" href="#fehlersuche" title="Permanent link">¶</a></h3>
|
||||
<p>Hier sind einige nĂŒtzliche Befehle fĂŒr den redis-cli zur Fehlersuche:</p>
|
||||
<h5 id="monitor">MONITOR<a class="headerlink" href="#monitor" title="Permanent link">¶</a></h5>
|
||||
<p>Ăberwacht alle vom Server empfangenen Anfragen in Echtzeit:</p>
|
||||
<div class="highlight"><pre><span></span><code># docker-compose exec redis-mailcow redis-cli
|
||||
<div class="highlight"><pre><span></span><code># docker compose exec redis-mailcow redis-cli
|
||||
127.0.0.1:6379> monitor
|
||||
OK
|
||||
1494077286.401963 [0 172.22.1.253:41228] "SMEMBERS" "BAYES_SPAM_keys"
|
||||
|
@ -2529,7 +2546,7 @@ PONG
|
|||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-06 22:10:21</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2645,7 +2662,7 @@ PONG
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2552,11 +2569,11 @@ Dies wird durch die Verwendung des Sieve-Plugins "sieve_imapsieve" und Parser-Sk
|
|||
<h3 id="spam-oder-ham-aus-bestehendem-verzeichnis-lernen">Spam oder Ham aus bestehendem Verzeichnis lernen<a class="headerlink" href="#spam-oder-ham-aus-bestehendem-verzeichnis-lernen" title="Permanent link">¶</a></h3>
|
||||
<p>Sie können einen Einzeiler verwenden, um Mails im Klartextformat (unkomprimiert) zu lernen:</p>
|
||||
<div class="highlight"><pre><span></span><code><span class="c1"># Ham</span>
|
||||
<span class="k">for</span> file <span class="k">in</span> /my/folder/cur/*<span class="p">;</span> <span class="k">do</span> docker <span class="nb">exec</span> -i <span class="k">$(</span>docker-compose ps -q rspamd-mailcow<span class="k">)</span> rspamc learn_ham < <span class="nv">$file</span><span class="p">;</span> <span class="k">done</span>
|
||||
<span class="k">for</span> file <span class="k">in</span> /my/folder/cur/*<span class="p">;</span> <span class="k">do</span> docker <span class="nb">exec</span> -i <span class="k">$(</span>docker compose ps -q rspamd-mailcow<span class="k">)</span> rspamc learn_ham < <span class="nv">$file</span><span class="p">;</span> <span class="k">done</span>
|
||||
<span class="c1"># Spam</span>
|
||||
<span class="k">for</span> file <span class="k">in</span> /my/folder/.Junk/cur/*<span class="p">;</span> <span class="k">do</span> docker <span class="nb">exec</span> -i <span class="k">$(</span>docker-compose ps -q rspamd-mailcow<span class="k">)</span> rspamc learn_spam < <span class="nv">$file</span><span class="p">;</span> <span class="k">done</span>
|
||||
<span class="k">for</span> file <span class="k">in</span> /my/folder/.Junk/cur/*<span class="p">;</span> <span class="k">do</span> docker <span class="nb">exec</span> -i <span class="k">$(</span>docker compose ps -q rspamd-mailcow<span class="k">)</span> rspamc learn_spam < <span class="nv">$file</span><span class="p">;</span> <span class="k">done</span>
|
||||
</code></pre></div>
|
||||
<p>ErwÀgen Sie, einen lokalen Ordner als neues Volume an <code>rspamd-mailcow</code> in <code>docker-compose.yml</code> anzuhÀngen und die gegebenen Dateien innerhalb des Containers zu lernen. Dies kann als Workaround verwendet werden, um komprimierte Daten mit zcat zu parsen. Beispiel:</p>
|
||||
<p>ErwÀgen Sie, einen lokalen Ordner als neues Volume an <code>rspamd-mailcow</code> in <code>docker compose.yml</code> anzuhÀngen und die gegebenen Dateien innerhalb des Containers zu lernen. Dies kann als Workaround verwendet werden, um komprimierte Daten mit zcat zu parsen. Beispiel:</p>
|
||||
<p>``bash
|
||||
for file in /data/old_mail/.Junk/cur/*; do rspamc learn_spam < zcat $file; done
|
||||
<div class="highlight"><pre><span></span><code>### Gelernte Daten zurĂŒcksetzen (Bayes, Neural)
|
||||
|
@ -2570,15 +2587,15 @@ Sie mĂŒssen die SchlĂŒssel in Redis löschen, um die gelernten Daten zurĂŒckzuse
|
|||
cp /var/lib/docker/volumes/mailcowdockerized_redis-vol-1/_data/dump.rdb /root/
|
||||
</code></pre></div></p>
|
||||
<p><strong>Bayes-Daten zurĂŒcksetzen</strong></p>
|
||||
<div class="highlight"><pre><span></span><code>docker-compose <span class="nb">exec</span> redis-mailcow sh -c <span class="s1">'redis-cli --scan --pattern BAYES_* | xargs redis-cli del'</span>
|
||||
docker-compose <span class="nb">exec</span> redis-mailcow sh -c <span class="s1">'redis-cli --scan --pattern RS* | xargs redis-cli del'</span>
|
||||
<div class="highlight"><pre><span></span><code>docker compose <span class="nb">exec</span> redis-mailcow sh -c <span class="s1">'redis-cli --scan --pattern BAYES_* | xargs redis-cli del'</span>
|
||||
docker compose <span class="nb">exec</span> redis-mailcow sh -c <span class="s1">'redis-cli --scan --pattern RS* | xargs redis-cli del'</span>
|
||||
</code></pre></div>
|
||||
<p><strong>Neurale Daten zurĂŒcksetzen</strong></p>
|
||||
<div class="highlight"><pre><span></span><code>docker-compose <span class="nb">exec</span> redis-mailcow sh -c <span class="s1">'redis-cli --scan --pattern rn_* | xargs redis-cli del'</span>
|
||||
<div class="highlight"><pre><span></span><code>docker compose <span class="nb">exec</span> redis-mailcow sh -c <span class="s1">'redis-cli --scan --pattern rn_* | xargs redis-cli del'</span>
|
||||
</code></pre></div>
|
||||
<p><strong>Fuzzy-Daten zurĂŒcksetzen</strong></p>
|
||||
<div class="highlight"><pre><span></span><code><span class="c1"># Wir mĂŒssen zuerst das redis-cli eingeben:</span>
|
||||
docker-compose <span class="nb">exec</span> redis-mailcow redis-cli
|
||||
docker compose <span class="nb">exec</span> redis-mailcow redis-cli
|
||||
<span class="c1"># In redis-cli:</span>
|
||||
<span class="m">127</span>.0.0.1:6379> EVAL <span class="s2">"for i, name in ipairs(redis.call('KEYS', ARGV[1])) do redis.call('DEL', name); end"</span> <span class="m">0</span> fuzzy*
|
||||
</code></pre></div>
|
||||
|
@ -2589,8 +2606,8 @@ docker-compose <span class="nb">exec</span> redis-mailcow redis-cli
|
|||
<p>...das SchlĂŒsselmuster nicht gefunden wurde und somit keine Daten zum Löschen vorhanden sind - ist es in Ordnung.</p>
|
||||
<h2 id="cli-werkzeuge">CLI-Werkzeuge<a class="headerlink" href="#cli-werkzeuge" title="Permanent link">¶</a></h2>
|
||||
<p>``bash
|
||||
docker-compose exec rspamd-mailcow rspamc --help
|
||||
docker-compose exec rspamd-mailcow rspamadm --help
|
||||
docker compose exec rspamd-mailcow rspamc --help
|
||||
docker compose exec rspamd-mailcow rspamadm --help
|
||||
<div class="highlight"><pre><span></span><code>## Greylisting deaktivieren
|
||||
|
||||
Nur Nachrichten mit einer höheren Punktzahl werden als Greylisting betrachtet (soft rejected). Es ist schlechte Praxis, Greylisting zu deaktivieren.
|
||||
|
@ -2604,26 +2621,26 @@ FĂŒgen Sie die Zeile hinzu:
|
|||
```cpp
|
||||
enabled = false;
|
||||
</code></pre></div></p>
|
||||
<p>Speichern Sie die Datei und starten Sie "rspamd-mailcow" neu: <code>docker-compose restart rspamd-mailcow</code></p>
|
||||
<p>Speichern Sie die Datei und starten Sie "rspamd-mailcow" neu: <code>docker compose restart rspamd-mailcow</code></p>
|
||||
<h2 id="spamfilter-schwellenwerte-global">Spamfilter-Schwellenwerte (global)<a class="headerlink" href="#spamfilter-schwellenwerte-global" title="Permanent link">¶</a></h2>
|
||||
<p>Jeder Benutzer kann <a href="../../mailcow-UI/u_e-mailcow_ui-spamfilter/">seine Spam-Bewertung</a> individuell Àndern. Um eine neue <strong>serverweite</strong> Grenze zu definieren, editieren Sie <code>data/conf/rspamd/local.d/actions.conf</code>:</p>
|
||||
<div class="highlight"><pre><span></span><code><span class="n">reject</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">15</span><span class="p">;</span><span class="w"></span>
|
||||
<span class="n">add_header</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">8</span><span class="p">;</span><span class="w"></span>
|
||||
<span class="n">greylist</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">7</span><span class="p">;</span><span class="w"></span>
|
||||
</code></pre></div>
|
||||
<p>Speichern Sie die Datei und starten Sie "rspamd-mailcow" neu: <code>docker-compose restart rspamd-mailcow</code></p>
|
||||
<p>Speichern Sie die Datei und starten Sie "rspamd-mailcow" neu: <code>docker compose restart rspamd-mailcow</code></p>
|
||||
<p>Bestehende Einstellungen der Benutzer werden nicht ĂŒberschrieben!</p>
|
||||
<p>Um benutzerdefinierte Schwellenwerte zurĂŒckzusetzen, fĂŒhren Sie aus:</p>
|
||||
<div class="highlight"><pre><span></span><code>source mailcow.conf
|
||||
docker-compose exec mysql-mailcow mysql -umailcow -p$DBPASS mailcow -e "delete from filterconf where option = 'highspamlevel' or option = 'lowspamlevel';"
|
||||
docker compose exec mysql-mailcow mysql -umailcow -p$DBPASS mailcow -e "delete from filterconf where option = 'highspamlevel' or option = 'lowspamlevel';"
|
||||
# oder:
|
||||
# docker-compose exec mysql-mailcow mysql -umailcow -p$DBPASS mailcow -e "delete from filterconf where option = 'highspamlevel' or option = 'lowspamlevel' and object = 'only-this-mailbox@example.org';"
|
||||
# docker compose exec mysql-mailcow mysql -umailcow -p$DBPASS mailcow -e "delete from filterconf where option = 'highspamlevel' or option = 'lowspamlevel' and object = 'only-this-mailbox@example.org';"
|
||||
</code></pre></div>
|
||||
<h2 id="benutzerdefinierte-ablehnungsnachrichten">Benutzerdefinierte Ablehnungsnachrichten<a class="headerlink" href="#benutzerdefinierte-ablehnungsnachrichten" title="Permanent link">¶</a></h2>
|
||||
<p>Die Standard-Spam-Reject-Meldung kann durch HinzufĂŒgen einer neuen Datei <code>data/conf/rspamd/override.d/worker-proxy.custom.inc</code> mit dem folgenden Inhalt geĂ€ndert werden:</p>
|
||||
<div class="highlight"><pre><span></span><code>reject_message = "Meine eigene Ablehnungsnachricht";
|
||||
</code></pre></div>
|
||||
<p>Speichern Sie die Datei und starten Sie Rspamd neu: <code>docker-compose restart rspamd-mailcow</code>.</p>
|
||||
<p>Speichern Sie die Datei und starten Sie Rspamd neu: <code>docker compose restart rspamd-mailcow</code>.</p>
|
||||
<p>Waehrend das oben genannte fuer abgelehnte Mails mit einem hohen Spam-Score funktioniert, ignorieren Prefilter-Aktionen diese Einstellung. FĂŒr diese Karten muss das Multimap-Modul in Rspamd angepasst werden:</p>
|
||||
<ol>
|
||||
<li>
|
||||
|
@ -2643,27 +2660,27 @@ docker-compose exec mysql-mailcow mysql -umailcow -p$DBPASS mailcow -e "del
|
|||
}
|
||||
</code></pre></div>
|
||||
<ol>
|
||||
<li>Speichern Sie die Datei und starten Sie Rspamd neu: <code>docker-compose restart rspamd-mailcow</code>.</li>
|
||||
<li>Speichern Sie die Datei und starten Sie Rspamd neu: <code>docker compose restart rspamd-mailcow</code>.</li>
|
||||
</ol>
|
||||
<h2 id="verwerfen-statt-zuruckweisen">Verwerfen statt zurĂŒckweisen<a class="headerlink" href="#verwerfen-statt-zuruckweisen" title="Permanent link">¶</a></h2>
|
||||
<p>Wenn Sie eine Nachricht stillschweigend verwerfen wollen, erstellen oder bearbeiten Sie die Datei <code>data/conf/rspamd/override.d/worker-proxy.custom.inc</code> und fĂŒgen Sie den folgenden Inhalt hinzu:</p>
|
||||
<div class="highlight"><pre><span></span><code>discard_on_reject = true;
|
||||
</code></pre></div>
|
||||
<p>Starten Sie Rspamd neu:</p>
|
||||
<div class="highlight"><pre><span></span><code>docker-compose restart rspamd-mailcow
|
||||
<div class="highlight"><pre><span></span><code>docker compose restart rspamd-mailcow
|
||||
</code></pre></div>
|
||||
<h2 id="losche-alle-ratelimit-schlussel">Lösche alle Ratelimit-SchlĂŒssel<a class="headerlink" href="#losche-alle-ratelimit-schlussel" title="Permanent link">¶</a></h2>
|
||||
<p>Wenn Sie das UI nicht verwenden wollen und stattdessen alle SchlĂŒssel in der Redis-Datenbank löschen wollen, können Sie redis-cli fĂŒr diese Aufgabe verwenden:</p>
|
||||
<div class="highlight"><pre><span></span><code>docker-compose exec redis-mailcow sh
|
||||
<div class="highlight"><pre><span></span><code>docker compose exec redis-mailcow sh
|
||||
# Unlink (verfĂŒgbar in Redis >=4.) löscht im Hintergrund
|
||||
redis-cli --scan --pattern RL* | xargs redis-cli unlink
|
||||
</code></pre></div>
|
||||
<p>Starten Sie Rspamd neu:</p>
|
||||
<div class="highlight"><pre><span></span><code>docker-compose restart rspamd-mailcow
|
||||
<div class="highlight"><pre><span></span><code>docker compose restart rspamd-mailcow
|
||||
</code></pre></div>
|
||||
<h2 id="erneutes-senden-von-quarantane-benachrichtigungen-auslosen">Erneutes Senden von QuarantĂ€ne-Benachrichtigungen auslösen<a class="headerlink" href="#erneutes-senden-von-quarantane-benachrichtigungen-auslosen" title="Permanent link">¶</a></h2>
|
||||
<p>Sollte nur zur Fehlersuche verwendet werden!</p>
|
||||
<div class="highlight"><pre><span></span><code>docker-compose exec dovecot-mailcow bash
|
||||
<div class="highlight"><pre><span></span><code>docker compose exec dovecot-mailcow bash
|
||||
mysql -umailcow -p$DBPASS mailcow -e "update quarantine set notified = 0;"
|
||||
redis-cli -h redis DEL Q_LAST_NOTIFIED
|
||||
quarantine_notify.py
|
||||
|
@ -2675,14 +2692,14 @@ quarantine_notify.py
|
|||
<p>Bearbeiten Sie <code>data/conf/rspamd/local.d/history_redis.conf</code>:</p>
|
||||
<div class="highlight"><pre><span></span><code>nrows = 1000; # Ăndern Sie diesen Wert
|
||||
</code></pre></div>
|
||||
<p>Starten Sie anschlieĂend Rspamd neu: <code>docker-compose restart rspamd-mailcow</code></p>
|
||||
<p>Starten Sie anschlieĂend Rspamd neu: <code>docker compose restart rspamd-mailcow</code></p>
|
||||
|
||||
<hr>
|
||||
<div class="md-source-file">
|
||||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-06 22:09:53</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2798,7 +2815,7 @@ quarantine_notify.py
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2509,7 +2526,7 @@ Bitte schauen Sie sich die AngularJS Material <a href="https://material.angularj
|
|||
Nachdem Sie <code>data/conf/sogo/custom-theme.js</code> modifiziert und Ănderungen an Ihrem neuen SOGo-Theme vorgenommen haben, mĂŒssen Sie </p>
|
||||
<ol>
|
||||
<li>Bearbeiten Sie <code>data/conf/sogo/sogo.conf</code> und fĂŒgen Sie <code>SOGoUIxDebugEnabled = YES;</code> ein.</li>
|
||||
<li>SOGo und Memcached Container neu starten, indem man <code>docker-compose restart memcached-mailcow sogo-mailcow</code> ausfĂŒhrt.</li>
|
||||
<li>SOGo und Memcached Container neu starten, indem man <code>docker compose restart memcached-mailcow sogo-mailcow</code> ausfĂŒhrt.</li>
|
||||
<li>SOGo im Browser öffnen</li>
|
||||
<li>öffnen Sie die Entwicklerkonsole des Browsers, normalerweise ist die Tastenkombination F12</li>
|
||||
<li>nur wenn Sie Firefox benutzen: schreiben Sie mit der Hand in die Entwicklerkonsole <code>allow pasting</code> und drĂŒcken Sie Enter</li>
|
||||
|
@ -2524,7 +2541,7 @@ Nachdem Sie <code>data/conf/sogo/custom-theme.js</code> modifiziert und Ănderun
|
|||
<li>Ăffnen Sie den Texteditor und fĂŒgen Sie die Daten aus der Zwischenablage ein (Strg+V), Sie sollten ein minimiertes CSS erhalten, speichern Sie es</li>
|
||||
<li>kopieren Sie die CSS-Datei auf den Mailcow-Server <code>data/conf/sogo/custom-theme.css</code></li>
|
||||
<li>editiere <code>data/conf/sogo/sogo.conf</code> und setze <code>SOGoUIxDebugEnabled = NO;</code></li>
|
||||
<li>AnhÀngen/Erstellen von <code>docker-compose.override.yml</code> mit:
|
||||
<li>AnhÀngen/Erstellen von <code>docker compose.override.yml</code> mit:
|
||||
<div class="highlight"><pre><span></span><code>Version: '2.1'
|
||||
|
||||
Dienste:
|
||||
|
@ -2532,8 +2549,8 @@ Dienste:
|
|||
volumes:
|
||||
- ./data/conf/sogo/custom-theme.css:/usr/lib/GNUstep/SOGo/WebServerResources/css/theme-default.css:z
|
||||
</code></pre></div></li>
|
||||
<li>fĂŒhren Sie <code>docker-compose up -d</code> aus</li>
|
||||
<li>AusfĂŒhren von <code>docker-compose restart memcached-mailcow</code></li>
|
||||
<li>fĂŒhren Sie <code>docker compose up -d</code> aus</li>
|
||||
<li>AusfĂŒhren von <code>docker compose restart memcached-mailcow</code></li>
|
||||
</ol>
|
||||
<h2 id="zurucksetzen-auf-das-sogo-standardthema">ZurĂŒcksetzen auf das SOGo Standardthema<a class="headerlink" href="#zurucksetzen-auf-das-sogo-standardthema" title="Permanent link">¶</a></h2>
|
||||
<ol>
|
||||
|
@ -2558,20 +2575,20 @@ Dienste:
|
|||
und ersetzen Sie es durch:
|
||||
<div class="highlight"><pre><span></span><code> $mdThemingProvider.theme('default');
|
||||
</code></pre></div></li>
|
||||
<li>Entfernen Sie aus <code>docker-compose.override.yml</code> Volume Mount in <code>sogo-mailcow</code>:
|
||||
<li>Entfernen Sie aus <code>docker compose.override.yml</code> Volume Mount in <code>sogo-mailcow</code>:
|
||||
<div class="highlight"><pre><span></span><code>- ./data/conf/sogo/custom-theme.css:/usr/lib/GNUstep/SOGo/WebServerResources/css/theme-default.css:z
|
||||
</code></pre></div></li>
|
||||
<li>fĂŒhren Sie <code>docker-compose up -d</code> aus</li>
|
||||
<li>Starten Sie <code>docker-compose restart memcached-mailcow</code>.</li>
|
||||
<li>fĂŒhren Sie <code>docker compose up -d</code> aus</li>
|
||||
<li>Starten Sie <code>docker compose restart memcached-mailcow</code>.</li>
|
||||
</ol>
|
||||
<h2 id="favicon-andern">Favicon Ă€ndern<a class="headerlink" href="#favicon-andern" title="Permanent link">¶</a></h2>
|
||||
<p>mailcow-Builds nach dem 31. Januar 2021 können SOGo's Favicon Ă€ndern, indem sie <code>data/conf/sogo/custom-favicon.ico</code> fĂŒr SOGo und <code>data/web/favicon.png</code> fĂŒr mailcow UI ersetzen.
|
||||
<strong>Anmerkung</strong>: Sie können <code>.png</code> Favicons fĂŒr SOGo verwenden, indem Sie sie in <code>custom-favicon.ico</code> umbenennen.
|
||||
FĂŒr beide, SOGo und mailcow UI Favicons, mĂŒssen Sie eine der StandardgröĂen verwenden: 16x16, 32x32, 64x64, 128x128 und 256x256.
|
||||
Nachdem Sie diese Datei ersetzt haben, mĂŒssen Sie SOGo und Memcached Container neu starten, indem Sie <code>docker-compose restart memcached-mailcow sogo-mailcow</code> ausfĂŒhren.</p>
|
||||
Nachdem Sie diese Datei ersetzt haben, mĂŒssen Sie SOGo und Memcached Container neu starten, indem Sie <code>docker compose restart memcached-mailcow sogo-mailcow</code> ausfĂŒhren.</p>
|
||||
<h2 id="logo-andern">Logo Ă€ndern<a class="headerlink" href="#logo-andern" title="Permanent link">¶</a></h2>
|
||||
<p>Mailcow-Builds nach dem 21. Dezember 2018 können das SOGo-Logo Àndern, indem sie die Datei <code>data/conf/sogo/sogo-full.svg</code> ersetzen oder erstellen (falls sie fehlt).
|
||||
Nachdem Sie diese Datei ersetzt haben, mĂŒssen Sie SOGo und Memcached Container neu starten, indem Sie <code>docker-compose restart memcached-mailcow sogo-mailcow</code> ausfĂŒhren.</p>
|
||||
Nachdem Sie diese Datei ersetzt haben, mĂŒssen Sie SOGo und Memcached Container neu starten, indem Sie <code>docker compose restart memcached-mailcow sogo-mailcow</code> ausfĂŒhren.</p>
|
||||
<h2 id="domains-verbinden-untereinander-sichtbar-machen">Domains verbinden (untereinander sichtbar machen)<a class="headerlink" href="#domains-verbinden-untereinander-sichtbar-machen" title="Permanent link">¶</a></h2>
|
||||
<p>Domains sind normalerweise voneinander isoliert.</p>
|
||||
<p>Sie können das Àndern, indem Sie <code>data/conf/sogo/sogo.conf</code> modifizieren:</p>
|
||||
|
@ -2586,19 +2603,19 @@ Nachdem Sie diese Datei ersetzt haben, mĂŒssen Sie SOGo und Memcached Container
|
|||
(beispiel.org, beispiel.com, beispiel.net)
|
||||
);
|
||||
</code></pre></div>
|
||||
<p>SOGo neu starten: <code>docker-compose restart sogo-mailcow</code></p>
|
||||
<p>SOGo neu starten: <code>docker compose restart sogo-mailcow</code></p>
|
||||
<h2 id="deaktivieren-sie-die-passwortanderung">Deaktivieren Sie die PasswortĂ€nderung<a class="headerlink" href="#deaktivieren-sie-die-passwortanderung" title="Permanent link">¶</a></h2>
|
||||
<p>Bearbeiten Sie <code>data/conf/sogo/sogo.conf</code> und <strong>Ă€ndern</strong> Sie <code>SOGoPasswordChangeEnabled</code> auf <code>NO</code>. Bitte fĂŒgen Sie keinen neuen Parameter hinzu.</p>
|
||||
<p>FĂŒhren Sie <code>docker-compose restart memcached-mailcow sogo-mailcow</code> aus, um die Ănderungen zu aktivieren.</p>
|
||||
<p>FĂŒhren Sie <code>docker compose restart memcached-mailcow sogo-mailcow</code> aus, um die Ănderungen zu aktivieren.</p>
|
||||
<h2 id="totp-zurucksetzen-totp-deaktivieren">TOTP zurĂŒcksetzen / TOTP deaktivieren<a class="headerlink" href="#totp-zurucksetzen-totp-deaktivieren" title="Permanent link">¶</a></h2>
|
||||
<p>FĂŒhren Sie <code>docker-compose exec -u sogo sogo-mailcow sogo-tool user-preferences set defaults user@example.com SOGoTOTPEnabled '{"SOGoTOTPEnabled":0}'</code> aus dem mailcow Verzeichnis aus.</p>
|
||||
<p>FĂŒhren Sie <code>docker compose exec -u sogo sogo-mailcow sogo-tool user-preferences set defaults user@example.com SOGoTOTPEnabled '{"SOGoTOTPEnabled":0}'</code> aus dem mailcow Verzeichnis aus.</p>
|
||||
|
||||
<hr>
|
||||
<div class="md-source-file">
|
||||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-06-23 15:17:00</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2714,7 +2731,7 @@ Nachdem Sie diese Datei ersetzt haben, mĂŒssen Sie SOGo und Memcached Container
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2447,21 +2464,21 @@
|
|||
forward-addr: 8.8.4.4 # VERWENDET KEINE ĂFFENTLICHEN DNS-SERVER - NUR EIN BEISPIEL
|
||||
</code></pre></div>
|
||||
<p>Unbound neu starten:</p>
|
||||
<div class="highlight"><pre><span></span><code>docker-compose restart unbound-mailcow
|
||||
<div class="highlight"><pre><span></span><code>docker compose restart unbound-mailcow
|
||||
</code></pre></div>
|
||||
<h2 id="methode-b-uberschreiben-der-datei">Methode B, Ăberschreiben der Datei<a class="headerlink" href="#methode-b-uberschreiben-der-datei" title="Permanent link">¶</a></h2>
|
||||
<div class="highlight"><pre><span></span><code>cd /opt/mailcow-dockerized
|
||||
cp helper-scripts/docker-compose.override.yml.d/EXTERNAL_DNS/docker-compose.override.yml .
|
||||
cp helper-scripts/docker compose.override.yml.d/EXTERNAL_DNS/docker compose.override.yml .
|
||||
</code></pre></div>
|
||||
<p>Bearbeiten Sie <code>docker-compose.override.yml</code> und passen Sie die IP an.</p>
|
||||
<p>FĂŒhren Sie <code>docker-compose down ; docker-compose up -d</code> aus.</p>
|
||||
<p>Bearbeiten Sie <code>docker compose.override.yml</code> und passen Sie die IP an.</p>
|
||||
<p>FĂŒhren Sie <code>docker compose down ; docker compose up -d</code> aus.</p>
|
||||
|
||||
<hr>
|
||||
<div class="md-source-file">
|
||||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-06-23 15:17:00</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2577,7 +2594,7 @@ cp helper-scripts/docker-compose.override.yml.d/EXTERNAL_DNS/docker-compose.over
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2669,7 +2686,7 @@
|
|||
|
||||
<h1>Thresholds</h1>
|
||||
|
||||
<p>Watchdog verwendet Standardwerte fĂŒr alle in <code>docker-compose.yml</code> definierten Thresholde.</p>
|
||||
<p>Watchdog verwendet Standardwerte fĂŒr alle in <code>docker compose.yml</code> definierten Thresholde.</p>
|
||||
<p>Die Standardwerte sind fĂŒr die meisten Konfigurationen geeignet.
|
||||
Beispiel:
|
||||
<div class="highlight"><pre><span></span><code>- NGINX_THRESHOLD=${NGINX_THRESHOLD:-5}
|
||||
|
@ -2691,7 +2708,7 @@ Beispiel:
|
|||
- MAILQ_THRESHOLD=${MAILQ_THRESHOLD:-20}
|
||||
- MAILQ_CRIT=${MAILQ_CRIT:-30}
|
||||
</code></pre></div></p>
|
||||
<p>Um sie anzupassen, fĂŒgen Sie einfach die notwendigen Threshold Variablen (z.B. <code>MAILQ_THRESHOLD=10</code>) zu <code>mailcow.conf</code> hinzu und fĂŒhren <code>docker-compose up -d</code> aus.</p>
|
||||
<p>Um sie anzupassen, fĂŒgen Sie einfach die notwendigen Threshold Variablen (z.B. <code>MAILQ_THRESHOLD=10</code>) zu <code>mailcow.conf</code> hinzu und fĂŒhren <code>docker compose up -d</code> aus.</p>
|
||||
<h3 id="threshold-beschreibungen">Threshold Beschreibungen<a class="headerlink" href="#threshold-beschreibungen" title="Permanent link">¶</a></h3>
|
||||
<h4 id="nginx_threshold">NGINX_THRESHOLD<a class="headerlink" href="#nginx_threshold" title="Permanent link">¶</a></h4>
|
||||
<p>Benachrichtigt Administratoren, wenn Watchdog keine Verbindung zu Nginx auf Port 8081 herstellen kann und startet den Container automatisch neu, wenn Probleme gefunden wurden und der Threshold erreicht wurde.</p>
|
||||
|
@ -2733,7 +2750,7 @@ Beispiel:
|
|||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-06-23 15:17:00</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2849,7 +2866,7 @@ Beispiel:
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -64,6 +64,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2500,7 +2517,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -64,6 +64,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2516,7 +2533,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -64,6 +64,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2494,7 +2511,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2579,7 +2596,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2576,7 +2593,7 @@ Sollte das der Fall sein empfiehlt es sich mit einem Klick auf <code>ZurĂŒcksetz
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -64,6 +64,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2504,7 +2521,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -64,6 +64,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2495,7 +2512,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -64,6 +64,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2499,7 +2516,7 @@ FĂŒr eine domainweite Black- und Whitelist lesen Sie bitte unsere Anleitung zu <
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2562,7 +2579,7 @@ index e047136e..933c4137 100644
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2602,7 +2619,7 @@ Um sie zu sehen, klicken Sie einfach auf das kleine Plus-Symbol auf der linken S
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2627,7 +2644,7 @@ Geben Sie schlieĂlich Ihr aktuelles Kontopasswort ein und berĂŒhren Sie nach Au
|
|||
<h3 id="deaktivieren-inoffizieller-unterstutzter-fido-security-keys">Deaktivieren inoffizieller unterstĂŒtzter Fido Security Keys<a class="headerlink" href="#deaktivieren-inoffizieller-unterstutzter-fido-security-keys" title="Permanent link">¶</a></h3>
|
||||
<p>Mit WebAuthn gibt es die Möglichkeit, nur offizielle Fido Security Keys zu verwenden (von den groĂen Marken wie: Yubico, Apple, Nitro, Google, Huawei, Microsoft, usw.) zu verwenden.</p>
|
||||
<p>Dies dient in erster Linie der Sicherheit, da es Administratoren ermöglicht, sicherzustellen, dass nur offizielle Hardware in ihrer Umgebung verwendet werden kann.</p>
|
||||
<p>Um diese Funktion zu aktivieren, Àndern Sie den Wert <code>WEBAUTHN_ONLY_TRUSTED_VENDORS</code> in mailcow.conf von <code>n</code> auf <code>y</code> und starten Sie die betroffenen Container mit <code>docker-compose up -d</code> neu.</p>
|
||||
<p>Um diese Funktion zu aktivieren, Àndern Sie den Wert <code>WEBAUTHN_ONLY_TRUSTED_VENDORS</code> in mailcow.conf von <code>n</code> auf <code>y</code> und starten Sie die betroffenen Container mit <code>docker compose up -d</code> neu.</p>
|
||||
<p>Die mailcow wird nun die Vendor-Zertifikate verwenden, die sich in Ihrem mailcow-Verzeichnis unter <code>data/web/inc/lib/WebAuthn/rootCertificates</code> befinden. </p>
|
||||
<h5 id="beispiel">Beispiel:<a class="headerlink" href="#beispiel" title="Permanent link">¶</a></h5>
|
||||
<p>Wenn Sie die offiziellen Hersteller-GerÀte nur auf Apple beschrÀnken wollen, brauchen Sie nur das Apple Hersteller-Zertifikat im <code>data/web/inc/lib/WebAuthn/rootCertificates</code>.
|
||||
|
@ -2660,7 +2677,7 @@ Diese Herstellerzertifikate werden nur zur ĂberprĂŒfung der Originalhardware ve
|
|||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-06-23 15:17:00</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2776,7 +2793,7 @@ Diese Herstellerzertifikate werden nur zur ĂberprĂŒfung der Originalhardware ve
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -64,6 +64,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2388,10 +2405,10 @@
|
|||
}
|
||||
</code></pre></div>
|
||||
<p>Falls Sie den Parameter HTTP_BIND geÀndert haben, erstellen Sie den Container neu:</p>
|
||||
<div class="highlight"><pre><span></span><code>docker-compose up -d
|
||||
<div class="highlight"><pre><span></span><code>docker compose up -d
|
||||
</code></pre></div>
|
||||
<p>Andernfalls starten Sie Nginx neu:</p>
|
||||
<div class="highlight"><pre><span></span><code>docker-compose restart nginx-mailcow
|
||||
<div class="highlight"><pre><span></span><code>docker compose restart nginx-mailcow
|
||||
</code></pre></div>
|
||||
|
||||
<hr>
|
||||
|
@ -2399,7 +2416,7 @@
|
|||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-06-23 15:17:00</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2515,7 +2532,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -64,6 +64,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2536,7 +2553,7 @@ $autodiscover_config = array(
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -64,6 +64,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2379,7 +2396,7 @@ smtps_smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
|
|||
<div class="highlight"><pre><span></span><code>ssl_min_protocol = TLSv1
|
||||
</code></pre></div>
|
||||
<p>Starten Sie die betroffenen Dienste neu:</p>
|
||||
<div class="highlight"><pre><span></span><code>docker-compose restart postfix-mailcow dovecot-mailcow
|
||||
<div class="highlight"><pre><span></span><code>docker compose restart postfix-mailcow dovecot-mailcow
|
||||
</code></pre></div>
|
||||
<p>Tipp: Sie können TLS 1.2 in Windows 7 aktivieren.</p>
|
||||
|
||||
|
@ -2388,7 +2405,7 @@ smtps_smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
|
|||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-06-23 15:17:00</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2504,7 +2521,7 @@ smtps_smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -64,6 +64,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2498,7 +2515,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -64,6 +64,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2495,7 +2512,7 @@ Wenn Sie einen öffentlichen Resolver wie Google 4x8, OpenDNS oder einen anderen
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -64,6 +64,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2509,7 +2526,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2474,14 +2491,14 @@ Wenn SOGo deaktiviert ist, können alle unten aufgefĂŒhrten Hashing-Methoden von
|
|||
<blockquote>
|
||||
<p>Ich habe die Passwort-Hashes in der SQL-Tabelle "Mailbox" geÀndert und kann mich nicht anmelden.</p>
|
||||
</blockquote>
|
||||
<p>Eine "Ansicht" muss aktualisiert werden. Sie können dies durch einen Neustart von sogo-mailcow auslösen: <code>docker-compose restart sogo-mailcow</code></p>
|
||||
<p>Eine "Ansicht" muss aktualisiert werden. Sie können dies durch einen Neustart von sogo-mailcow auslösen: <code>docker compose restart sogo-mailcow</code></p>
|
||||
|
||||
<hr>
|
||||
<div class="md-source-file">
|
||||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-06-23 15:17:00</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2597,7 +2614,7 @@ Wenn SOGo deaktiviert ist, können alle unten aufgefĂŒhrten Hashing-Methoden von
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2571,7 +2588,7 @@ Ihnen den Zugang wie oben beschrieben gewÀhren.</p>
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -64,6 +64,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2371,10 +2388,10 @@
|
|||
<p>Dies wird <strong>NUR</strong> empfohlen, wenn Sie kein IPv6-fÀhiges Netzwerk auf Ihrem Host haben!</p>
|
||||
<p>Wenn Sie es wirklich brauchen, können Sie die Verwendung von IPv6 in der Compose-Datei deaktivieren.
|
||||
ZusÀtzlich können Sie auch den Start des Containers "ipv6nat-mailcow" deaktivieren, da er nicht benötigt wird, wenn Sie IPv6 nicht verwenden.</p>
|
||||
<p>Anstatt die Datei docker-compose.yml direkt zu bearbeiten, ist es besser, eine Override-Datei zu erstellen
|
||||
<p>Anstatt die Datei docker compose.yml direkt zu bearbeiten, ist es besser, eine Override-Datei zu erstellen
|
||||
zu erstellen und Ihre Ănderungen am Dienst dort zu implementieren. Leider scheint dies im Moment nur fĂŒr Dienste zu funktionieren, nicht fĂŒr Netzwerkeinstellungen.</p>
|
||||
<p>Um IPv6 im mailcow-Netzwerk zu deaktivieren, öffnen Sie docker-compose.yml mit Ihrem bevorzugten Texteditor und suchen Sie nach dem Netzwerk-Abschnitt (er befindet sich am Ende der Datei). </p>
|
||||
<p><strong>1.</strong> Ăndern Sie docker-compose.yml</p>
|
||||
<p>Um IPv6 im mailcow-Netzwerk zu deaktivieren, öffnen Sie docker compose.yml mit Ihrem bevorzugten Texteditor und suchen Sie nach dem Netzwerk-Abschnitt (er befindet sich am Ende der Datei). </p>
|
||||
<p><strong>1.</strong> Ăndern Sie docker compose.yml</p>
|
||||
<p>Ăndern Sie <code>enable_ipv6: true</code> in <code>enable_ipv6: false</code>:</p>
|
||||
<div class="highlight"><pre><span></span><code>networks:
|
||||
mailcow-network:
|
||||
|
@ -2383,10 +2400,10 @@ zu erstellen und Ihre Ănderungen am Dienst dort zu implementieren. Leider schei
|
|||
[...]
|
||||
</code></pre></div>
|
||||
<p><strong>2.</strong> ipv6nat-mailcow deaktivieren</p>
|
||||
<p>Um den ipv6nat-mailcow Container ebenfalls zu deaktivieren, gehen Sie in Ihr mailcow Verzeichnis und erstellen Sie eine neue Datei namens "docker-compose.override.yml": </p>
|
||||
<p>Um den ipv6nat-mailcow Container ebenfalls zu deaktivieren, gehen Sie in Ihr mailcow Verzeichnis und erstellen Sie eine neue Datei namens "docker compose.override.yml": </p>
|
||||
<p><strong>HINWEIS:</strong> Wenn Sie bereits eine Override-Datei haben, erstellen Sie diese natĂŒrlich nicht neu, sondern fĂŒgen Sie die untenstehenden Zeilen entsprechend in Ihre bestehende Datei ein!</p>
|
||||
<div class="highlight"><pre><span></span><code># cd /opt/mailcow-dockerized
|
||||
# touch docker-compose.override.yml
|
||||
# touch docker compose.override.yml
|
||||
</code></pre></div>
|
||||
<p>Ăffnen Sie die Datei in Ihrem bevorzugten Texteditor und tragen Sie folgendes ein:</p>
|
||||
<div class="highlight"><pre><span></span><code>version: '2.1'
|
||||
|
@ -2398,8 +2415,8 @@ services:
|
|||
entrypoint: ["echo", "ipv6nat disabled in compose.override.yml"]
|
||||
</code></pre></div>
|
||||
<p>Damit diese Ănderungen wirksam werden, mĂŒssen Sie den Stack vollstĂ€ndig stoppen und dann neu starten, damit Container und Netzwerke neu erstellt werden:</p>
|
||||
<div class="highlight"><pre><span></span><code>docker-compose down
|
||||
docker-compose up -d
|
||||
<div class="highlight"><pre><span></span><code>docker compose down
|
||||
docker compose up -d
|
||||
</code></pre></div>
|
||||
<p><strong>3.</strong> Deaktivieren Sie IPv6 in unbound-mailcow</p>
|
||||
<p>Bearbeiten Sie <code>data/conf/unbound/unbound.conf</code> und setzen Sie <code>do-ip6</code> auf "no":</p>
|
||||
|
@ -2409,7 +2426,7 @@ docker-compose up -d
|
|||
[...]
|
||||
</code></pre></div>
|
||||
<p>unbound neu starten:</p>
|
||||
<div class="highlight"><pre><span></span><code>docker-compose restart unbound-mailcow
|
||||
<div class="highlight"><pre><span></span><code>docker compose restart unbound-mailcow
|
||||
</code></pre></div>
|
||||
<p><strong>4.</strong> Deaktivieren Sie IPv6 in postfix-mailcow</p>
|
||||
<p>Erstellen Sie <code>data/conf/postfix/extra.cf</code> und setzen Sie <code>smtp_address_preference</code> auf <code>ipv4</code>:</p>
|
||||
|
@ -2417,7 +2434,7 @@ docker-compose up -d
|
|||
inet_protocols = ipv4
|
||||
</code></pre></div>
|
||||
<p>Starten Sie Postfix neu:</p>
|
||||
<div class="highlight"><pre><span></span><code>docker-compose restart postfix-mailcow
|
||||
<div class="highlight"><pre><span></span><code>docker compose restart postfix-mailcow
|
||||
</code></pre></div>
|
||||
<p><strong>5.</strong> Wenn im Docker Daemon IPv6 komplett deaktiviert ist:</p>
|
||||
<p>Folgende NGINX, Dovecot und Php-fpm Konfigurationsdateien anpassen</p>
|
||||
|
@ -2433,7 +2450,7 @@ sed -i 's/\[::\]://g' data/conf/phpfpm/php-fpm.d/pools.conf
|
|||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-06-23 15:17:00</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2549,7 +2566,7 @@ sed -i 's/\[::\]://g' data/conf/phpfpm/php-fpm.d/pools.conf
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2510,7 +2527,7 @@
|
|||
keys_expire = 2d;
|
||||
}
|
||||
</code></pre></div>
|
||||
<p>Erstellen oder Àndern Sie <code>docker-compose.override.yml</code> im mailcow-dockerized Basisverzeichnis:</p>
|
||||
<p>Erstellen oder Àndern Sie <code>docker compose.override.yml</code> im mailcow-dockerized Basisverzeichnis:</p>
|
||||
<div class="highlight"><pre><span></span><code>version: '2.1'
|
||||
|
||||
services:
|
||||
|
@ -2525,7 +2542,7 @@ services:
|
|||
depends_on:
|
||||
- rspamd-mailcow
|
||||
</code></pre></div>
|
||||
<p>Starte <code>docker-compose up -d</code></p>
|
||||
<p>Starte <code>docker compose up -d</code></p>
|
||||
<h2 id="senden-sie-eine-kopie-der-berichte-an-sich-selbst">Senden Sie eine Kopie der Berichte an sich selbst<a class="headerlink" href="#senden-sie-eine-kopie-der-berichte-an-sich-selbst" title="Permanent link">¶</a></h2>
|
||||
<p>Um eine versteckte Kopie der von Rspamd erzeugten Berichte zu erhalten, können Sie eine <code>bcc_addrs</code> Liste im <code>reporting</code> Konfigurationsabschnitt von <code>data/conf/rspamd/local.d/dmarc.conf</code> setzen:</p>
|
||||
<div class="highlight"><pre><span></span><code>reporting {
|
||||
|
@ -2542,20 +2559,20 @@ services:
|
|||
</ul>
|
||||
<h2 id="fehlersuche">Fehlersuche<a class="headerlink" href="#fehlersuche" title="Permanent link">¶</a></h2>
|
||||
<p>PrĂŒfen Sie, wann der Berichtsplan zuletzt ausgefĂŒhrt wurde:</p>
|
||||
<div class="highlight"><pre><span></span><code>docker-compose exec rspamd-mailcow date -r /var/lib/rspamd/dmarc_reports_last_log
|
||||
<div class="highlight"><pre><span></span><code>docker compose exec rspamd-mailcow date -r /var/lib/rspamd/dmarc_reports_last_log
|
||||
</code></pre></div>
|
||||
<p>Sehen Sie sich die letzte Berichtsausgabe an:</p>
|
||||
<div class="highlight"><pre><span></span><code>docker-compose exec rspamd-mailcow cat /var/lib/rspamd/dmarc_reports_last_log
|
||||
<div class="highlight"><pre><span></span><code>docker compose exec rspamd-mailcow cat /var/lib/rspamd/dmarc_reports_last_log
|
||||
</code></pre></div>
|
||||
<p>Manuelles Auslösen eines DMARC-Berichts:</p>
|
||||
<div class="highlight"><pre><span></span><code>docker-compose exec rspamd-mailcow rspamadm dmarc_report
|
||||
<div class="highlight"><pre><span></span><code>docker compose exec rspamd-mailcow rspamadm dmarc_report
|
||||
</code></pre></div>
|
||||
<p>BestÀtigen Sie, dass Rspamd Daten in Redis aufgezeichnet hat:
|
||||
Ăndern Sie <code>20220428</code> in ein anderes interessantes Datum zum schauen.</p>
|
||||
<div class="highlight"><pre><span></span><code>docker-compose exec redis-mailcow redis-cli SMEMBERS "dmarc_idx;20220428"
|
||||
<div class="highlight"><pre><span></span><code>docker compose exec redis-mailcow redis-cli SMEMBERS "dmarc_idx;20220428"
|
||||
</code></pre></div>
|
||||
<p>Nehmen Sie eine der Zeilen aus der Ausgabe, die Sie interessiert, und fordern Sie sie an, z. B.:</p>
|
||||
<div class="highlight"><pre><span></span><code>docker-compose exec redis-mailcow redis-cli ZRANGE "dmarc_rpt;microsoft.com;mailto:d@rua.agari.com;20220428" 0 49
|
||||
<div class="highlight"><pre><span></span><code>docker compose exec redis-mailcow redis-cli ZRANGE "dmarc_rpt;microsoft.com;mailto:d@rua.agari.com;20220428" 0 49
|
||||
</code></pre></div>
|
||||
<h2 id="andern-sie-die-haufigkeit-der-dmarc-berichte">Ăndern Sie die HĂ€ufigkeit der DMARC-Berichte<a class="headerlink" href="#andern-sie-die-haufigkeit-der-dmarc-berichte" title="Permanent link">¶</a></h2>
|
||||
<p>Im obigen Beispiel werden die Berichte einmal alle 24 Stunden gesendet.</p>
|
||||
|
@ -2563,13 +2580,13 @@ services:
|
|||
<p>Um den Zeitplan zu Àndern:</p>
|
||||
<ol>
|
||||
<li>
|
||||
<p>Bearbeiten Sie <code>docker-compose.override.yml</code> und stellen Sie <code>ofelia.job-exec.rspamd_dmarc_reporting.schedule: "@every 24h"</code> auf einen gewĂŒnschten Wert, zum Beispiel auf <code>"@midnight"</code></p>
|
||||
<p>Bearbeiten Sie <code>docker compose.override.yml</code> und stellen Sie <code>ofelia.job-exec.rspamd_dmarc_reporting.schedule: "@every 24h"</code> auf einen gewĂŒnschten Wert, zum Beispiel auf <code>"@midnight"</code></p>
|
||||
</li>
|
||||
<li>
|
||||
<p>FĂŒhren Sie <code>docker-compose up -d</code> aus.</p>
|
||||
<p>FĂŒhren Sie <code>docker compose up -d</code> aus.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>FĂŒhren Sie <code>docker-compose restart ofelia-mailcow</code> aus</p>
|
||||
<p>FĂŒhren Sie <code>docker compose restart ofelia-mailcow</code> aus</p>
|
||||
</li>
|
||||
</ol>
|
||||
<h2 id="dmarc-berichterstattung-deaktivieren">DMARC-Berichterstattung deaktivieren<a class="headerlink" href="#dmarc-berichterstattung-deaktivieren" title="Permanent link">¶</a></h2>
|
||||
|
@ -2579,10 +2596,10 @@ services:
|
|||
<p>Setzen Sie <code>enabled</code> auf <code>false</code> in <code>data/conf/rspamd/local.d/dmarc.conf</code>.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>Machen Sie Ănderungen in <code>docker-compose.override.yml</code> an <code>rspamd-mailcow</code> und <code>ofelia-mailcow</code> rĂŒckgĂ€ngig</p>
|
||||
<p>Machen Sie Ănderungen in <code>docker compose.override.yml</code> an <code>rspamd-mailcow</code> und <code>ofelia-mailcow</code> rĂŒckgĂ€ngig</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>FĂŒhren Sie <code>docker-compose up -d</code> aus</p>
|
||||
<p>FĂŒhren Sie <code>docker compose up -d</code> aus</p>
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
|
@ -2591,7 +2608,7 @@ services:
|
|||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-06-23 15:17:00</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2707,7 +2724,7 @@ services:
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2463,11 +2480,11 @@ DOVEADM_PORT=127.0.0.1:19991
|
|||
SQL_PORT=127.0.0.1:13306
|
||||
SOLR_PORT=127.0.0.1:18983
|
||||
</code></pre></div>
|
||||
<p>Um Ihre Ănderungen zu ĂŒbernehmen, fĂŒhren Sie <code>docker-compose down</code> gefolgt von <code>docker-compose up -d</code> aus.</p>
|
||||
<p>Um Ihre Ănderungen zu ĂŒbernehmen, fĂŒhren Sie <code>docker compose down</code> gefolgt von <code>docker compose up -d</code> aus.</p>
|
||||
<h2 id="ipv6-binding">IPv6-Binding<a class="headerlink" href="#ipv6-binding" title="Permanent link">¶</a></h2>
|
||||
<p>Das Ăndern von IPv6-Bindings ist anders als bei IPv4. Auch dies hat einen technischen Hintergrund.</p>
|
||||
<p>Eine <code>docker-compose.override.yml</code> Datei wird verwendet, anstatt die <code>docker-compose.yml</code> Datei direkt zu bearbeiten. Dies geschieht, um die Aktualisierbarkeit zu erhalten, da die Datei <code>docker-compose.yml</code> regelmĂ€Ăig aktualisiert wird und Ihre Ănderungen höchstwahrscheinlich ĂŒberschrieben werden.</p>
|
||||
<p>Bearbeiten Sie die Datei "docker-compose.override.yml" und erstellen Sie sie mit dem folgenden Inhalt. Ihr Inhalt wird mit der produktiven Datei "docker-compose.yml" zusammengefĂŒhrt.</p>
|
||||
<p>Eine <code>docker compose.override.yml</code> Datei wird verwendet, anstatt die <code>docker compose.yml</code> Datei direkt zu bearbeiten. Dies geschieht, um die Aktualisierbarkeit zu erhalten, da die Datei <code>docker compose.yml</code> regelmĂ€Ăig aktualisiert wird und Ihre Ănderungen höchstwahrscheinlich ĂŒberschrieben werden.</p>
|
||||
<p>Bearbeiten Sie die Datei "docker compose.override.yml" und erstellen Sie sie mit dem folgenden Inhalt. Ihr Inhalt wird mit der produktiven Datei "docker compose.yml" zusammengefĂŒhrt.</p>
|
||||
<p>Es wird eine <strong>beispielhafte</strong> IPv6 <strong>2001:db8:dead:beef::123</strong> in [] angegeben. Das erste Suffix <code>:PORT1</code> definiert den externen Port, wĂ€hrend das zweite Suffix <code>:PORT2</code> zu dem entsprechenden Port innerhalb des Containers fĂŒhrt und <u><strong>nicht</strong></u> verĂ€ndert werden darf.</p>
|
||||
<div class="highlight"><pre><span></span><code>version: '2.1'
|
||||
services:
|
||||
|
@ -2491,14 +2508,14 @@ services:
|
|||
- '[2001:db8:dead:beef::123]:80:80'
|
||||
- '[2001:db8:dead:beef::123]:443:443'
|
||||
</code></pre></div>
|
||||
<p>Um Ihre Ănderungen zu ĂŒbernehmen, fĂŒhren Sie <code>docker-compose down</code> gefolgt von <code>docker-compose up -d</code> aus.</p>
|
||||
<p>Um Ihre Ănderungen zu ĂŒbernehmen, fĂŒhren Sie <code>docker compose down</code> gefolgt von <code>docker compose up -d</code> aus.</p>
|
||||
|
||||
<hr>
|
||||
<div class="md-source-file">
|
||||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-06-23 15:17:00</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2614,7 +2631,7 @@ services:
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -64,6 +64,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2505,7 +2522,7 @@ Das Relaying ĂŒber diese Schnittstelle ist notwendig (anstatt - zum Beispiel - d
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -562,10 +579,10 @@
|
|||
|
||||
<li class="md-nav__item">
|
||||
<a href="#uber-docker-composeoverrideyml" class="md-nav__link">
|
||||
Ăber docker-compose.override.yml
|
||||
Ăber docker compose.override.yml
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="Ăber docker-compose.override.yml">
|
||||
<nav class="md-nav" aria-label="Ăber docker compose.override.yml">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
|
@ -2454,10 +2471,10 @@
|
|||
|
||||
<li class="md-nav__item">
|
||||
<a href="#uber-docker-composeoverrideyml" class="md-nav__link">
|
||||
Ăber docker-compose.override.yml
|
||||
Ăber docker compose.override.yml
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="Ăber docker-compose.override.yml">
|
||||
<nav class="md-nav" aria-label="Ăber docker compose.override.yml">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
|
@ -2513,7 +2530,7 @@
|
|||
|
||||
<p>Das Logging in mailcow: dockerized besteht aus mehreren Stufen, ist aber immerhin wesentlich flexibler und einfacher in einen Logging-Daemon zu integrieren als bisher.</p>
|
||||
<p>In Docker schreibt die containerisierte Anwendung (PID 1) ihre Ausgabe auf stdout. FĂŒr echte Ein-Anwendungs-Container funktioniert das sehr gut.
|
||||
FĂŒhren Sie <code>docker-compose logs --help</code> aus, um mehr zu erfahren. </p>
|
||||
FĂŒhren Sie <code>docker compose logs --help</code> aus, um mehr zu erfahren. </p>
|
||||
<p>Einige Container protokollieren oder streamen an mehrere Ziele.</p>
|
||||
<p>Kein Container wird persistente Logs in sich behalten. Container sind flĂŒchtige Objekte!</p>
|
||||
<p>Am Ende wird jede Zeile der Logs den Docker-Daemon erreichen - ungefiltert.</p>
|
||||
|
@ -2526,9 +2543,9 @@ FĂŒhren Sie <code>docker-compose logs --help</code> aus, um mehr zu erfahren. </
|
|||
ohne die FÀhigkeit zu verlieren, Logs von der UI zu lesen oder verdÀchtige Clients mit netfilter-mailcow zu sperren.</p>
|
||||
<p>Redis-SchlĂŒssel enthalten nur Logs von Anwendungen und filtern Systemmeldungen heraus (man denke an Cron etc.).</p>
|
||||
<h3 id="logging-treiber">Logging-Treiber<a class="headerlink" href="#logging-treiber" title="Permanent link">¶</a></h3>
|
||||
<h4 id="uber-docker-composeoverrideyml">Ăber docker-compose.override.yml<a class="headerlink" href="#uber-docker-composeoverrideyml" title="Permanent link">¶</a></h4>
|
||||
<h4 id="uber-docker-composeoverrideyml">Ăber docker compose.override.yml<a class="headerlink" href="#uber-docker-composeoverrideyml" title="Permanent link">¶</a></h4>
|
||||
<p>Hier ist die gute Nachricht: Da Docker einige groĂartige Logging-Treiber hat, können Sie mailcow: dockerized mit Leichtigkeit in Ihre bestehende Logging-Umgebung integrieren.</p>
|
||||
<p>Erstellen Sie eine <code>docker-compose.override.yml</code> und fĂŒgen Sie zum Beispiel diesen Block hinzu, um das "gelf" Logging-Plugin fĂŒr <code>postfix-mailcow</code> zu verwenden:</p>
|
||||
<p>Erstellen Sie eine <code>docker compose.override.yml</code> und fĂŒgen Sie zum Beispiel diesen Block hinzu, um das "gelf" Logging-Plugin fĂŒr <code>postfix-mailcow</code> zu verwenden:</p>
|
||||
<div class="highlight"><pre><span></span><code>version: '2.1'
|
||||
services:
|
||||
postfix-mailcow: # oder ein anderer
|
||||
|
@ -2595,7 +2612,7 @@ erstellen Sie die Datei <code>/etc/rsyslog.d/docker.conf</code>:</p>
|
|||
...
|
||||
}
|
||||
</code></pre></div>
|
||||
<p>Starten Sie den Docker-Daemon neu und fĂŒhren Sie <code>docker-compose down && docker-compose up -d</code> aus, um die Container mit dem neuen Protokollierungstreiber neu zu erstellen.</p>
|
||||
<p>Starten Sie den Docker-Daemon neu und fĂŒhren Sie <code>docker compose down && docker compose up -d</code> aus, um die Container mit dem neuen Protokollierungstreiber neu zu erstellen.</p>
|
||||
<h3 id="log-rotation">Log rotation<a class="headerlink" href="#log-rotation" title="Permanent link">¶</a></h3>
|
||||
<p>Da diese Logs sehr groà werden können, ist es eine gute Idee logrotate zu nutzen, um Logs nach einer gewissen Zeit zu
|
||||
komprimieren und zu löschen.</p>
|
||||
|
@ -2620,7 +2637,7 @@ komprimieren und zu löschen.</p>
|
|||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-06-23 15:17:00</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2736,7 +2753,7 @@ komprimieren und zu löschen.</p>
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2497,7 +2514,7 @@ mailcow: dockerized vertraut auf das Standard-Gateway IP 172.22.1.1 als Proxy.</
|
|||
</code></pre></div></p>
|
||||
<p>Dadurch werden auch die Bindungen innerhalb des Nginx-Containers geÀndert! Dies ist wichtig, wenn Sie sich entscheiden, einen Proxy innerhalb von Docker zu verwenden.</p>
|
||||
<p><strong>WICHTIG:</strong> Verwenden Sie nicht Port 8081, 9081 oder 65510!</p>
|
||||
<p>Erzeugen Sie die betroffenen Container neu, indem Sie <code>docker-compose up -d</code> ausfĂŒhren.</p>
|
||||
<p>Erzeugen Sie die betroffenen Container neu, indem Sie <code>docker compose up -d</code> ausfĂŒhren.</p>
|
||||
<p><strong>Wichtige Informationen, bitte lesen Sie diese sorgfÀltig durch!</strong></p>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">Info</p>
|
||||
|
@ -2648,8 +2665,8 @@ backend mailcow
|
|||
<p><strong>Wichtig</strong>: Diese Konfiguration deckt nur das "Reverseproxing" des Webpanels (nginx-mailcow) unter Verwendung von Traefik v2 ab. Wenn Sie auch die Mail-Dienste wie dovecot, postfix... reproxen wollen, mĂŒssen Sie die folgende Konfiguration an jeden Container anpassen und einen <a href="https://docs.traefik.io/routing/entrypoints/">EntryPoint</a> in Ihrer <code>traefik.toml</code> oder <code>traefik.yml</code> (je nachdem, welche Konfiguration Sie verwenden) fĂŒr jeden Port erstellen. </p>
|
||||
<p>In diesem Abschnitt gehen wir davon aus, dass Sie Ihren Traefik 2 <code>[certificatesresolvers]</code> in Ihrer Traefik-Konfigurationsdatei richtig konfiguriert haben und auch acme verwenden. Das folgende Beispiel verwendet Lets Encrypt, aber Sie können es gerne auf Ihren eigenen Zertifikatsresolver Ă€ndern. Eine grundlegende Traefik 2 toml-Konfigurationsdatei mit allen oben genannten Elementen, die fĂŒr dieses Beispiel verwendet werden kann, finden Sie hier <a href="https://github.com/Frenzoid/TraefikBasicConfig/blob/master/traefik.toml">traefik.toml</a>, falls Sie eine solche Datei benötigen oder einen Hinweis, wie Sie Ihre Konfiguration anpassen können.</p>
|
||||
<p>Zuallererst werden wir den acme-mailcow-Container deaktivieren, da wir die von traefik bereitgestellten Zertifikate verwenden werden.
|
||||
Dazu mĂŒssen wir <code>SKIP_LETS_ENCRYPT=y</code> in unserer <code>mailcow.conf</code> setzen und <code>docker-compose up -d</code> ausfĂŒhren, um die Ănderungen zu ĂŒbernehmen.</p>
|
||||
<p>Dann erstellen wir eine <code>docker-compose.override.yml</code> Datei, um die Hauptdatei <code>docker-compose.yml</code> zu ĂŒberschreiben, die sich im Mailcow-Stammverzeichnis befindet. </p>
|
||||
Dazu mĂŒssen wir <code>SKIP_LETS_ENCRYPT=y</code> in unserer <code>mailcow.conf</code> setzen und <code>docker compose up -d</code> ausfĂŒhren, um die Ănderungen zu ĂŒbernehmen.</p>
|
||||
<p>Dann erstellen wir eine <code>docker compose.override.yml</code> Datei, um die Hauptdatei <code>docker compose.yml</code> zu ĂŒberschreiben, die sich im Mailcow-Stammverzeichnis befindet. </p>
|
||||
<div class="highlight"><pre><span></span><code><span class="nt">version</span><span class="p">:</span><span class="w"> </span><span class="s">'2.1'</span><span class="w"></span>
|
||||
|
||||
<span class="nt">services</span><span class="p">:</span><span class="w"></span>
|
||||
|
@ -2681,7 +2698,7 @@ Dazu mĂŒssen wir <code>SKIP_LETS_ENCRYPT=y</code> in unserer <code>mailcow.conf<
|
|||
<span class="w"> </span><span class="nt">network_mode</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">none</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">volumes</span><span class="p">:</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="c1"># mounten Sie den Ordner, der Traefiks `acme.json' Datei enthÀlt</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="c1"># in diesem Fall wird Traefik von seinem eigenen docker-compose in ../traefik gestartet</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="c1"># in diesem Fall wird Traefik von seinem eigenen docker compose in ../traefik gestartet</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">../traefik/data:/traefik:ro</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="c1"># SSL-Ordner von mailcow einhÀngen</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">./data/assets/ssl/:/output:rw</span><span class="w"></span>
|
||||
|
@ -2694,10 +2711,10 @@ Dazu mĂŒssen wir <code>SKIP_LETS_ENCRYPT=y</code> in unserer <code>mailcow.conf<
|
|||
<span class="w"> </span><span class="nt">web</span><span class="p">:</span><span class="w"></span>
|
||||
<span class="w"> </span><span class="nt">external</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span><span class="w"></span>
|
||||
</code></pre></div>
|
||||
<p>Starten Sie die neuen Container mit <code>docker-compose up -d</code>.</p>
|
||||
<p>Starten Sie die neuen Container mit <code>docker compose up -d</code>.</p>
|
||||
<p>Da Traefik 2 ein acme v2 Format verwendet, um ALLE Lizenzen von allen Domains zu speichern, mĂŒssen wir einen Weg finden, die Zertifikate auszulagern. Zum GlĂŒck haben wir [diesen kleinen Container] (<a href="https://hub.docker.com/r/humenius/traefik-certs-dumper">https://hub.docker.com/r/humenius/traefik-certs-dumper</a>), der die Datei <code>acme.json</code> ĂŒber ein Volume und eine Variable <code>DOMAIN=example. org</code>, und damit wird der Container die <code>cert.pem</code> und <code>key.pem</code> Dateien ausgeben, dafĂŒr lassen wir einfach den <code>traefik-certs-dumper</code> Container laufen, binden das <code>/traefik</code> Volume an den Ordner, in dem unsere <code>acme.json</code> gespeichert ist, binden das <code>/output</code> Volume an unseren mailcow <code>data/assets/ssl/</code> Ordner, und setzen die <code>DOMAIN=example.org</code> Variable auf die Domain, von der wir die Zertifikate ausgeben wollen. </p>
|
||||
<p>Dieser Container ĂŒberwacht die Datei <code>acme.json</code> auf Ănderungen und generiert die Dateien <code>cert.pem</code> und <code>key.pem</code> direkt in <code>data/assets/ssl/</code>, wobei der Pfad mit dem <code>/output</code>-Pfad des Containers verbunden ist.</p>
|
||||
<p>Sie können es ĂŒber die Kommandozeile ausfĂŒhren oder das [hier] gezeigte docker-compose verwenden (<a href="https://hub.docker.com/r/humenius/traefik-certs-dumper">https://hub.docker.com/r/humenius/traefik-certs-dumper</a>).</p>
|
||||
<p>Sie können es ĂŒber die Kommandozeile ausfĂŒhren oder das [hier] gezeigte docker compose verwenden (<a href="https://hub.docker.com/r/humenius/traefik-certs-dumper">https://hub.docker.com/r/humenius/traefik-certs-dumper</a>).</p>
|
||||
<p>Nachdem wir die Zertifikate ĂŒbertragen haben, mĂŒssen wir die Konfigurationen aus unseren Postfix- und Dovecot-Containern neu laden und die Zertifikate ĂŒberprĂŒfen. Wie das geht, sehen Sie <a href="https://mailcow.github.io/mailcow-dockerized-docs/de/post_installation/firststeps-ssl/#ein-eigenes-zertifikat-verwenden">hier</a>.</p>
|
||||
<p>Und das sollte es gewesen sein đ, Sie können ĂŒberprĂŒfen, ob der Traefik-Router einwandfrei funktioniert, indem Sie das Dashboard von Traefik / traefik logs / ĂŒber https auf die eingestellte Domain zugreifen, oder / und HTTPS, SMTP und IMAP mit den Befehlen auf der zuvor verlinkten Seite ĂŒberprĂŒfen.</p>
|
||||
<h3 id="optional-post-hook-skript-fur-nicht-mailcow-acme-clients">Optional: Post-Hook-Skript fĂŒr nicht-mailcow ACME-Clients<a class="headerlink" href="#optional-post-hook-skript-fur-nicht-mailcow-acme-clients" title="Permanent link">¶</a></h3>
|
||||
|
@ -2715,14 +2732,14 @@ docker restart ${postfix_c} ${dovecot_c} ${nginx_c}
|
|||
<p>Wenn Sie vorhaben, einen Servernamen zu verwenden, der nicht <code>MAILCOW_HOSTNAME</code> in Ihrem Reverse-Proxy ist, stellen Sie sicher, dass Sie diesen Namen zuerst in mailcow.conf ĂŒber <code>ADDITIONAL_SERVER_NAMES</code> einpflegen. Die Namen mĂŒssen durch Kommas getrennt werden und <strong>dĂŒrfen</strong> keine Leerzeichen enthalten. Wenn Sie diesen Schritt ĂŒberspringen, kann es sein, dass mailcow auf Ihren Reverse-Proxy mit einer falschen Seite antwortet.</p>
|
||||
<div class="highlight"><pre><span></span><code>ADDITIONAL_SERVER_NAMES=webmail.domain.tld,other.example.tld
|
||||
</code></pre></div>
|
||||
<p>FĂŒhren Sie <code>docker-compose up -d</code> zum Anwenden aus.</p>
|
||||
<p>FĂŒhren Sie <code>docker compose up -d</code> zum Anwenden aus.</p>
|
||||
|
||||
<hr>
|
||||
<div class="md-source-file">
|
||||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-06-23 15:17:00</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2838,7 +2855,7 @@ docker restart ${postfix_c} ${dovecot_c} ${nginx_c}
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -64,6 +64,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2498,7 +2515,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -64,6 +64,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2377,16 +2394,16 @@ SNAT_TO_SOURCE=1.2.3.4
|
|||
# Benutze dieses IPv6 fĂŒr ausgehende Verbindungen (SNAT)
|
||||
SNAT6_TO_SOURCE=dead:beef
|
||||
</code></pre></div>
|
||||
<p>FĂŒhren Sie <code>docker-compose up -d</code> aus.</p>
|
||||
<p>FĂŒhren Sie <code>docker compose up -d</code> aus.</p>
|
||||
<p>Die Werte werden von netfilter-mailcow gelesen. netfilter-mailcow stellt sicher, dass die Post-Routing-Regeln auf Position 1 in der Netfilter-Tabelle stehen. Es löscht sie automatisch und legt sie neu an, wenn sie an einer anderen Position als 1 gefunden werden.</p>
|
||||
<p>ĂberprĂŒfen Sie die Ausgabe von <code>docker-compose logs --tail=200 netfilter-mailcow</code>, um sicherzustellen, dass die SNAT-Einstellungen angewendet wurden.</p>
|
||||
<p>ĂberprĂŒfen Sie die Ausgabe von <code>docker compose logs --tail=200 netfilter-mailcow</code>, um sicherzustellen, dass die SNAT-Einstellungen angewendet wurden.</p>
|
||||
|
||||
<hr>
|
||||
<div class="md-source-file">
|
||||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-06-23 15:17:00</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2502,7 +2519,7 @@ SNAT6_TO_SOURCE=dead:beef
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2605,7 +2622,7 @@
|
|||
<p>FĂŒr jede hinzugefĂŒgte Domain wird versucht, <code>autodiscover.ADDED_MAIL_DOMAIN</code> und <code>autoconfig.ADDED_MAIL_DOMAIN</code> in die IPv6-Adresse oder - falls IPv6 in der Domain nicht konfiguriert ist - in die IPv4-Adresse aufzulösen. Wenn dies gelingt, wird ein Name als SAN zur Zertifikatsanforderung hinzugefĂŒgt.</p>
|
||||
<p>Nur Namen, die validiert werden können, werden als SAN hinzugefĂŒgt.</p>
|
||||
<p>FĂŒr jede Domain, die Sie entfernen, wird das Zertifikat verschoben und ein neues Zertifikat angefordert. Es ist nicht möglich, Domains in einem Zertifikat zu behalten, wenn wir nicht in der Lage sind, die Challenge fĂŒr diese zu validieren.</p>
|
||||
<p>Wenn Sie den ACME-Client neu starten wollen, verwenden Sie <code>docker-compose restart acme-mailcow</code> und ĂŒberwachen Sie die Protokolle mit <code>docker-compose logs --tail=200 -f acme-mailcow</code>.</p>
|
||||
<p>Wenn Sie den ACME-Client neu starten wollen, verwenden Sie <code>docker compose restart acme-mailcow</code> und ĂŒberwachen Sie die Protokolle mit <code>docker compose logs --tail=200 -f acme-mailcow</code>.</p>
|
||||
<h3 id="zusatzliche-domain-namen">ZusĂ€tzliche Domain-Namen<a class="headerlink" href="#zusatzliche-domain-namen" title="Permanent link">¶</a></h3>
|
||||
<p>Bearbeiten Sie "mailcow.conf" und fĂŒgen Sie einen Parameter <code>ADDITIONAL_SAN</code> wie folgt hinzu:</p>
|
||||
<p>Verwenden Sie keine AnfĂŒhrungszeichen (<code>"</code>) und keine Leerzeichen zwischen den Namen!</p>
|
||||
|
@ -2613,7 +2630,7 @@
|
|||
</code></pre></div>
|
||||
<p>Jeder Name wird anhand seiner IPv6-Adresse oder - wenn IPv6 in Ihrer DomĂ€ne nicht konfiguriert ist - anhand seiner IPv4-Adresse ĂŒberprĂŒft.</p>
|
||||
<p>Ein Wildcard-Name wie <code>smtp.*</code> wird versuchen, ein smtp.DOMAIN_NAME SAN fĂŒr jede zu mailcow hinzugefĂŒgte Domain zu erhalten.</p>
|
||||
<p>FĂŒhren Sie <code>docker-compose up -d</code> aus, um betroffene Container automatisch neu zu erstellen.</p>
|
||||
<p>FĂŒhren Sie <code>docker compose up -d</code> aus, um betroffene Container automatisch neu zu erstellen.</p>
|
||||
<div class="admonition info">
|
||||
<p class="admonition-title">Info</p>
|
||||
<p>Die Verwendung anderer Namen als <code>MAILCOW_HOSTNAME</code> fĂŒr den Zugriff auf das mailcow UI kann weitere Konfiguration erfordern.</p>
|
||||
|
@ -2621,26 +2638,26 @@
|
|||
<p>Wenn Sie planen, einen anderen Servernamen als <code>MAILCOW_HOSTNAME</code> fĂŒr den Zugriff auf die mailcow UI zu verwenden (z.B. durch HinzufĂŒgen von <code>mail.*</code> zu <code>ADDITIONAL_SAN</code>), stellen Sie sicher, dass Sie diesen Namen in mailcow.conf ĂŒber <code>ADDITIONAL_SERVER_NAMES</code> eintragen. Die Namen mĂŒssen durch Kommas getrennt sein und <strong>dĂŒrfen</strong> keine Leerzeichen enthalten. Wenn Sie diesen Schritt auslassen, kann mailcow mit einer falschen Seite antworten.</p>
|
||||
<div class="highlight"><pre><span></span><code>ADDITIONAL_SERVER_NAMES=webmail.domain.tld,other.example.tld
|
||||
</code></pre></div>
|
||||
<p>FĂŒhren Sie <code>docker-compose up -d</code> aus, um es anzuwenden.</p>
|
||||
<p>FĂŒhren Sie <code>docker compose up -d</code> aus, um es anzuwenden.</p>
|
||||
<h3 id="erneuerung-erzwingen">Erneuerung erzwingen<a class="headerlink" href="#erneuerung-erzwingen" title="Permanent link">¶</a></h3>
|
||||
<p>Um eine Erneuerung zu erzwingen, mĂŒssen Sie eine Datei namens <code>force_renew</code> erstellen und den <code>acme-mailcow</code> Container neu starten:</p>
|
||||
<div class="highlight"><pre><span></span><code>cd /opt/mailcow-dockerized
|
||||
touch data/assets/ssl/force_renew
|
||||
docker-compose restart acme-mailcow
|
||||
docker compose restart acme-mailcow
|
||||
# PrĂŒfen Sie nun die Logs auf eine Erneuerung
|
||||
docker-compose logs --tail=200 -f acme-mailcow
|
||||
docker compose logs --tail=200 -f acme-mailcow
|
||||
</code></pre></div>
|
||||
<p>Die Datei wird automatisch gelöscht.</p>
|
||||
<h3 id="validierungsfehler-und-wie-man-die-validierung-uberspringt">Validierungsfehler und wie man die Validierung ĂŒberspringt<a class="headerlink" href="#validierungsfehler-und-wie-man-die-validierung-uberspringt" title="Permanent link">¶</a></h3>
|
||||
<p>Sie können die <strong>IP-ĂberprĂŒfung</strong> ĂŒberspringen, indem Sie <code>SKIP_IP_CHECK=y</code> in mailcow.conf setzen (keine AnfĂŒhrungszeichen). Seien Sie gewarnt, dass eine Fehlkonfiguration dazu fĂŒhrt, dass Sie von Let's Encrypt eingeschrĂ€nkt werden! Dies ist vor allem fĂŒr Multi-IP-Setups nĂŒtzlich, bei denen der IP-Check die falsche Quell-IP-Adresse zurĂŒckgeben wĂŒrde. Aufgrund der Verwendung von dynamischen IPs fĂŒr acme-mailcow ist Source-NAT bei Neustarts nicht konsistent.</p>
|
||||
<p>Wenn Sie Probleme mit der "HTTP-Validierung" haben, aber Ihre IP-AdressbestĂ€tigung erfolgreich ist, verwenden Sie höchstwahrscheinlich firewalld, ufw oder eine andere Firewall, die Verbindungen von <code>br-mailcow</code> zu Ihrem externen Interface verbietet. Sowohl firewalld als auch ufw lassen dies standardmĂ€Ăig nicht zu. Es reicht oft nicht aus, diese Firewall-Dienste einfach zu stoppen. Sie mĂŒssen mailcow stoppen (<code>docker-compose down</code>), den Firewall-Dienst stoppen, die Ketten flushen und Docker neu starten.</p>
|
||||
<p>Wenn Sie Probleme mit der "HTTP-Validierung" haben, aber Ihre IP-AdressbestĂ€tigung erfolgreich ist, verwenden Sie höchstwahrscheinlich firewalld, ufw oder eine andere Firewall, die Verbindungen von <code>br-mailcow</code> zu Ihrem externen Interface verbietet. Sowohl firewalld als auch ufw lassen dies standardmĂ€Ăig nicht zu. Es reicht oft nicht aus, diese Firewall-Dienste einfach zu stoppen. Sie mĂŒssen mailcow stoppen (<code>docker compose down</code>), den Firewall-Dienst stoppen, die Ketten flushen und Docker neu starten.</p>
|
||||
<p>Sie können diese Validierungsmethode auch ĂŒberspringen, indem Sie <code>SKIP_HTTP_VERIFICATION=y</code> in "mailcow.conf" setzen. Seien Sie gewarnt, dass dies nicht zu empfehlen ist. In den meisten FĂ€llen wird die HTTP-ĂberprĂŒfung ĂŒbersprungen, um unbekannte NAT-Reflection-Probleme zu umgehen, die durch das Ignorieren dieser spezifischen Netzwerk-Fehlkonfiguration nicht gelöst werden. Wenn Sie Probleme haben, TLSA-EintrĂ€ge in der DNS-Ăbersicht innerhalb von mailcow zu generieren, haben Sie höchstwahrscheinlich Probleme mit NAT-Reflexion, die Sie beheben sollten.</p>
|
||||
<p>Wenn du einen SKIP_* Parameter geĂ€ndert hast, fĂŒhre <code>docker-compose up -d</code> aus, um deine Ănderungen zu ĂŒbernehmen.</p>
|
||||
<p>Wenn du einen SKIP_* Parameter geĂ€ndert hast, fĂŒhre <code>docker compose up -d</code> aus, um deine Ănderungen zu ĂŒbernehmen.</p>
|
||||
<h3 id="deaktivieren-sie-lets-encrypt">Deaktivieren Sie Let's Encrypt<a class="headerlink" href="#deaktivieren-sie-lets-encrypt" title="Permanent link">¶</a></h3>
|
||||
<h4 id="deaktivieren-sie-lets-encrypt-vollstandig">Deaktivieren Sie Let's Encrypt vollstĂ€ndig<a class="headerlink" href="#deaktivieren-sie-lets-encrypt-vollstandig" title="Permanent link">¶</a></h4>
|
||||
<p>Setzen Sie <code>SKIP_LETS_ENCRYPT=y</code> in "mailcow.conf" und erstellen Sie "acme-mailcow" neu, indem Sie <code>docker-compose up -d</code> ausfĂŒhren.</p>
|
||||
<p>Setzen Sie <code>SKIP_LETS_ENCRYPT=y</code> in "mailcow.conf" und erstellen Sie "acme-mailcow" neu, indem Sie <code>docker compose up -d</code> ausfĂŒhren.</p>
|
||||
<h4 id="alle-namen-auer-mailcow_hostname-uberspringen">Alle Namen auĂer ${MAILCOW_HOSTNAME} ĂŒberspringen<a class="headerlink" href="#alle-namen-auer-mailcow_hostname-uberspringen" title="Permanent link">¶</a></h4>
|
||||
<p>FĂŒgen Sie <code>ONLY_MAILCOW_HOSTNAME=y</code> zu "mailcow.conf" hinzu und erstellen Sie "acme-mailcow" neu, indem Sie <code>docker-compose up -d</code> ausfĂŒhren.</p>
|
||||
<p>FĂŒgen Sie <code>ONLY_MAILCOW_HOSTNAME=y</code> zu "mailcow.conf" hinzu und erstellen Sie "acme-mailcow" neu, indem Sie <code>docker compose up -d</code> ausfĂŒhren.</p>
|
||||
<h3 id="das-lets-encrypt-subjectaltname-limit-von-100-domains">Das Let's Encrypt subjectAltName-Limit von 100 Domains<a class="headerlink" href="#das-lets-encrypt-subjectaltname-limit-von-100-domains" title="Permanent link">¶</a></h3>
|
||||
<p>Let's Encrypt hat derzeit <a href="https://letsencrypt.org/docs/rate-limits/">ein Limit von 100 Domainnamen pro Zertifikat</a>.</p>
|
||||
<p>StandardmĂ€Ăig erstellt "acme-mailcow" ein einzelnes SAN-Zertifikat fĂŒr alle validierten Domains
|
||||
|
@ -2653,7 +2670,7 @@ Dies bietet beste KompatibilitÀt, bedeutet aber, dass das Let's Encrypt-Limit
|
|||
<li>Begrenzungen: Ein Zertifikatsname <code>ADDITIONAL_SAN=test.example.com</code> wird als SAN zum Hauptzertifikat hinzugefĂŒgt. Ein separates Zertifikat/SchlĂŒsselpaar wird fĂŒr dieses Format <strong>nicht</strong> erzeugt.</li>
|
||||
</ul>
|
||||
<p>Postfix, Dovecot und Nginx werden dann diese Zertifikate mit SNI bedienen.</p>
|
||||
<p>Setzen Sie <code>ENABLE_SSL_SNI=y</code> in "mailcow.conf" und erstellen Sie "acme-mailcow" durch AusfĂŒhren von <code>docker-compose up -d</code>.</p>
|
||||
<p>Setzen Sie <code>ENABLE_SSL_SNI=y</code> in "mailcow.conf" und erstellen Sie "acme-mailcow" durch AusfĂŒhren von <code>docker compose up -d</code>.</p>
|
||||
<div class="admonition warning">
|
||||
<p class="admonition-title">Warning</p>
|
||||
<p>Nicht alle Clients unterstĂŒtzen SNI, <a href="https://wiki.dovecot.org/SSL/SNIClientSupport">siehe Dovecot Dokumentation</a> oder <a href="https://en.wikipedia.org/wiki/Server_Name_Indication#Support">Wikipedia</a>.
|
||||
|
@ -2683,15 +2700,15 @@ docker restart $(docker ps -qaf name=dovecot-mailcow)
|
|||
<p>Siehe <a href="../firststeps-rp#optional-post-hook-skript-fur-nicht-mailcow-acme-clients">Post-Hook-Skript fĂŒr Nicht-Mailcow-ACME-Clients</a> fĂŒr ein vollstĂ€ndiges Beispielskript.</p>
|
||||
<h3 id="test-gegen-das-acme-verzeichnis">Test gegen das ACME-Verzeichnis<a class="headerlink" href="#test-gegen-das-acme-verzeichnis" title="Permanent link">¶</a></h3>
|
||||
<p>Bearbeiten Sie <code>mailcow.conf</code> und fĂŒgen Sie <code>LE_STAGING=y</code> hinzu.</p>
|
||||
<p>FĂŒhren Sie <code>docker-compose up -d</code> aus, um Ihre Ănderungen zu aktivieren.</p>
|
||||
<p>FĂŒhren Sie <code>docker compose up -d</code> aus, um Ihre Ănderungen zu aktivieren.</p>
|
||||
<h3 id="benutzerdefinierte-verzeichnis-url">Benutzerdefinierte Verzeichnis-URL<a class="headerlink" href="#benutzerdefinierte-verzeichnis-url" title="Permanent link">¶</a></h3>
|
||||
<p>Editieren Sie <code>mailcow.conf</code> und fĂŒgen Sie die entsprechende Verzeichnis-URL in die neue Variable <code>DIRECTORY_URL</code> ein:</p>
|
||||
<div class="highlight"><pre><span></span><code>DIRECTORY_URL=https://acme-custom-v9000.api.letsencrypt.org/directory
|
||||
</code></pre></div>
|
||||
<p>Sie können <code>LE_STAGING</code> nicht mit <code>DIRECTORY_URL</code> verwenden. Wenn beide gesetzt sind, wird nur <code>LE_STAGING</code> verwendet.</p>
|
||||
<p>FĂŒhren Sie <code>docker-compose up -d</code> aus, um Ihre Ănderungen zu aktivieren.</p>
|
||||
<p>FĂŒhren Sie <code>docker compose up -d</code> aus, um Ihre Ănderungen zu aktivieren.</p>
|
||||
<h3 id="uberprufen-sie-ihre-konfiguration">ĂberprĂŒfen Sie Ihre Konfiguration<a class="headerlink" href="#uberprufen-sie-ihre-konfiguration" title="Permanent link">¶</a></h3>
|
||||
<p>FĂŒhren Sie <code>docker-compose logs acme-mailcow</code> aus, um herauszufinden, warum eine Validierung fehlschlĂ€gt.</p>
|
||||
<p>FĂŒhren Sie <code>docker compose logs acme-mailcow</code> aus, um herauszufinden, warum eine Validierung fehlschlĂ€gt.</p>
|
||||
<p>Um zu ĂŒberprĂŒfen, ob nginx das richtige Zertifikat verwendet, benutzen Sie einfach einen Browser Ihrer Wahl und ĂŒberprĂŒfen Sie das angezeigte Zertifikat.</p>
|
||||
<p>Um das von Postfix, Dovecot und Nginx verwendete Zertifikat zu ĂŒberprĂŒfen, verwenden wir <code>openssl</code>:</p>
|
||||
<div class="highlight"><pre><span></span><code># Verbindung ĂŒber SMTP (587)
|
||||
|
@ -2711,7 +2728,7 @@ bash helper-scripts/expiry-dates.sh
|
|||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-07-17 17:01:03</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2827,7 +2844,7 @@ bash helper-scripts/expiry-dates.sh
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2572,7 +2589,7 @@
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2783,7 +2800,7 @@ Einzelheiten:
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
|
@ -69,6 +69,23 @@
|
|||
</div>
|
||||
<div data-md-component="announce">
|
||||
|
||||
<aside class="md-banner">
|
||||
<div class="md-banner__inner md-grid md-typeset">
|
||||
|
||||
<button class="md-banner__button md-icon" aria-label="Nicht mehr anzeigen">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||||
</button>
|
||||
|
||||
|
||||
<center><h4>Alle Befehle sind gemÀà der Syntax des Docker Compose Plugins beschrieben.<br>
|
||||
All commands are written according to the Docker Compose Plugin syntax.</h4></center>
|
||||
|
||||
</div>
|
||||
|
||||
<script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script>
|
||||
|
||||
</aside>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -2799,14 +2816,14 @@ iface eth0 inet6 static
|
|||
<p>Starten Sie die Schnittstelle neu, um die Einstellungen zu ĂŒbernehmen.
|
||||
Sie können auĂerdem die <a href="https://wiki.hetzner.de/index.php/Cloud_IP_static/en#disable_cloud-init_network_changes">cloud-init NetzwerkĂ€nderungen deaktivieren.</a></p>
|
||||
<h2 id="mtu">MTU<a class="headerlink" href="#mtu" title="Permanent link">¶</a></h2>
|
||||
<p>Besonders relevant fĂŒr OpenStack-Benutzer: ĂberprĂŒfen Sie Ihre MTU und setzen Sie sie entsprechend in docker-compose.yml. Siehe <strong>4.1</strong> in <a href="../../i_u_m/i_u_m_install/">unseren Installationsanleitungen</a>.</p>
|
||||
<p>Besonders relevant fĂŒr OpenStack-Benutzer: ĂberprĂŒfen Sie Ihre MTU und setzen Sie sie entsprechend in docker compose.yml. Siehe <strong>4.1</strong> in <a href="../../i_u_m/i_u_m_install/">unseren Installationsanleitungen</a>.</p>
|
||||
|
||||
<hr>
|
||||
<div class="md-source-file">
|
||||
<small>
|
||||
|
||||
Letztes Update:
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-06-01 15:39:27</span>
|
||||
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_datetime">2022-08-31 14:45:46</span>
|
||||
|
||||
|
||||
</small>
|
||||
|
@ -2922,7 +2939,7 @@ Sie können auĂerdem die <a href="https://wiki.hetzner.de/index.php/Cloud_IP_st
|
|||
<div class="md-dialog__inner md-typeset"></div>
|
||||
</div>
|
||||
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking", "announce.dismiss"], "search": "../../../assets/javascripts/workers/search.ecf98df9.min.js", "translations": {"clipboard.copied": "In Zwischenablage kopiert", "clipboard.copy": "In Zwischenablage kopieren", "search.config.lang": "de", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Suche", "search.result.more.one": "1 weiteres Suchergebnis auf dieser Seite", "search.result.more.other": "# weitere Suchergebnisse auf dieser Seite", "search.result.none": "Keine Suchergebnisse", "search.result.one": "1 Suchergebnis", "search.result.other": "# Suchergebnisse", "search.result.placeholder": "Suchbegriff eingeben", "search.result.term.missing": "Es fehlt", "select.version.title": "Version ausw\u00e4hlen"}}</script>
|
||||
|
||||
|
||||
<script src="../../../assets/javascripts/bundle.9c69f0bc.min.js"></script>
|
||||
|
|
Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geÀndert wurden Mehr anzeigen
Laden âŠ
Tabelle hinzufĂŒgen
In neuem Issue referenzieren