mirror of
https://github.com/docker-mailserver/docker-mailserver.git
synced 2024-01-19 02:48:50 +00:00
a0ee472501
"Brief" summary/overview of changes. See the PR discussion or individual commits from the PR for more details. --- Only applies to the `docs/content/**` content (_and `setup` command_). `target/` and `test/` can be normalized at a later date. * Normalize to `example.com` - Domains normalized to `example.com`: `mywebserver.com`, `myserver.tld`, `domain.com`, `domain.tld`, `mydomain.net`, `my-domain.tld`, `my-domain.com`, `example.org`, `whoami.com`. - Alternative domains normalized to `not-example.com`: `otherdomain.com`, `otherdomain.tld`, `domain2.tld`, `mybackupmx.com`, `whoareyou.org`. - Email addresses normalized to `admin@example.com` (in `ssl.md`): `foo@bar.com`, `yourcurrentemail@gmail.com`, `email@email.com`, `admin@domain.tld`. - Email addresses normalized to `external-account@gmail.com`: `bill@gates321boom.com`, `external@gmail.com`, `myemail@gmail.com`, `real-email-address@external-domain.com`. - **`faq.md`:** A FAQ entry title with `sample.domain.com` changed to `subdomain.example.com`. - **`mail-fetchmail.md`:** Config examples with FQDNs for `imap`/`pop3` used `example.com` domain for a third-party, changed to `gmail.com` as more familiar third-party/external MTA. * Normalize config volume path - Normalizing local config path references to `./docker-data/dms/config/`: `./config/`, `config/`, \``config`\`, `/etc/` (_volume mount src path prefix_). - Normalize DMS volume paths to `docker-data/dms/mail-{data,state,log}`: `./mail`, `./mail-state` `./data/mail`, `./data/state`, `./data/logs`, `./data/maildata`, `./data/mailstate`, `./data/maillogs`, (_dropped/converted data volumes: `maildata`, `mailstate`_). - Other docker images also adopt the `docker-data/{service name}/` prefix. * `ssl.md` - Use `dms/custom-certs` where appropriate. * Apply normalizations to README and example `docker-compose.yml` --- Common terms, sometimes interchangeably used or now invalid depending on context: `mail`, `mail container`, `mail server`, `mail-server`, `mailserver`,`docker-mailserver`, `Docker Mailserver`. Rough transformations applied to most matches (_conditionally, depending on context_): - 'Docker Mailserver' => '`docker-mailserver`' - 'mail container' => '`docker-mailserver`' (_optionally retaining ' container'_) - 'mail server' => 'mail-server' / '`docker-mailserver`' - 'mail-server' => '`docker-mailserver`' - 'mailserver' => 'mail-server' / '`docker-mailserver`' Additionally I checked `docker run` (_plus `exec`, `logs`, etc, sub-commands_) and `docker-compose` commands. Often finding usage of `mail` instead of the expected `mailserver` Additionally changes `mailserver` hostname in k8s to `mail` to align with other non-k8s examples. --- * drive-by revisions Mostly minor revisions or improvements to docs that aren't related to normalization effort.
162 lines
7 KiB
YAML
162 lines
7 KiB
YAML
# Site specific:
|
|
site_name: 'Docker Mailserver'
|
|
site_description: 'A fullstack but simple mail-server (SMTP, IMAP, LDAP, Antispam, Antivirus, etc.) using Docker.'
|
|
site_author: 'docker-mailserver (Github Organization)'
|
|
copyright: '<p>© <a href="https://github.com/docker-mailserver"><em>Docker Mailserver Organization</em></a><br/><span>This project is licensed under the MIT license.</span></p>'
|
|
|
|
# Project source specific:
|
|
repo_name: 'docker-mailserver'
|
|
repo_url: 'https://github.com/docker-mailserver/docker-mailserver'
|
|
|
|
# All docs `edit` button will go to this subpath of the `repo_url`:
|
|
# For versioned docs, this may be a little misleading for a user not viewing the `edge` docs which match the `master` branch.
|
|
edit_uri: 'edit/master/docs/content'
|
|
|
|
# The main docs content lives here, any files will be copied over to the deployed version,
|
|
# unless the file or directory name is prefixed with a `.`
|
|
docs_dir: 'content/'
|
|
|
|
# Canonical URL (HTML content instructs search engines that this is where the preferred version of the docs is located, useful when we have duplicate content like versioned docs)
|
|
# https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Choosing_between_www_and_non-www_URLs#using_%3Clink_relcanonical%3E
|
|
# Also required for `sitemap.xml` generation at build time; which bots use to assist them crawling and indexing a website,
|
|
# the `mkdocs-material` 'Instant Navigation' feature utilizes the sitemap data to work.
|
|
site_url: 'https://docker-mailserver.github.io/docker-mailserver/edge/'
|
|
|
|
# Anything related to the `mkdocs-material` theme config goes here:
|
|
theme:
|
|
name: 'material'
|
|
custom_dir: 'overrides/'
|
|
favicon: assets/logo/favicon-32x32.png
|
|
logo: assets/logo/dmo-logo-white.min.svg
|
|
icon:
|
|
repo: fontawesome/brands/github
|
|
features:
|
|
- navigation.tabs
|
|
- navigation.top
|
|
- navigation.expand
|
|
- navigation.instant
|
|
palette:
|
|
# Light mode
|
|
- media: '(prefers-color-scheme: light)'
|
|
scheme: default
|
|
primary: indigo
|
|
accent: indigo
|
|
toggle:
|
|
icon: material/weather-night
|
|
name: Switch to dark mode
|
|
# Dark mode
|
|
- media: '(prefers-color-scheme: dark)'
|
|
scheme: slate
|
|
primary: indigo
|
|
accent: blue
|
|
toggle:
|
|
icon: material/weather-sunny
|
|
name: Switch to light mode
|
|
|
|
# We make some minor style adjustments or resolve issues that upstream `mkdocs-material` would not accept a PR for:
|
|
extra_css:
|
|
- assets/css/customizations.css
|
|
|
|
# We do not use `mike`, but enabling this will enable the version selector UI.
|
|
# It references `versions.json` on `gh-pages` branch,
|
|
# however we have a basic setup that only matches `version` to a subdirectory.
|
|
extra:
|
|
version:
|
|
provider: mike
|
|
|
|
# Various extensions for `mkdocs` are enabled and configured here to extend supported markdown syntax/features.
|
|
markdown_extensions:
|
|
- toc:
|
|
anchorlink: true
|
|
- abbr
|
|
- attr_list
|
|
- admonition
|
|
- pymdownx.details
|
|
- pymdownx.superfences
|
|
- pymdownx.magiclink
|
|
- pymdownx.inlinehilite
|
|
- pymdownx.tilde
|
|
- pymdownx.emoji:
|
|
emoji_index: !!python/name:materialx.emoji.twemoji
|
|
emoji_generator: !!python/name:materialx.emoji.to_svg
|
|
- pymdownx.highlight:
|
|
extend_pygments_lang:
|
|
- name: yml
|
|
lang: yaml
|
|
- name: cf
|
|
lang: cfg
|
|
- name: conf
|
|
lang: cfg
|
|
- name: env
|
|
lang: properties
|
|
# Not helpful with Python Pygments lexer highlighting, but we might change to a JS highlighter in future
|
|
# Ideally, this type of codefence might also have word-wrap enabled (CSS: {white-space: pre-wrap})
|
|
- name: log
|
|
lang: shell-session
|
|
- name: fetchmailrc
|
|
lang: txt
|
|
- name: caddyfile
|
|
lang: txt
|
|
|
|
# Hard-coded navigation list. Key(UI label): Value(relative filepath from `docs_dir`).
|
|
# - If referencing a file more than once, the URLs will all point to the nav hierarchy of the last file reference entry. That usually breaks UX, try avoid it.
|
|
# - The top-level elements are presented as tabs (due to `theme.features.navigation.tabs`).
|
|
# - Nested elements appear in the sidebar (left) of each tabs page.
|
|
# - 3rd level and beyond are automatically expanded in the sidebar instead of collapsed (due to `theme.features.navigation.expand`)
|
|
nav:
|
|
- 'Home': index.md
|
|
- 'Introduction': introduction.md
|
|
- 'Configuration':
|
|
- 'Your Best Friend setup.sh': config/setup.sh.md
|
|
- 'Environment Variables': config/environment.md
|
|
- 'User Management':
|
|
- 'Accounts': config/user-management/accounts.md
|
|
- 'Aliases': config/user-management/aliases.md
|
|
- 'Best Practices':
|
|
- 'DKIM': config/best-practices/dkim.md
|
|
- 'DMARC': config/best-practices/dmarc.md
|
|
- 'SPF': config/best-practices/spf.md
|
|
- 'Auto-discovery': config/best-practices/autodiscover.md
|
|
- 'Security':
|
|
- 'Understanding the Ports': config/security/understanding-the-ports.md
|
|
- 'SSL/TLS': config/security/ssl.md
|
|
- 'Fail2Ban': config/security/fail2ban.md
|
|
- 'Mail Encryption' : config/security/mail_crypt.md
|
|
- 'Troubleshooting':
|
|
- 'Debugging': config/troubleshooting/debugging.md
|
|
- 'Mail Delivery with POP3': config/pop3.md
|
|
- 'Advanced Configuration':
|
|
- 'Optional Configuration': config/advanced/optional-config.md
|
|
- 'Maintenance':
|
|
- 'Update and Cleanup': config/advanced/maintenance/update-and-cleanup.md
|
|
- 'Override the Default Configs':
|
|
- 'Dovecot': config/advanced/override-defaults/dovecot.md
|
|
- 'Postfix': config/advanced/override-defaults/postfix.md
|
|
- 'Modifications via Script': config/advanced/override-defaults/user-patches.md
|
|
- 'LDAP Authentication': config/advanced/auth-ldap.md
|
|
- 'Email Filtering with Sieve': config/advanced/mail-sieve.md
|
|
- 'Email Gathering with Fetchmail': config/advanced/mail-fetchmail.md
|
|
- 'Email Forwarding':
|
|
- 'Relay Hosts': config/advanced/mail-forwarding/relay-hosts.md
|
|
- 'AWS SES': config/advanced/mail-forwarding/aws-ses.md
|
|
- 'Full-Text Search': config/advanced/full-text-search.md
|
|
- 'Kubernetes': config/advanced/kubernetes.md
|
|
- 'IPv6': config/advanced/ipv6.md
|
|
- 'Podman': config/advanced/podman.md
|
|
- 'Examples':
|
|
- 'Tutorials':
|
|
- 'Basic Installation': examples/tutorials/basic-installation.md
|
|
- 'Mail-Server behind a Proxy': examples/tutorials/mailserver-behind-proxy.md
|
|
- 'Blog Posts': examples/tutorials/blog-posts.md
|
|
- 'Use Cases':
|
|
- 'Forward-Only Mail-Server with LDAP': examples/uses-cases/forward-only-mailserver-with-ldap-authentication.md
|
|
- 'Customize IMAP Folders': examples/uses-cases/imap-folders.md
|
|
- 'FAQ' : faq.md
|
|
- 'Contributing':
|
|
- 'Issues and Pull Requests': contributing/issues-and-pull-requests.md
|
|
- 'Coding Style': contributing/coding-style.md
|
|
- 'Tests': contributing/tests.md
|
|
- 'Documentation': contributing/documentation.md
|
|
- 'DockerHub': https://hub.docker.com/r/mailserver/docker-mailserver/
|
|
- 'GHCR': https://github.com/docker-mailserver/docker-mailserver/pkgs/container/docker-mailserver
|