You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by rc...@apache.org on 2021/10/12 03:34:20 UTC

[james-project] branch master updated: Split the distributed server documentation

This is an automated email from the ASF dual-hosted git repository.

rcordier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git


The following commit(s) were added to refs/heads/master by this push:
     new 3295e78  Split the distributed server documentation
3295e78 is described below

commit 3295e78628953faeeb2eadd4038e56d901e94c24
Author: Benoit TELLIER <bt...@linagora.com>
AuthorDate: Tue Oct 12 10:34:12 2021 +0700

    Split the distributed server documentation
---
 docs/modules/servers/assets/images/BlobStore.png   | Bin 132760 -> 0 bytes
 docs/modules/servers/assets/images/IMAP_board.png  | Bin 215231 -> 0 bytes
 docs/modules/servers/assets/images/JMAP_board.png  | Bin 127304 -> 0 bytes
 docs/modules/servers/assets/images/JVM_board.png   | Bin 152770 -> 0 bytes
 docs/modules/servers/assets/images/MATCHER.png     | Bin 135315 -> 0 bytes
 .../servers/assets/images/preload-dashboards.png   | Bin 59900 -> 0 bytes
 .../images/remote-delivery-error-handling.png      | Bin 64745 -> 0 bytes
 .../servers/assets/images/server-components.png    | Bin 97620 -> 0 bytes
 .../assets/images/specialized-instances.png        | Bin 45878 -> 0 bytes
 docs/modules/servers/assets/images/storage.png     | Bin 129939 -> 0 bytes
 docs/modules/servers/assets/images/webAdmin.png    | Bin 49488 -> 0 bytes
 docs/modules/servers/nav.adoc                      |  56 --------------
 .../servers/pages/distributed/configure/index.adoc |  63 ---------------
 docs/modules/servers/pages/index.adoc              |   2 +-
 server/apps/distributed-app/docs/README.md         |  61 +++++++++++++++
 .../distributed-app/docs/antora-playbook-local.yml |  31 ++++++++
 server/apps/distributed-app/docs/antora.yml        |   6 ++
 .../docs/modules/ROOT/assets/images/BlobStore.png  |   0
 .../docs/modules/ROOT/assets/images/IMAP_board.png |   0
 .../docs/modules/ROOT/assets/images/JMAP_board.png |   0
 .../docs/modules/ROOT/assets/images/JVM_board.png  |   0
 .../docs/modules/ROOT/assets/images/MATCHER.png    |   0
 .../assets/images/james-hexagons-extensions.png    | Bin
 .../ROOT/assets/images/preload-dashboards.png      |   0
 .../images/remote-delivery-error-handling.png      |   0
 .../ROOT/assets/images/server-components.png       |   0
 .../ROOT/assets/images/specialized-instances.png   |   0
 .../docs/modules/ROOT/assets/images/storage.png    |   0
 .../docs/modules/ROOT/assets/images/webAdmin.png   |   0
 .../distributed-app/docs/modules/ROOT/nav.adoc     |  56 ++++++++++++++
 .../pages}/architecture/consistency-model.adoc     |   8 +-
 .../modules/ROOT/pages}/architecture/index.adoc    |  20 ++---
 .../pages}/architecture/specialized-instances.adoc |   6 +-
 .../modules/ROOT/pages}/configure/batchsizes.adoc  |   0
 .../modules/ROOT/pages}/configure/blobstore.adoc   |   2 +-
 .../modules/ROOT/pages}/configure/cassandra.adoc   |   0
 .../ROOT/pages}/configure/collecting-contacts.adoc |   0
 .../ROOT/pages}/configure/collecting-events.adoc   |   0
 .../docs/modules/ROOT/pages}/configure/dns.adoc    |   0
 .../modules/ROOT/pages}/configure/domainlist.adoc  |   0
 .../docs/modules/ROOT/pages}/configure/dsn.adoc    |   8 +-
 .../ROOT/pages}/configure/elasticsearch.adoc       |   2 +-
 .../modules/ROOT/pages}/configure/extensions.adoc  |   2 +-
 .../modules/ROOT/pages}/configure/healthcheck.adoc |   0
 .../docs/modules/ROOT/pages}/configure/imap.adoc   |   0
 .../docs/modules/ROOT/pages/configure/index.adoc   |  63 +++++++++++++++
 .../docs/modules/ROOT/pages}/configure/jmap.adoc   |   0
 .../docs/modules/ROOT/pages}/configure/jmx.adoc    |   0
 .../modules/ROOT/pages}/configure/listeners.adoc   |   4 +-
 .../ROOT/pages}/configure/mailetcontainer.adoc     |   8 +-
 .../modules/ROOT/pages}/configure/mailets.adoc     |   0
 .../ROOT/pages}/configure/mailrepositorystore.adoc |   4 +-
 .../modules/ROOT/pages}/configure/matchers.adoc    |   0
 .../docs/modules/ROOT/pages}/configure/pop3.adoc   |   2 +-
 .../modules/ROOT/pages}/configure/rabbitmq.adoc    |   0
 .../pages}/configure/recipientrewritetable.adoc    |   2 +-
 .../configure/remote-delivery-error-handling.adoc  |   4 +-
 .../modules/ROOT/pages}/configure/smtp-hooks.adoc  |   4 +-
 .../docs/modules/ROOT/pages}/configure/smtp.adoc   |   4 +-
 .../docs/modules/ROOT/pages}/configure/spam.adoc   |   2 +-
 .../docs/modules/ROOT/pages}/configure/ssl.adoc    |   4 +-
 .../docs/modules/ROOT/pages}/configure/tika.adoc   |   0
 .../ROOT/pages}/configure/usersrepository.adoc     |   0
 .../docs/modules/ROOT/pages}/configure/vault.adoc  |   8 +-
 .../modules/ROOT/pages}/configure/webadmin.adoc    |   2 +-
 .../docs/modules/ROOT/pages}/extending/index.adoc  |  10 +--
 .../ROOT/pages}/extending/mail-processing.adoc     |   0
 .../ROOT/pages}/extending/mailbox-listeners.adoc   |   2 +-
 .../modules/ROOT/pages}/extending/smtp-hooks.adoc  |   2 +-
 .../ROOT/pages}/extending/webadmin-routes.adoc     |   2 +-
 .../docs/modules/ROOT/pages/index.adoc             |  16 ++--
 .../docs/modules/ROOT/pages}/objectives.adoc       |   4 +-
 .../ROOT/pages}/operate/cassandra-migration.adoc   |   4 +-
 .../docs/modules/ROOT/pages}/operate/cli.adoc      |   0
 .../docs/modules/ROOT/pages}/operate/guide.adoc    |  86 ++++++++++-----------
 .../docs/modules/ROOT/pages}/operate/index.adoc    |  14 ++--
 .../docs/modules/ROOT/pages}/operate/logging.adoc  |   0
 .../docs/modules/ROOT/pages}/operate/metrics.adoc  |   0
 .../modules/ROOT/pages}/operate/migrating.adoc     |  12 +--
 .../docs/modules/ROOT/pages}/operate/webadmin.adoc |  18 ++---
 .../docs/modules/ROOT/pages}/run-docker.adoc       |   0
 .../docs/modules/ROOT/pages}/run.adoc              |   0
 .../ROOT}/partials/AddDeliveredToHeader.adoc       |   0
 .../docs/modules/ROOT}/partials/AddFooter.adoc     |   0
 .../ROOT}/partials/AddHabeasWarrantMark.adoc       |   0
 .../modules/ROOT}/partials/AddSubjectPrefix.adoc   |   0
 .../docs/modules/ROOT}/partials/All.adoc           |   0
 .../ROOT}/partials/AmqpForwardAttribute.adoc       |   0
 .../modules/ROOT}/partials/AtLeastPriority.adoc    |   0
 .../docs/modules/ROOT}/partials/AtMost.adoc        |   0
 .../modules/ROOT}/partials/AtMostPriority.adoc     |   0
 .../ROOT}/partials/AttachmentFileNameIs.adoc       |   0
 .../docs/modules/ROOT}/partials/Bounce.adoc        |   0
 .../docs/modules/ROOT}/partials/ClamAVScan.adoc    |   0
 .../modules/ROOT}/partials/ClassifyBounce.adoc     |   0
 .../modules/ROOT}/partials/CommandForListserv.adoc |   0
 .../ROOT}/partials/CommandListservMatcher.adoc     |   0
 .../ROOT}/partials/CompareNumericHeaderValue.adoc  |   0
 .../modules/ROOT}/partials/ContactExtractor.adoc   |   0
 .../docs/modules/ROOT}/partials/ConvertTo7Bit.adoc |   0
 .../docs/modules/ROOT}/partials/DKIMSign.adoc      |   0
 .../docs/modules/ROOT}/partials/DKIMVerify.adoc    |   0
 .../docs/modules/ROOT}/partials/DSNBounce.adoc     |   0
 .../partials/ExtractMDNOriginalJMAPMessageId.adoc  |   0
 .../docs/modules/ROOT}/partials/FetchedFrom.adoc   |   0
 .../modules/ROOT}/partials/FileRegexMatcher.adoc   |   0
 .../docs/modules/ROOT}/partials/Forward.adoc       |   0
 .../modules/ROOT}/partials/FromRepository.adoc     |   0
 .../docs/modules/ROOT}/partials/HasAttachment.adoc |   0
 .../docs/modules/ROOT}/partials/HasException.adoc  |   0
 .../ROOT}/partials/HasHabeasWarrantMark.adoc       |   0
 .../docs/modules/ROOT}/partials/HasHeader.adoc     |   0
 .../ROOT}/partials/HasHeaderWithPrefix.adoc        |   0
 .../modules/ROOT}/partials/HasMailAttribute.adoc   |   0
 .../ROOT}/partials/HasMailAttributeWithValue.adoc  |   0
 .../partials/HasMailAttributeWithValueRegex.adoc   |   0
 .../docs/modules/ROOT}/partials/HasMimeType.adoc   |   0
 .../ROOT}/partials/HasMimeTypeAnySubPart.adoc      |   0
 .../ROOT}/partials/HasMimeTypeParameter.adoc       |   0
 .../docs/modules/ROOT}/partials/HasPriority.adoc   |   0
 .../docs/modules/ROOT}/partials/HeadersToHTTP.adoc |   0
 .../docs/modules/ROOT}/partials/HostIs.adoc        |   0
 .../docs/modules/ROOT}/partials/HostIsLocal.adoc   |   0
 .../docs/modules/ROOT}/partials/ICALToHeader.adoc  |   0
 .../ROOT}/partials/ICALToJsonAttribute.adoc        |   0
 .../docs/modules/ROOT}/partials/ICSSanitizer.adoc  |   0
 .../modules/ROOT}/partials/ICalendarParser.adoc    |   0
 .../modules/ROOT}/partials/InSpammerBlacklist.adoc |   0
 .../modules/ROOT}/partials/IsMarkedAsSpam.adoc     |   0
 .../docs/modules/ROOT}/partials/IsOverQuota.adoc   |   0
 .../partials/IsRemoteDeliveryPermanentError.adoc   |   0
 .../partials/IsRemoteDeliveryTemporaryError.adoc   |   0
 .../modules/ROOT}/partials/IsSMIMEEncrypted.adoc   |   0
 .../docs/modules/ROOT}/partials/IsSMIMESigned.adoc |   0
 .../modules/ROOT}/partials/IsSenderInRRTLoop.adoc  |   0
 .../modules/ROOT}/partials/IsSingleRecipient.adoc  |   0
 .../ROOT}/partials/IsX509CertificateSubject.adoc   |   0
 .../docs/modules/ROOT}/partials/LocalDelivery.adoc |   0
 .../docs/modules/ROOT}/partials/LogMessage.adoc    |   0
 .../partials/MailAttributesListToMimeHeaders.adoc  |   0
 .../partials/MailAttributesToMimeHeaders.adoc      |   0
 .../modules/ROOT}/partials/ManageSieveMailet.adoc  |   0
 .../docs/modules/ROOT}/partials/MetricsMailet.adoc |   0
 .../modules/ROOT}/partials/MimeDecodingMailet.adoc |   0
 .../docs/modules/ROOT}/partials/NESSpamCheck.adoc  |   0
 .../modules/ROOT}/partials/NotifyPostmaster.adoc   |   0
 .../docs/modules/ROOT}/partials/NotifySender.adoc  |   0
 .../docs/modules/ROOT}/partials/Null.adoc          |   0
 .../docs/modules/ROOT}/partials/OnlyText.adoc      |   0
 .../modules/ROOT}/partials/PostmasterAlias.adoc    |   0
 .../docs/modules/ROOT}/partials/RandomStoring.adoc |   0
 .../modules/ROOT}/partials/RecipientDomainIs.adoc  |   0
 .../docs/modules/ROOT}/partials/RecipientIs.adoc   |   0
 .../modules/ROOT}/partials/RecipientIsLocal.adoc   |   0
 .../modules/ROOT}/partials/RecipientIsRegex.adoc   |   0
 .../ROOT}/partials/RecipientRewriteTable.adoc      |   0
 .../ROOT}/partials/RecipientToLowerCase.adoc       |   0
 .../modules/ROOT}/partials/RecoverAttachment.adoc  |   0
 .../docs/modules/ROOT}/partials/Redirect.adoc      |   0
 .../docs/modules/ROOT}/partials/RelayLimit.adoc    |   0
 .../ROOT}/partials/RemoteAddrInNetwork.adoc        |   0
 .../ROOT}/partials/RemoteAddrNotInNetwork.adoc     |   0
 .../modules/ROOT}/partials/RemoteDelivery.adoc     |   0
 .../partials/RemoteDeliveryFailedWithSMTPCode.adoc |   0
 .../ROOT}/partials/RemoveAllMailAttributes.adoc    |   0
 .../ROOT}/partials/RemoveMailAttribute.adoc        |   0
 .../modules/ROOT}/partials/RemoveMimeHeader.adoc   |   0
 .../ROOT}/partials/RemoveMimeHeaderByPrefix.adoc   |   0
 .../modules/ROOT}/partials/ReplaceContent.adoc     |   0
 .../docs/modules/ROOT}/partials/Resend.adoc        |   0
 .../ROOT}/partials/SMIMECheckSignature.adoc        |   0
 .../docs/modules/ROOT}/partials/SMIMEDecrypt.adoc  |   0
 .../docs/modules/ROOT}/partials/SMIMESign.adoc     |   0
 .../modules/ROOT}/partials/SMTPAuthSuccessful.adoc |   0
 .../modules/ROOT}/partials/SMTPAuthUserIs.adoc     |   0
 .../modules/ROOT}/partials/SMTPIsAuthNetwork.adoc  |   0
 .../docs/modules/ROOT}/partials/SPF.adoc           |   0
 .../modules/ROOT}/partials/SenderDomainIs.adoc     |   0
 .../docs/modules/ROOT}/partials/SenderHostIs.adoc  |   0
 .../modules/ROOT}/partials/SenderHostIsLocal.adoc  |   0
 .../modules/ROOT}/partials/SenderInFakeDomain.adoc |   0
 .../docs/modules/ROOT}/partials/SenderIs.adoc      |   0
 .../docs/modules/ROOT}/partials/SenderIsLocal.adoc |   0
 .../docs/modules/ROOT}/partials/SenderIsNull.adoc  |   0
 .../docs/modules/ROOT}/partials/SenderIsRegex.adoc |   0
 .../docs/modules/ROOT}/partials/SentByJmap.adoc    |   0
 .../docs/modules/ROOT}/partials/SentByMailet.adoc  |   0
 .../modules/ROOT}/partials/SerialiseToHTTP.adoc    |   0
 .../docs/modules/ROOT}/partials/ServerTime.adoc    |   0
 .../modules/ROOT}/partials/SetMailAttribute.adoc   |   0
 .../docs/modules/ROOT}/partials/SetMimeHeader.adoc |   0
 .../docs/modules/ROOT}/partials/Sieve.adoc         |   0
 .../docs/modules/ROOT}/partials/Sign.adoc          |   0
 .../modules/ROOT}/partials/SizeGreaterThan.adoc    |   0
 .../docs/modules/ROOT}/partials/SpamAssassin.adoc  |   0
 .../modules/ROOT}/partials/StripAttachment.adoc    |   0
 .../docs/modules/ROOT}/partials/SubjectIs.adoc     |   0
 .../modules/ROOT}/partials/SubjectStartsWith.adoc  |   0
 .../partials/TextCalendarBodyToAttachment.adoc     |   0
 .../docs/modules/ROOT}/partials/ToProcessor.adoc   |   0
 .../docs/modules/ROOT}/partials/ToRepository.adoc  |   0
 .../ROOT}/partials/ToSenderDomainRepository.adoc   |   0
 .../modules/ROOT}/partials/ToSenderFolder.adoc     |   0
 .../docs/modules/ROOT}/partials/TooManyLines.adoc  |   0
 .../modules/ROOT}/partials/TooManyRecipients.adoc  |   0
 .../docs/modules/ROOT}/partials/UnwrapText.adoc    |   0
 .../ROOT}/partials/UseHeaderRecipients.adoc        |   0
 .../docs/modules/ROOT}/partials/UserIs.adoc        |   0
 .../modules/ROOT}/partials/VacationMailet.adoc     |   0
 .../docs/modules/ROOT}/partials/WithPriority.adoc  |   0
 .../ROOT}/partials/WithStorageDirective.adoc       |   0
 .../docs/modules/ROOT}/partials/WrapText.adoc      |   0
 .../ROOT}/partials/XOriginatingIpInNetwork.adoc    |   0
 .../docs/ui-overrides/img/james.svg                |  36 +++++++++
 .../docs/ui-overrides/partials/header-content.hbs  |  52 +++++++++++++
 server/apps/distributed-app/src/assemble/app.xml   |  11 +++
 216 files changed, 450 insertions(+), 253 deletions(-)

diff --git a/docs/modules/servers/assets/images/BlobStore.png b/docs/modules/servers/assets/images/BlobStore.png
deleted file mode 100644
index d964d2a..0000000
Binary files a/docs/modules/servers/assets/images/BlobStore.png and /dev/null differ
diff --git a/docs/modules/servers/assets/images/IMAP_board.png b/docs/modules/servers/assets/images/IMAP_board.png
deleted file mode 100644
index 2c3e935..0000000
Binary files a/docs/modules/servers/assets/images/IMAP_board.png and /dev/null differ
diff --git a/docs/modules/servers/assets/images/JMAP_board.png b/docs/modules/servers/assets/images/JMAP_board.png
deleted file mode 100644
index e97b021..0000000
Binary files a/docs/modules/servers/assets/images/JMAP_board.png and /dev/null differ
diff --git a/docs/modules/servers/assets/images/JVM_board.png b/docs/modules/servers/assets/images/JVM_board.png
deleted file mode 100644
index 45f9463..0000000
Binary files a/docs/modules/servers/assets/images/JVM_board.png and /dev/null differ
diff --git a/docs/modules/servers/assets/images/MATCHER.png b/docs/modules/servers/assets/images/MATCHER.png
deleted file mode 100644
index 4730e94..0000000
Binary files a/docs/modules/servers/assets/images/MATCHER.png and /dev/null differ
diff --git a/docs/modules/servers/assets/images/preload-dashboards.png b/docs/modules/servers/assets/images/preload-dashboards.png
deleted file mode 100644
index 8ecc77f..0000000
Binary files a/docs/modules/servers/assets/images/preload-dashboards.png and /dev/null differ
diff --git a/docs/modules/servers/assets/images/remote-delivery-error-handling.png b/docs/modules/servers/assets/images/remote-delivery-error-handling.png
deleted file mode 100644
index 7e0665a..0000000
Binary files a/docs/modules/servers/assets/images/remote-delivery-error-handling.png and /dev/null differ
diff --git a/docs/modules/servers/assets/images/server-components.png b/docs/modules/servers/assets/images/server-components.png
deleted file mode 100644
index 30112d9..0000000
Binary files a/docs/modules/servers/assets/images/server-components.png and /dev/null differ
diff --git a/docs/modules/servers/assets/images/specialized-instances.png b/docs/modules/servers/assets/images/specialized-instances.png
deleted file mode 100644
index 687cefe..0000000
Binary files a/docs/modules/servers/assets/images/specialized-instances.png and /dev/null differ
diff --git a/docs/modules/servers/assets/images/storage.png b/docs/modules/servers/assets/images/storage.png
deleted file mode 100644
index d52322a..0000000
Binary files a/docs/modules/servers/assets/images/storage.png and /dev/null differ
diff --git a/docs/modules/servers/assets/images/webAdmin.png b/docs/modules/servers/assets/images/webAdmin.png
deleted file mode 100644
index a0b88a9..0000000
Binary files a/docs/modules/servers/assets/images/webAdmin.png and /dev/null differ
diff --git a/docs/modules/servers/nav.adoc b/docs/modules/servers/nav.adoc
index ccf2860..a47064d 100644
--- a/docs/modules/servers/nav.adoc
+++ b/docs/modules/servers/nav.adoc
@@ -10,60 +10,4 @@
 *** xref:basic/conf/index.adoc[]
 *** xref:basic/help.adoc[]
 ** xref:extendable.adoc[]
-** xref:distributed.adoc[]
-*** xref:distributed/objectives.adoc[]
-*** xref:distributed/architecture/index.adoc[]
-**** xref:distributed/architecture/consistency-model.adoc[]
-**** xref:distributed/architecture/specialized-instances.adoc[]
-*** xref:distributed/run.adoc[]
-*** xref:distributed/run-docker.adoc[]
-*** xref:distributed/configure/index.adoc[]
-**** Protocols
-***** xref:distributed/configure/imap.adoc[imapserver.xml]
-***** xref:distributed/configure/jmap.adoc[jmap.properties]
-***** xref:distributed/configure/jmx.adoc[jmx.properties]
-***** xref:distributed/configure/smtp.adoc[smtpserver.xml & lmtpserver.xml]
-***** xref:distributed/configure/smtp-hooks.adoc[Packaged SMTP hooks]
-***** xref:distributed/configure/pop3.adoc[pop3server.xml]
-***** xref:distributed/configure/webadmin.adoc[webadmin.properties]
-***** xref:distributed/configure/ssl.adoc[SSL & TLS]
-**** Storage dependencies
-***** xref:distributed/configure/blobstore.adoc[blobstore.properties]
-***** xref:distributed/configure/cassandra.adoc[cassandra.properties]
-***** xref:distributed/configure/elasticsearch.adoc[elasticsearch.properties]
-***** xref:distributed/configure/rabbitmq.adoc[rabbitmq.properties]
-***** xref:distributed/configure/tika.adoc[tika.properties]
-**** Core components
-***** xref:distributed/configure/batchsizes.adoc[batchsizes.properties]
-***** xref:distributed/configure/dns.adoc[dnsservice.xml]
-***** xref:distributed/configure/domainlist.adoc[domainlist.xml]
-***** xref:distributed/configure/healthcheck.adoc[healthcheck.properties]
-***** xref:distributed/configure/mailetcontainer.adoc[mailetcontainer.xml]
-***** xref:distributed/configure/mailets.adoc[Packaged Mailets]
-***** xref:distributed/configure/matchers.adoc[Packaged Matchers]
-***** xref:distributed/configure/mailrepositorystore.adoc[mailrepositorystore.xml]
-***** xref:distributed/configure/recipientrewritetable.adoc[recipientrewritetable.xml]
-***** xref:distributed/configure/usersrepository.adoc[usersrepository.xml]
-**** Extensions
-***** xref:distributed/configure/vault.adoc[deletedMessageVault.properties]
-***** xref:distributed/configure/extensions.adoc[extensions.properties]
-***** xref:distributed/configure/listeners.adoc[listeners.xml]
-***** xref:distributed/configure/spam.adoc[Anti-Spam setup]
-***** xref:distributed/configure/remote-delivery-error-handling.adoc[About RemoteDelivery error handling]
-***** xref:distributed/configure/collecting-contacts.adoc[Contact collection]
-***** xref:distributed/configure/collecting-events.adoc[Event collection]
-***** xref:distributed/configure/dsn.adoc[ESMTP DSN support]
-*** xref:distributed/operate/index.adoc[Operate]
-**** xref:distributed/operate/guide.adoc[]
-**** xref:distributed/operate/logging.adoc[]
-**** xref:distributed/operate/webadmin.adoc[]
-**** xref:distributed/operate/metrics.adoc[]
-**** xref:distributed/operate/migrating.adoc[]
-**** xref:distributed/operate/cli.adoc[]
-**** xref:distributed/operate/cassandra-migration.adoc[]
-*** xref:distributed/extending/index.adoc[]
-**** xref:distributed/extending/mail-processing.adoc[]
-**** xref:distributed/extending/mailbox-listeners.adoc[]
-**** xref:distributed/extending/smtp-hooks.adoc[]
-**** xref:distributed/extending/webadmin-routes.adoc[]
 ** xref:test.adoc[]
diff --git a/docs/modules/servers/pages/distributed/configure/index.adoc b/docs/modules/servers/pages/distributed/configure/index.adoc
deleted file mode 100644
index 1462a96..0000000
--- a/docs/modules/servers/pages/distributed/configure/index.adoc
+++ /dev/null
@@ -1,63 +0,0 @@
-= Distributed James Server &mdash; Configuration
-:navtitle: Configuration
-
-This section presents how to configure the Distributed server.
-
-The Distributed Server relies on separated files for configuring various components. Some files follow an *xml* format
-and some others follow a *property* format. Some files can be ommited, in which case the functionality can be disabled,
-or rely on reasonable defaults.
-
-The following configuration files are exposed:
-
-== For protocols
-
-By omitting these files, the underlying protocols will be disabled.
-
-** xref:distributed/configure/imap.adoc[*imapserver.xml*] allows configuration for the IMAP protocol link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/imapserver.xml[example]
-** xref:distributed/configure/jmap.adoc[*jmap.properties*] allows to configure the JMAP protocol link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/jmap.properties[example]
-** xref:distributed/configure/jmx.adoc[*jmx.properties*] allows configuration of JMX being used by the Command Line Interface link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/jmx.properties[example]
-** xref:distributed/configure/smtp.adoc#_lmtp_configuration[*lmtpserver.xml*] allows configuring the LMTP protocol link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/lmtpserver.xml[example]
-** *managesieveserver.xml* allows configuration for ManagedSieve (unsupported) link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/managesieveserver.xml[example]
-** xref:distributed/configure/pop3.adoc[*pop3server.xml*] allows configuration for the POP3 protocol (experimental) link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/pop3server.xml[example]
-** xref:distributed/configure/smtp.adoc[*smtpserver.xml*] allows configuration for the SMTP protocol link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/smtpserver.xml[example]
-*** xref:distributed/configure/smtp-hooks.adoc[This page] list SMTP hooks that can be used out of the box with the Distributed Server.
-** xref:distributed/configure/webadmin.adoc[*webadmin.properties*] enables configuration for the WebAdmin protocol link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/webadmin.properties[example]
-** xref:distributed/configure/ssl.adoc[This page] details SSL & TLS configuration.
-
-== For storage dependencies
-
-Except specific documented cases, these files are required, at least to establish a connection with the storage components.
-
-** xref:distributed/configure/blobstore.adoc[*blobstore.properties*] allows to configure the BlobStore link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/blob.properties[example]
-** xref:distributed/configure/cassandra.adoc[*cassandra.properties*] allows to configure the Cassandra driver link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/cassandra.properties[example]
-** xref:distributed/configure/elasticsearch.adoc[*elasticsearch.properties*] allows to configure ElasticSearch driver link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/elasticsearch.properties[example]
-** xref:distributed/configure/rabbitmq.adoc[*rabbitmq.properties*] allows configuration for the RabbitMQ driver link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/rabbitmq.properties[example]
-** xref:distributed/configure/tika.adoc[*tika.properties*] allows configuring Tika as a backend for text extraction link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/tika.properties[example]
-
-== For core components
-
-By omitting these files, sane default values are used.
-
-** xref:distributed/configure/batchsizes.adoc[*batchsizes.properties*] allows to configure mailbox read batch sizes link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/batchsizes.properties[example]
-** xref:distributed/configure/dns.adoc[*dnsservice.xml*] allows to configure DNS resolution link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/dnsservice.xml[example]
-** xref:distributed/configure/domainlist.adoc[*domainlist.xml*] allows to configure Domain storage link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/domainlist.xml[example]
-** xref:distributed/configure/healthcheck.adoc[*healthcheck.properties*] allows to configure periodical healthchecks link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/healthcheck.properties[example]
-** xref:distributed/configure/mailetcontainer.adoc[*mailetcontainer.xml*] allows configuring mail processing link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/mailetcontainer.xml[example]
-*** xref:distributed/configure/mailets.adoc[This page] list matchers that can be used out of the box with the Distributed Server.
-*** xref:distributed/configure/matchers.adoc[This page] list matchers that can be used out of the box with the Distributed Server.
-** xref:distributed/configure/mailrepositorystore.adoc[*mailrepositorystore.xml*] enables registration of allowed MailRepository protcols and link them to MailRepository implementations link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/mailrepositorystore.xml[example]
-** xref:distributed/configure/recipientrewritetable.adoc[*recipientrewritetable.xml*] enables advanced configuration for the Recipient Rewrite Table component link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/recipientrewritetable.xml[example]
-** xref:distributed/configure/usersrepository.adoc[*usersrepository.xml*] allows configuration of user storage link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/usersrepository.xml[example]
-
-== For extensions
-
-By omitting these files, no extra behaviour is added.
-
-** xref:distributed/configure/vault.adoc[*deletedMessageVault.properties*] allows to configure the DeletedMessageVault link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/deletedMessageVault.properties[example]
-** xref:distributed/configure/listeners.adoc[*listeners.xml*] enables configuration of Mailbox Listeners link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/listeners.xml[example]
-** xref:distributed/configure/extensions.adoc[*extensions.properties*] allows to extend James behaviour by loading your extensions in it link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/extensions.properties[example]
-** xref:distributed/configure/spam.adoc[This page] documents Anti-Spam setup with SpamAssassin.
-** xref:distributed/configure/remote-delivery-error-handling.adoc[This page] proposes a simple strategy for RemoteDelivery error handling.
-** xref:distributed/configure/collecting-contacts.adoc[This page] documents contact collection
-** xref:distributed/configure/collecting-events.adoc[This page] documents event collection
-** xref:distributed/configure/dsn.adoc[this page] specified how to support SMTP Delivery Submission Notification (link:https://tools.ietf.org/html/rfc3461[RFC-3461])
diff --git a/docs/modules/servers/pages/index.adoc b/docs/modules/servers/pages/index.adoc
index 48e5480..c68e1d0 100644
--- a/docs/modules/servers/pages/index.adoc
+++ b/docs/modules/servers/pages/index.adoc
@@ -71,7 +71,7 @@ any email needs you may have.
 [#distributed]
 == James Distributed Mail Server 
 
-The xref:distributed.adoc[*Distributed Server*] is a heavy-duty industrial 
+The xref:james-distributed-app:ROOT:index.adoc[*Distributed Server*] is a heavy-duty industrial
 enterprise mail server.
 
 This is the most feature-rich server, but also by far the most complex,
diff --git a/server/apps/distributed-app/docs/README.md b/server/apps/distributed-app/docs/README.md
new file mode 100644
index 0000000..5c9e9e0
--- /dev/null
+++ b/server/apps/distributed-app/docs/README.md
@@ -0,0 +1,61 @@
+# Building and serving documentation locally
+
+## Executing within source code
+
+(Clone `https://github.com/apache/james-project` locally, go into `server/apps/distributed-app/docs` folder)
+
+**Step 1**: [Install Antora](https://docs.antora.org/antora/2.3/install/install-antora/)
+
+**Step 2**: Build the Antora content locally
+
+```
+antora antora-playbook-local.yml
+```
+
+**Step 3**: Open `build/site/index.html` in your browser.
+
+## Building from the ZIP package
+
+[Install Antora](https://docs.antora.org/antora/2.3/install/install-antora/).
+
+Unzip `james-server-distributed-app.zip`.
+
+Go in the `docs` folder.
+
+Executing Antora can only be done from within a git repository.
+
+You will need to initialize the git repository:
+
+```
+$ git init
+$ git add .
+$ git commit -m "First commit"
+```
+
+Then adapt `antora-playbook-local.yml` to match the git location:
+
+```
+site:
+  title: Apache James Distributed Server
+  url: https://james.apache.org/
+  start_page: james-distributed-app::index.adoc
+content:
+  sources:
+    - url: ./
+      branches: HEAD
+      start_path: ./
+ui:
+  bundle:
+    url: https://gitlab.com/antora/antora-ui-default/-/jobs/artifacts/master/raw/build/ui-bundle.zip?job=bundle-stable
+  supplemental_files: ./ui-overrides
+runtime:
+  fetch: true
+```
+
+Build the Antora content locally
+
+```
+antora antora-playbook-local.yml
+```
+
+Open `build/site/index.html` in your browser.
\ No newline at end of file
diff --git a/server/apps/distributed-app/docs/antora-playbook-local.yml b/server/apps/distributed-app/docs/antora-playbook-local.yml
new file mode 100644
index 0000000..9f9169b
--- /dev/null
+++ b/server/apps/distributed-app/docs/antora-playbook-local.yml
@@ -0,0 +1,31 @@
+#
+# Use this configuration for local testing / docs develop.
+#
+# Note: Executing Antora can only be done from within a git repository.
+# When UNZIPPING the application, you will need to initialize the git repository:
+#
+# $ git init
+# $ git add .
+# $ git commit -m "First commit"
+#
+# You may want to update paths below too...
+site:
+  title: Apache James Distributed Server
+  url: https://james.apache.org/
+  start_page: james-distributed-app::index.adoc
+content:
+  sources:
+    # url should match the relative position for your git repository. A value for a git repo located in the docs folder would be:
+    # - url: ./
+    - url: ./../../../../
+      branches: HEAD
+      # Must match the relative position of the Antora docs files within the git repository stated above.
+      # A value for a git repo located in the docs folder would be:
+      # start_path: ./
+      start_path: server/apps/distributed-app/docs
+ui:
+  bundle:
+    url: https://gitlab.com/antora/antora-ui-default/-/jobs/artifacts/master/raw/build/ui-bundle.zip?job=bundle-stable
+  supplemental_files: ./ui-overrides
+runtime:
+  fetch: true
diff --git a/server/apps/distributed-app/docs/antora.yml b/server/apps/distributed-app/docs/antora.yml
new file mode 100644
index 0000000..ab219bf
--- /dev/null
+++ b/server/apps/distributed-app/docs/antora.yml
@@ -0,0 +1,6 @@
+name: james-distributed-app
+title: Apache James Distributed Server
+version: '3.7.0'
+prerelease: SNAPSHOT
+nav:
+- modules/ROOT/nav.adoc
diff --git a/server/apps/distributed-app/docs/modules/ROOT/assets/images/BlobStore.png b/server/apps/distributed-app/docs/modules/ROOT/assets/images/BlobStore.png
new file mode 100644
index 0000000..e69de29
diff --git a/server/apps/distributed-app/docs/modules/ROOT/assets/images/IMAP_board.png b/server/apps/distributed-app/docs/modules/ROOT/assets/images/IMAP_board.png
new file mode 100644
index 0000000..e69de29
diff --git a/server/apps/distributed-app/docs/modules/ROOT/assets/images/JMAP_board.png b/server/apps/distributed-app/docs/modules/ROOT/assets/images/JMAP_board.png
new file mode 100644
index 0000000..e69de29
diff --git a/server/apps/distributed-app/docs/modules/ROOT/assets/images/JVM_board.png b/server/apps/distributed-app/docs/modules/ROOT/assets/images/JVM_board.png
new file mode 100644
index 0000000..e69de29
diff --git a/server/apps/distributed-app/docs/modules/ROOT/assets/images/MATCHER.png b/server/apps/distributed-app/docs/modules/ROOT/assets/images/MATCHER.png
new file mode 100644
index 0000000..e69de29
diff --git a/docs/modules/servers/assets/images/james-hexagons-extensions.png b/server/apps/distributed-app/docs/modules/ROOT/assets/images/james-hexagons-extensions.png
similarity index 100%
rename from docs/modules/servers/assets/images/james-hexagons-extensions.png
rename to server/apps/distributed-app/docs/modules/ROOT/assets/images/james-hexagons-extensions.png
diff --git a/server/apps/distributed-app/docs/modules/ROOT/assets/images/preload-dashboards.png b/server/apps/distributed-app/docs/modules/ROOT/assets/images/preload-dashboards.png
new file mode 100644
index 0000000..e69de29
diff --git a/server/apps/distributed-app/docs/modules/ROOT/assets/images/remote-delivery-error-handling.png b/server/apps/distributed-app/docs/modules/ROOT/assets/images/remote-delivery-error-handling.png
new file mode 100644
index 0000000..e69de29
diff --git a/server/apps/distributed-app/docs/modules/ROOT/assets/images/server-components.png b/server/apps/distributed-app/docs/modules/ROOT/assets/images/server-components.png
new file mode 100644
index 0000000..e69de29
diff --git a/server/apps/distributed-app/docs/modules/ROOT/assets/images/specialized-instances.png b/server/apps/distributed-app/docs/modules/ROOT/assets/images/specialized-instances.png
new file mode 100644
index 0000000..e69de29
diff --git a/server/apps/distributed-app/docs/modules/ROOT/assets/images/storage.png b/server/apps/distributed-app/docs/modules/ROOT/assets/images/storage.png
new file mode 100644
index 0000000..e69de29
diff --git a/server/apps/distributed-app/docs/modules/ROOT/assets/images/webAdmin.png b/server/apps/distributed-app/docs/modules/ROOT/assets/images/webAdmin.png
new file mode 100644
index 0000000..e69de29
diff --git a/server/apps/distributed-app/docs/modules/ROOT/nav.adoc b/server/apps/distributed-app/docs/modules/ROOT/nav.adoc
new file mode 100644
index 0000000..eb2a0af
--- /dev/null
+++ b/server/apps/distributed-app/docs/modules/ROOT/nav.adoc
@@ -0,0 +1,56 @@
+* xref:index.adoc[]
+** xref:objectives.adoc[]
+** xref:architecture/index.adoc[]
+*** xref:architecture/consistency-model.adoc[]
+*** xref:architecture/specialized-instances.adoc[]
+** xref:run.adoc[]
+** xref:run-docker.adoc[]
+** xref:configure/index.adoc[]
+*** Protocols
+**** xref:configure/imap.adoc[imapserver.xml]
+**** xref:configure/jmap.adoc[jmap.properties]
+**** xref:configure/jmx.adoc[jmx.properties]
+**** xref:configure/smtp.adoc[smtpserver.xml & lmtpserver.xml]
+**** xref:configure/smtp-hooks.adoc[Packaged SMTP hooks]
+**** xref:configure/pop3.adoc[pop3server.xml]
+**** xref:configure/webadmin.adoc[webadmin.properties]
+**** xref:configure/ssl.adoc[SSL & TLS]
+*** Storage dependencies
+**** xref:configure/blobstore.adoc[blobstore.properties]
+**** xref:configure/cassandra.adoc[cassandra.properties]
+**** xref:configure/elasticsearch.adoc[elasticsearch.properties]
+**** xref:configure/rabbitmq.adoc[rabbitmq.properties]
+**** xref:configure/tika.adoc[tika.properties]
+*** Core components
+**** xref:configure/batchsizes.adoc[batchsizes.properties]
+**** xref:configure/dns.adoc[dnsservice.xml]
+**** xref:configure/domainlist.adoc[domainlist.xml]
+**** xref:configure/healthcheck.adoc[healthcheck.properties]
+**** xref:configure/mailetcontainer.adoc[mailetcontainer.xml]
+**** xref:configure/mailets.adoc[Packaged Mailets]
+**** xref:configure/matchers.adoc[Packaged Matchers]
+**** xref:configure/mailrepositorystore.adoc[mailrepositorystore.xml]
+**** xref:configure/recipientrewritetable.adoc[recipientrewritetable.xml]
+**** xref:configure/usersrepository.adoc[usersrepository.xml]
+*** Extensions
+**** xref:configure/vault.adoc[deletedMessageVault.properties]
+**** xref:configure/extensions.adoc[extensions.properties]
+**** xref:configure/listeners.adoc[listeners.xml]
+**** xref:configure/spam.adoc[Anti-Spam setup]
+**** xref:configure/remote-delivery-error-handling.adoc[About RemoteDelivery error handling]
+**** xref:configure/collecting-contacts.adoc[Contact collection]
+**** xref:configure/collecting-events.adoc[Event collection]
+**** xref:configure/dsn.adoc[ESMTP DSN support]
+** xref:operate/index.adoc[Operate]
+*** xref:operate/guide.adoc[]
+*** xref:operate/logging.adoc[]
+*** xref:operate/webadmin.adoc[]
+*** xref:operate/metrics.adoc[]
+*** xref:operate/migrating.adoc[]
+*** xref:operate/cli.adoc[]
+*** xref:operate/cassandra-migration.adoc[]
+** xref:extending/index.adoc[]
+*** xref:extending/mail-processing.adoc[]
+*** xref:extending/mailbox-listeners.adoc[]
+*** xref:extending/smtp-hooks.adoc[]
+*** xref:extending/webadmin-routes.adoc[]
diff --git a/docs/modules/servers/pages/distributed/architecture/consistency-model.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/architecture/consistency-model.adoc
similarity index 92%
rename from docs/modules/servers/pages/distributed/architecture/consistency-model.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/architecture/consistency-model.adoc
index 4853d45..e3bb501 100644
--- a/docs/modules/servers/pages/distributed/architecture/consistency-model.adoc
+++ b/server/apps/distributed-app/docs/modules/ROOT/pages/architecture/consistency-model.adoc
@@ -45,7 +45,7 @@ and as lightweight transactions are slow across data centers, running James with
 link:https://docs.datastax.com/en/ddac/doc/datastax_enterprise/production/DDACmultiDCperWorkloadType.html[multi data-center]
 Cassandra setup is discouraged.
 
-However, xref:distributed/configure/cassandra.adoc[this page] enables setting alternative read level,
+However, xref:configure/cassandra.adoc[this page] enables setting alternative read level,
 which could be acceptable regarding limited requirements. `LOCAL_QUORUM` coupled with `LOCAL_SERIAL`
 is likely the only scalable setup. Some options were added to turn off SERIAL consistency usage for message
 and mailbox management. However, the use of Lightweight Transaction cannot be disabled for UIDs and ModSeqs.
@@ -89,7 +89,7 @@ We write to a "table of truth" first, then duplicate the data to denormalization
 The Distributed server offers several mechanisms to mitigate these inconsistencies:
 
  - Writes to denormalization tables are retried.
- - Some xref:distributed/operate/guide.adoc#_solving_cassandra_inconsistencies[SolveInconsistencies tasks] are exposed and are able to heal a given denormalization table.
+ - Some xref:operate/guide.adoc#_solving_cassandra_inconsistencies[SolveInconsistencies tasks] are exposed and are able to heal a given denormalization table.
 They reset the "deduplication tables" content to the "table of truth" content.
  - link:https://github.com/apache/james-project/blob/master/src/adr/0042-applicative-read-repairs.md[Read repairs],
 when implemented for a given denormalization, enables auto-healing. When an inconsistency is detected, They reset the
@@ -121,8 +121,8 @@ After being written to the primary stores (namely Cassandra & Object Storage), e
 asynchronously indexed into ElasticSearch.
 
 This process, called the EventBus, which retries temporary errors, and stores transient errors for
-later admin-triggered retries is described further xref:distributed/operate/guide.adoc#_mailbox_event_bus[here].
+later admin-triggered retries is described further xref:operate/guide.adoc#_mailbox_event_bus[here].
 His role is to spread load and limit inconsistencies.
 
-Furthermore, some xref:distributed/operate/guide.adoc#_usual_troubleshooting_procedures[re-indexing tasks]
+Furthermore, some xref:operate/guide.adoc#_usual_troubleshooting_procedures[re-indexing tasks]
 enables to re-synchronise ElasticSearch content with the primary data stores
diff --git a/docs/modules/servers/pages/distributed/architecture/index.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/architecture/index.adoc
similarity index 93%
rename from docs/modules/servers/pages/distributed/architecture/index.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/architecture/index.adoc
index 3eeea53..1a8598b 100644
--- a/docs/modules/servers/pages/distributed/architecture/index.adoc
+++ b/server/apps/distributed-app/docs/modules/ROOT/pages/architecture/index.adoc
@@ -18,7 +18,7 @@ image::storage.png[Storage responsibilities for the Distributed Server]
  * *Tika* (optional) enables text extraction from attachments, thus improving full text search results.
  * *SpamAssassin* (optional) can be used for Spam detection and user feedback is supported.
 
-xref:distributed/architecture/consistency-model.adoc[This page] further details Distributed James consistency model.
+xref:architecture/consistency-model.adoc[This page] further details Distributed James consistency model.
 
 == Protocols
 
@@ -26,7 +26,7 @@ The following protocols are supported and can be used to interact with the Distr
 
 * *SMTP*
 * *IMAP*
-* xref:distributed/operate/webadmin.adoc[WebAdmin] REST Administration API
+* xref:operate/webadmin.adoc[WebAdmin] REST Administration API
 * *LMTP*
 
 The following protocols should be considered experimental:
@@ -42,7 +42,7 @@ The following protocols should be considered deprecated:
 
 While it is perfectly possible to deploy homogeneous James instances, with the same configuration and thus the same
 protocols and the same responsibilities one might want to investigate in
-xref:distributed/architecture/specialized-instances.adoc['Specialized instances'].
+xref:architecture/specialized-instances.adoc['Specialized instances'].
 
 == Components
 
@@ -241,28 +241,28 @@ James allows using various mapping types for better expressing the intent of you
 
 * *Domain mapping*: Rewrites the domain of mail addresses. Use it for technical purposes, user will not
 be allowed to use the source in their FROM address headers. Domain mappings can be managed via the CLI and
-added via xref:distributed/operate/webadmin.adoc#_domain_mappings[WebAdmin]
+added via xref:operate/webadmin.adoc#_domain_mappings[WebAdmin]
 * *Domain aliases*: Rewrites the domain of mail addresses. Express the idea that both domains can be used
 inter-changeably. User will be allowed to use the source in their FROM address headers. Domain aliases can
-be managed via xref:distributed/operate/webadmin.adoc#_get_the_list_of_aliases_for_a_domain[WebAdmin]
+be managed via xref:operate/webadmin.adoc#_get_the_list_of_aliases_for_a_domain[WebAdmin]
 * *Forwards*: Replaces the source address by another one. Vehicles the intent of forwarding incoming mails
 to other users. Listing the forward source in the forward destinations keeps a local copy. User will not be
 allowed to use the source in their FROM address headers. Forward can
-be managed via xref:distributed/operate/webadmin.adoc#_address_forwards[WebAdmin]
+be managed via xref:operate/webadmin.adoc#_address_forwards[WebAdmin]
 * *Groups*: Replaces the source address by another one. Vehicles the intent of a group registration: group
 address will be swapped by group member addresses (Feature poor mailing list). User will not be
 allowed to use the source in their FROM address headers. Groups can
-be managed via xref:distributed/operate/webadmin.adoc#_address_group[WebAdmin]
+be managed via xref:operate/webadmin.adoc#_address_group[WebAdmin]
 * *Aliases*: Replaces the source address by another one. Represents user owned mail address, with which
 he can interact as if it was his main mail address. User will be allowed to use the source in their FROM
-address headers. Aliases can be managed via xref:distributed/operate/webadmin.adoc#_address_aliases[WebAdmin]
+address headers. Aliases can be managed via xref:operate/webadmin.adoc#_address_aliases[WebAdmin]
 * *Address mappings*: Replaces the source address by another one. Use for technical purposes, this mapping type do
 not hold specific intent. Prefer using one of the above mapping types... User will not be allowed to use the source
 in their FROM address headers. Address mappings can be managed via the CLI or via
-xref:distributed/operate/webadmin.adoc#_address_mappings[WebAdmin]
+xref:operate/webadmin.adoc#_address_mappings[WebAdmin]
 * *Regex mappings*: Applies the regex on the supplied address. User will not be allowed to use the source
 in their FROM address headers. Regex mappings can be managed via the CLI or via
-xref:distributed/operate/webadmin.adoc#_regex_mapping[WebAdmin]
+xref:operate/webadmin.adoc#_regex_mapping[WebAdmin]
 * *Error*: Throws an error upon processing. User will not be allowed to use the source
 in their FROM address headers. Errors can be managed via the CLI
 
diff --git a/docs/modules/servers/pages/distributed/architecture/specialized-instances.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/architecture/specialized-instances.adoc
similarity index 85%
rename from docs/modules/servers/pages/distributed/architecture/specialized-instances.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/architecture/specialized-instances.adoc
index 5c7365d..26c471a 100644
--- a/docs/modules/servers/pages/distributed/architecture/specialized-instances.adoc
+++ b/server/apps/distributed-app/docs/modules/ROOT/pages/architecture/specialized-instances.adoc
@@ -30,9 +30,9 @@ We speak of:
 
 Front-line servers will likely not handle back office responsibilities (but be sure to have back-office servers that do!).
 
-  - xref:distributed/configure/mailetcontainer.adoc[Mail processing can be switched off].
-  - xref:distributed/configure/listeners.adoc[Mailbox event processing can be switched off].
-  - xref:distributed/configure/rabbitmq.adoc[Task execution can be switched off].
+  - xref:configure/mailetcontainer.adoc[Mail processing can be switched off].
+  - xref:configure/listeners.adoc[Mailbox event processing can be switched off].
+  - xref:configure/rabbitmq.adoc[Task execution can be switched off].
   - Remote Delivery service is not started if the RemoteDelivery mailet is not positioned in mailetcontainer.xml.
   
 Of course, the above instances can be collocated at will, to reach some intermediate deployments with fewer 
diff --git a/docs/modules/servers/pages/distributed/configure/batchsizes.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/batchsizes.adoc
similarity index 100%
rename from docs/modules/servers/pages/distributed/configure/batchsizes.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/configure/batchsizes.adoc
diff --git a/docs/modules/servers/pages/distributed/configure/blobstore.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/blobstore.adoc
similarity index 98%
rename from docs/modules/servers/pages/distributed/configure/blobstore.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/configure/blobstore.adoc
index e9cd4a0..f63b7e5 100644
--- a/docs/modules/servers/pages/distributed/configure/blobstore.adoc
+++ b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/blobstore.adoc
@@ -39,7 +39,7 @@ NOTE: If you are upgrading from James 3.5 or older, the deduplication was enable
 
 Deduplication requires a garbage collector mechanism to effectively drop blobs. A first implementation
 based on bloom filters can be used and triggered using the WebAdmin REST API. See
-xref:distributed/operate/webadmin.adoc#_running_blob_garbage_collection[Running blob garbage collection].
+xref:operate/webadmin.adoc#_running_blob_garbage_collection[Running blob garbage collection].
 
 In order to avoid concurrency issues upon garbage collection, we slice the blobs in generation, the two more recent
 generations are not garbage collected.
diff --git a/docs/modules/servers/pages/distributed/configure/cassandra.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/cassandra.adoc
similarity index 100%
rename from docs/modules/servers/pages/distributed/configure/cassandra.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/configure/cassandra.adoc
diff --git a/docs/modules/servers/pages/distributed/configure/collecting-contacts.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/collecting-contacts.adoc
similarity index 100%
rename from docs/modules/servers/pages/distributed/configure/collecting-contacts.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/configure/collecting-contacts.adoc
diff --git a/docs/modules/servers/pages/distributed/configure/collecting-events.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/collecting-events.adoc
similarity index 100%
rename from docs/modules/servers/pages/distributed/configure/collecting-events.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/configure/collecting-events.adoc
diff --git a/docs/modules/servers/pages/distributed/configure/dns.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/dns.adoc
similarity index 100%
rename from docs/modules/servers/pages/distributed/configure/dns.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/configure/dns.adoc
diff --git a/docs/modules/servers/pages/distributed/configure/domainlist.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/domainlist.adoc
similarity index 100%
rename from docs/modules/servers/pages/distributed/configure/domainlist.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/configure/domainlist.adoc
diff --git a/docs/modules/servers/pages/distributed/configure/dsn.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/dsn.adoc
similarity index 95%
rename from docs/modules/servers/pages/distributed/configure/dsn.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/configure/dsn.adoc
index 714324b..9fc70aa 100644
--- a/docs/modules/servers/pages/distributed/configure/dsn.adoc
+++ b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/dsn.adoc
@@ -6,12 +6,12 @@ defined in link:https://tools.ietf.org/html/rfc3464[RFC-3464] to be sent back to
 progress.
 
 DSN support is not enabled by default, as it needs specific configuration of the
-xref:distributed/configure/mailetcontainer.adoc[mailetcontainer.xml] to be specification compliant.
+xref:configure/mailetcontainer.adoc[mailetcontainer.xml] to be specification compliant.
 
 To enable it you need to:
 
 - Add DSN SMTP hooks as part of the SMTP server stack
-- Configure xref:distributed/configure/mailetcontainer.adoc[mailetcontainer.xml] to generate DSN bounces when needed
+- Configure xref:configure/mailetcontainer.adoc[mailetcontainer.xml] to generate DSN bounces when needed
 
 == Enabling DSN in SMTP server stack
 
@@ -34,10 +34,10 @@ For this simply add the `DSN hooks` in the handler chain in `smtpserver.xml` :
 == Enabling DSN generation as part of mail processing
 
 For the below conditions to be matched we assume you follow
-xref:distributed/configure/remote-delivery-error-handling.adoc[RemoteDelivery error handling for MXs], which is a
+xref:configure/remote-delivery-error-handling.adoc[RemoteDelivery error handling for MXs], which is a
 requirement for detailed RemoteDelivery error and delay handling on top of the Distributed server.
 
-Here is a sample xref:distributed/configure/mailetcontainer.adoc[mailetcontainer.xml] achieving the following DSN generation:
+Here is a sample xref:configure/mailetcontainer.adoc[mailetcontainer.xml] achieving the following DSN generation:
 
 - Generate a generic `delivered` notification if LocalDelivery succeeded, if requested
 - Generate a generic `failed` notification in case of local errors, if requested
diff --git a/docs/modules/servers/pages/distributed/configure/elasticsearch.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/elasticsearch.adoc
similarity index 98%
rename from docs/modules/servers/pages/distributed/configure/elasticsearch.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/configure/elasticsearch.adoc
index f2a9099..3cd61a5 100644
--- a/docs/modules/servers/pages/distributed/configure/elasticsearch.adoc
+++ b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/elasticsearch.adoc
@@ -107,7 +107,7 @@ This is controlled in the `search.properties` file via the `implementation` prop
 to `ElasticSearch`). Setting this configuration parameter to `scanning` will effectively disable ElasticSearch, no
 further indexation will be done however searches will rely on the scrolling search, leading to expensive and longer
 searches. Disabling ElasticSearch requires no extra action, however
-xref:distributed/operate/webadmin.adoc#reindexing_all_mails[a full re-indexing]needs to be carried out when enabling ElasticSearch.
+xref:operate/webadmin.adoc#reindexing_all_mails[a full re-indexing]needs to be carried out when enabling ElasticSearch.
 
 == Exporting metrics directly to ElasticSearch
 
diff --git a/docs/modules/servers/pages/distributed/configure/extensions.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/extensions.adoc
similarity index 86%
rename from docs/modules/servers/pages/distributed/configure/extensions.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/configure/extensions.adoc
index 4871c57..f818a3a 100644
--- a/docs/modules/servers/pages/distributed/configure/extensions.adoc
+++ b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/extensions.adoc
@@ -25,4 +25,4 @@ guice.extension.module=com.project.MyServiceModule
 
 Enables to inject MyService into your extensions.
 
-Read xref:distributed/extending/index.adoc#_defining_custom_injections_for_your_extensions[this page] for more details.
\ No newline at end of file
+Read xref:extending/index.adoc#_defining_custom_injections_for_your_extensions[this page] for more details.
\ No newline at end of file
diff --git a/docs/modules/servers/pages/distributed/configure/healthcheck.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/healthcheck.adoc
similarity index 100%
rename from docs/modules/servers/pages/distributed/configure/healthcheck.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/configure/healthcheck.adoc
diff --git a/docs/modules/servers/pages/distributed/configure/imap.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/imap.adoc
similarity index 100%
rename from docs/modules/servers/pages/distributed/configure/imap.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/configure/imap.adoc
diff --git a/server/apps/distributed-app/docs/modules/ROOT/pages/configure/index.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/index.adoc
new file mode 100644
index 0000000..1cb64a4
--- /dev/null
+++ b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/index.adoc
@@ -0,0 +1,63 @@
+= Distributed James Server &mdash; Configuration
+:navtitle: Configuration
+
+This section presents how to configure the Distributed server.
+
+The Distributed Server relies on separated files for configuring various components. Some files follow an *xml* format
+and some others follow a *property* format. Some files can be ommited, in which case the functionality can be disabled,
+or rely on reasonable defaults.
+
+The following configuration files are exposed:
+
+== For protocols
+
+By omitting these files, the underlying protocols will be disabled.
+
+** xref:configure/imap.adoc[*imapserver.xml*] allows configuration for the IMAP protocol link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/imapserver.xml[example]
+** xref:configure/jmap.adoc[*jmap.properties*] allows to configure the JMAP protocol link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/jmap.properties[example]
+** xref:configure/jmx.adoc[*jmx.properties*] allows configuration of JMX being used by the Command Line Interface link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/jmx.properties[example]
+** xref:configure/smtp.adoc#_lmtp_configuration[*lmtpserver.xml*] allows configuring the LMTP protocol link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/lmtpserver.xml[example]
+** *managesieveserver.xml* allows configuration for ManagedSieve (unsupported) link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/managesieveserver.xml[example]
+** xref:configure/pop3.adoc[*pop3server.xml*] allows configuration for the POP3 protocol (experimental) link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/pop3server.xml[example]
+** xref:configure/smtp.adoc[*smtpserver.xml*] allows configuration for the SMTP protocol link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/smtpserver.xml[example]
+*** xref:configure/smtp-hooks.adoc[This page] list SMTP hooks that can be used out of the box with the Distributed Server.
+** xref:configure/webadmin.adoc[*webadmin.properties*] enables configuration for the WebAdmin protocol link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/webadmin.properties[example]
+** xref:configure/ssl.adoc[This page] details SSL & TLS configuration.
+
+== For storage dependencies
+
+Except specific documented cases, these files are required, at least to establish a connection with the storage components.
+
+** xref:configure/blobstore.adoc[*blobstore.properties*] allows to configure the BlobStore link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/blob.properties[example]
+** xref:configure/cassandra.adoc[*cassandra.properties*] allows to configure the Cassandra driver link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/cassandra.properties[example]
+** xref:configure/elasticsearch.adoc[*elasticsearch.properties*] allows to configure ElasticSearch driver link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/elasticsearch.properties[example]
+** xref:configure/rabbitmq.adoc[*rabbitmq.properties*] allows configuration for the RabbitMQ driver link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/rabbitmq.properties[example]
+** xref:configure/tika.adoc[*tika.properties*] allows configuring Tika as a backend for text extraction link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/tika.properties[example]
+
+== For core components
+
+By omitting these files, sane default values are used.
+
+** xref:configure/batchsizes.adoc[*batchsizes.properties*] allows to configure mailbox read batch sizes link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/batchsizes.properties[example]
+** xref:configure/dns.adoc[*dnsservice.xml*] allows to configure DNS resolution link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/dnsservice.xml[example]
+** xref:configure/domainlist.adoc[*domainlist.xml*] allows to configure Domain storage link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/domainlist.xml[example]
+** xref:configure/healthcheck.adoc[*healthcheck.properties*] allows to configure periodical healthchecks link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/healthcheck.properties[example]
+** xref:configure/mailetcontainer.adoc[*mailetcontainer.xml*] allows configuring mail processing link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/mailetcontainer.xml[example]
+*** xref:configure/mailets.adoc[This page] list matchers that can be used out of the box with the Distributed Server.
+*** xref:configure/matchers.adoc[This page] list matchers that can be used out of the box with the Distributed Server.
+** xref:configure/mailrepositorystore.adoc[*mailrepositorystore.xml*] enables registration of allowed MailRepository protcols and link them to MailRepository implementations link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/mailrepositorystore.xml[example]
+** xref:configure/recipientrewritetable.adoc[*recipientrewritetable.xml*] enables advanced configuration for the Recipient Rewrite Table component link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/recipientrewritetable.xml[example]
+** xref:configure/usersrepository.adoc[*usersrepository.xml*] allows configuration of user storage link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/usersrepository.xml[example]
+
+== For extensions
+
+By omitting these files, no extra behaviour is added.
+
+** xref:configure/vault.adoc[*deletedMessageVault.properties*] allows to configure the DeletedMessageVault link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/deletedMessageVault.properties[example]
+** xref:configure/listeners.adoc[*listeners.xml*] enables configuration of Mailbox Listeners link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/listeners.xml[example]
+** xref:configure/extensions.adoc[*extensions.properties*] allows to extend James behaviour by loading your extensions in it link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/extensions.properties[example]
+** xref:configure/spam.adoc[This page] documents Anti-Spam setup with SpamAssassin.
+** xref:configure/remote-delivery-error-handling.adoc[This page] proposes a simple strategy for RemoteDelivery error handling.
+** xref:configure/collecting-contacts.adoc[This page] documents contact collection
+** xref:configure/collecting-events.adoc[This page] documents event collection
+** xref:configure/dsn.adoc[this page] specified how to support SMTP Delivery Submission Notification (link:https://tools.ietf.org/html/rfc3461[RFC-3461])
diff --git a/docs/modules/servers/pages/distributed/configure/jmap.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/jmap.adoc
similarity index 100%
rename from docs/modules/servers/pages/distributed/configure/jmap.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/configure/jmap.adoc
diff --git a/docs/modules/servers/pages/distributed/configure/jmx.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/jmx.adoc
similarity index 100%
rename from docs/modules/servers/pages/distributed/configure/jmx.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/configure/jmx.adoc
diff --git a/docs/modules/servers/pages/distributed/configure/listeners.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/listeners.adoc
similarity index 96%
rename from docs/modules/servers/pages/distributed/configure/listeners.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/configure/listeners.adoc
index 1291eab..20974f2 100644
--- a/docs/modules/servers/pages/distributed/configure/listeners.adoc
+++ b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/listeners.adoc
@@ -50,7 +50,7 @@ Example:
 ....
 
 Please note that a `spamassassin.properties` file is needed. Read also
-xref:distributed/configure/spam.adoc[this page] for extra configuration required to support this feature.
+xref:configure/spam.adoc[this page] for extra configuration required to support this feature.
 
 === MailboxOperationLoggingListener
 
@@ -175,4 +175,4 @@ Example:
 </listeners>
 ....
 
-Read also xref:distributed/configure/vault.adoc[this page] for extra configuration required to support this feature.
+Read also xref:configure/vault.adoc[this page] for extra configuration required to support this feature.
diff --git a/docs/modules/servers/pages/distributed/configure/mailetcontainer.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/mailetcontainer.adoc
similarity index 91%
rename from docs/modules/servers/pages/distributed/configure/mailetcontainer.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/configure/mailetcontainer.adoc
index 15bf45b..3decf5e 100644
--- a/docs/modules/servers/pages/distributed/configure/mailetcontainer.adoc
+++ b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/mailetcontainer.adoc
@@ -5,12 +5,12 @@ This documents explains how to configure Mail processing. Mails pass through the
 MailetContainer is a Matchers (condition for executing a mailet) and Mailets (execution units that perform
 actions based on incoming mail) pipeline arranged into processors (List of mailet/matcher pairs allowing
 better logical organisation). You can read more about these concepts on
-xref:distributed/architecture/index.adoc#_mail_processing[the mailet container feature description].
+xref:architecture/index.adoc#_mail_processing[the mailet container feature description].
 
-Apache James Server includes a number of xref:distributed/configure/mailets.adoc[Packaged Mailets] and
-xref:distributed/configure/matchers.adoc[Packaged Matchers].
+Apache James Server includes a number of xref:configure/mailets.adoc[Packaged Mailets] and
+xref:configure/matchers.adoc[Packaged Matchers].
 
-Futhermore, you can write and use with James xref:distributed/extending/mail-processing.adoc[your own mailet and matchers].
+Futhermore, you can write and use with James xref:extending/mail-processing.adoc[your own mailet and matchers].
 
 Consult this link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/mailetcontainer.xml[example]
 to get some examples and hints.
diff --git a/docs/modules/servers/pages/distributed/configure/mailets.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/mailets.adoc
similarity index 100%
rename from docs/modules/servers/pages/distributed/configure/mailets.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/configure/mailets.adoc
diff --git a/docs/modules/servers/pages/distributed/configure/mailrepositorystore.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/mailrepositorystore.adoc
similarity index 89%
rename from docs/modules/servers/pages/distributed/configure/mailrepositorystore.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/configure/mailrepositorystore.adoc
index 056b1da..2259bfe 100644
--- a/docs/modules/servers/pages/distributed/configure/mailrepositorystore.adoc
+++ b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/mailrepositorystore.adoc
@@ -10,7 +10,7 @@ For instance in the url `cassandra://var/mail/error/` `cassandra` is the protoco
 
 The *mailrepositorystore.xml* file allows registration of available protocols, and their binding to actual MailRepository
 implementation. Note that extension developers can write their own MailRepository implementations, load them via the
-`extensions-jars` mechanism as documented in xref:distributed/extending/index.adoc['writing your own extensions'], and finally
+`extensions-jars` mechanism as documented in xref:extending/index.adoc['writing your own extensions'], and finally
 associated to a protocol in *mailrepositorystore.xml* for a usage in *mailetcontainer.xml*.
 
 == Configuration
@@ -32,4 +32,4 @@ to get some examples and hints.
 ....
 
 Only the *CassandraMailRepository* is available by default for the Distributed Server. Mails metadata are stored in
-Cassandra while the headers and bodies are stored within the xref:distributed/architecture.adoc#_blobstore[BlobStore].
+Cassandra while the headers and bodies are stored within the xref:architecture.adoc#_blobstore[BlobStore].
diff --git a/docs/modules/servers/pages/distributed/configure/matchers.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/matchers.adoc
similarity index 100%
rename from docs/modules/servers/pages/distributed/configure/matchers.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/configure/matchers.adoc
diff --git a/docs/modules/servers/pages/distributed/configure/pop3.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/pop3.adoc
similarity index 95%
rename from docs/modules/servers/pages/distributed/configure/pop3.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/configure/pop3.adoc
index 73114c4..e065937 100644
--- a/docs/modules/servers/pages/distributed/configure/pop3.adoc
+++ b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/pop3.adoc
@@ -35,7 +35,7 @@ port 110 is the well-known/IANA registered port for Standard POP3
 To create a new keystore execute:
 `keytool -genkey -alias james -keyalg RSA -storetype PKCS12 -keystore /path/to/james/conf/keystore`
 Please note that each POP3 server exposed on different port can specify its own keystore, independently from any other
-TLS based protocols. Read xref:distributed/configure/ssl.adoc[SSL configuration page] for more information.
+TLS based protocols. Read xref:configure/ssl.adoc[SSL configuration page] for more information.
 
 | handler.helloName
 | This is the name used by the server to identify itself in the POP3
diff --git a/docs/modules/servers/pages/distributed/configure/rabbitmq.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/rabbitmq.adoc
similarity index 100%
rename from docs/modules/servers/pages/distributed/configure/rabbitmq.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/configure/rabbitmq.adoc
diff --git a/docs/modules/servers/pages/distributed/configure/recipientrewritetable.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/recipientrewritetable.adoc
similarity index 81%
rename from docs/modules/servers/pages/distributed/configure/recipientrewritetable.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/configure/recipientrewritetable.adoc
index 99b044d..c61d20a 100644
--- a/docs/modules/servers/pages/distributed/configure/recipientrewritetable.adoc
+++ b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/recipientrewritetable.adoc
@@ -1,7 +1,7 @@
 = Distributed James Server &mdash; recipientrewritetable.xml
 :navtitle: recipientrewritetable.xml
 
-Here are explanations on the different kinds about xref:distributed/architecture/index.adoc#_recipient_rewrite_tables[recipient rewritting].
+Here are explanations on the different kinds about xref:architecture/index.adoc#_recipient_rewrite_tables[recipient rewritting].
 
 Consult this link:https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration/recipientrewritetable.xml[example]
 to get some examples and hints.
diff --git a/docs/modules/servers/pages/distributed/configure/remote-delivery-error-handling.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/remote-delivery-error-handling.adoc
similarity index 96%
rename from docs/modules/servers/pages/distributed/configure/remote-delivery-error-handling.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/configure/remote-delivery-error-handling.adoc
index 55764e7..136b0f3 100644
--- a/docs/modules/servers/pages/distributed/configure/remote-delivery-error-handling.adoc
+++ b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/remote-delivery-error-handling.adoc
@@ -102,7 +102,7 @@ This can be achieved via the following webAdmin call :
 curl -XPATCH 'http://ip:8000/mailRepositories/cassandra%3A%2F%2Fvar%2Fmail%2Ferror%2Fremote-delivery%2Ftemporary%2F/mails?action=reprocess&processor=relay'
 ....
 
-See xref:distributed/operate/webadmin.adoc#_reprocessing_mails_from_a_mail_repository[the documentation].
+See xref:operate/webadmin.adoc#_reprocessing_mails_from_a_mail_repository[the documentation].
 
 Administrators need to keep a close eye on permanent errors (that might require audit, and potentially contacting the remote
 service supplier).
@@ -114,4 +114,4 @@ via webAdmin calls:
 curl -XGET 'http://ip:8000/mailRepositories/cassandra%3A%2F%2Fvar%2Fmail%2Ferror%2Fremote-delivery%2Ftemporary%2F/mails'
 ....
 
-See xref:distributed/operate/webadmin.adoc#_listing_mails_contained_in_a_mail_repository[the documentation].
+See xref:operate/webadmin.adoc#_listing_mails_contained_in_a_mail_repository[the documentation].
diff --git a/docs/modules/servers/pages/distributed/configure/smtp-hooks.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/smtp-hooks.adoc
similarity index 97%
rename from docs/modules/servers/pages/distributed/configure/smtp-hooks.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/configure/smtp-hooks.adoc
index 441a703..8011868 100644
--- a/docs/modules/servers/pages/distributed/configure/smtp-hooks.adoc
+++ b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/smtp-hooks.adoc
@@ -61,7 +61,7 @@ Example configuration:
 
 The Distributed server has optional support for DSN (link:https://tools.ietf.org/html/rfc3461[RFC-3461])
 
-Please read carefully xref:distributed/configure/dsn.adoc[this page].
+Please read carefully xref:configure/dsn.adoc[this page].
 
 ....
 <smtpserver enabled="true">
@@ -77,7 +77,7 @@ Please read carefully xref:distributed/configure/dsn.adoc[this page].
 </smtpserver>
 ....
 
-Note that a specific configuration of xref:distributed/configure/mailetcontainer.adoc[mailetcontainer.xml] is
+Note that a specific configuration of xref:configure/mailetcontainer.adoc[mailetcontainer.xml] is
 required as well to be spec compliant.
 
 == MailPriorityHandler
diff --git a/docs/modules/servers/pages/distributed/configure/smtp.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/smtp.adoc
similarity index 98%
rename from docs/modules/servers/pages/distributed/configure/smtp.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/configure/smtp.adoc
index 17eed15..e6ead39 100644
--- a/docs/modules/servers/pages/distributed/configure/smtp.adoc
+++ b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/smtp.adoc
@@ -109,7 +109,7 @@ MAIL command is accepted. If unspecified, the value defaults to true.
 If none is specified a default is generated
 
 | handlerchain
-| The configuration handler chain. See xref:distributed/configure/smtp-hooks.adoc[this page] for configuring out-of the
+| The configuration handler chain. See xref:configure/smtp-hooks.adoc[this page] for configuring out-of the
 box extra SMTP handlers and hooks.
 
 |===
@@ -136,7 +136,7 @@ At this time Apache James Server only supports simple user name / password authe
 As mentioned above, SMTP AUTH requires that Apache James Server be able to distinguish between mail intended
 for local delivery and mail intended for remote delivery. Apache James Server makes this determination by matching the
 domain to which the mail was sent against the *DomainList* component, configured by
-xref:distributed/configure/domainlist.adoc[*domainlist.xml*].
+xref:configure/domainlist.adoc[*domainlist.xml*].
 
 The Distributed Server is configured out of the box so as to not serve as an open relay for spammers.  This is done
 by relayed emails originate from a trusted source. This includes:
diff --git a/docs/modules/servers/pages/distributed/configure/spam.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/spam.adoc
similarity index 98%
rename from docs/modules/servers/pages/distributed/configure/spam.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/configure/spam.adoc
index a4d4978..7a6b240 100644
--- a/docs/modules/servers/pages/distributed/configure/spam.adoc
+++ b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/spam.adoc
@@ -76,7 +76,7 @@ The SpamAssassin listener requires an extra configuration file `spamassassin.pro
 
 Note that this configuration file only affects the listener, and not the hook or mailet.
 
-The SpamAssassin listener needs to explicitly be registered with xref:distributed/configure/listeners.adoc[listeners.xml].
+The SpamAssassin listener needs to explicitly be registered with xref:configure/listeners.adoc[listeners.xml].
 
 Example:
 
diff --git a/docs/modules/servers/pages/distributed/configure/ssl.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/ssl.adoc
similarity index 97%
rename from docs/modules/servers/pages/distributed/configure/ssl.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/configure/ssl.adoc
index 07c90b5..140d5d4 100644
--- a/docs/modules/servers/pages/distributed/configure/ssl.adoc
+++ b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/ssl.adoc
@@ -6,8 +6,8 @@ for encrypted client-server communication.
 
 == Configure a Server to Use SSL/TLS
 
-Each of the servers xref:distributed/configure/smtp.adoc[SMTP - LMTP],
-xref:distributed/configure/pop3.adoc[POP3] and xref:distributed/configure/imap.adoc[IMAP]
+Each of the servers xref:configure/smtp.adoc[SMTP - LMTP],
+xref:configure/pop3.adoc[POP3] and xref:configure/imap.adoc[IMAP]
 supports use of SSL/TLS.
 
 TLS (Transport Layer Security) and SSL (Secure Sockets Layer) are protocols that provide
diff --git a/docs/modules/servers/pages/distributed/configure/tika.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/tika.adoc
similarity index 100%
rename from docs/modules/servers/pages/distributed/configure/tika.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/configure/tika.adoc
diff --git a/docs/modules/servers/pages/distributed/configure/usersrepository.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/usersrepository.adoc
similarity index 100%
rename from docs/modules/servers/pages/distributed/configure/usersrepository.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/configure/usersrepository.adoc
diff --git a/docs/modules/servers/pages/distributed/configure/vault.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/vault.adoc
similarity index 76%
rename from docs/modules/servers/pages/distributed/configure/vault.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/configure/vault.adoc
index 9f38883..ab8d6c0 100644
--- a/docs/modules/servers/pages/distributed/configure/vault.adoc
+++ b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/vault.adoc
@@ -4,19 +4,19 @@
 Deleted Messages Vault is the component in charge of retaining messages before they are going to be deleted.
 Messages stored in the Deleted Messages Vault could be deleted after exceeding their retentionPeriod (explained below).
 It also supports to restore or export messages matching with defined criteria in
-xref:distributed/operate/webadmin.adoc#_deleted_messages_vault[WebAdmin deleted messages vault document] by using
-xref:distributed/operate/webadmin.adoc#_deleted_messages_vault[WebAdmin endpoints].
+xref:operate/webadmin.adoc#_deleted_messages_vault[WebAdmin deleted messages vault document] by using
+xref:operate/webadmin.adoc#_deleted_messages_vault[WebAdmin endpoints].
 
 == Deleted Messages Vault Configuration
 
 To make James use DeletedMessageVault, you need to configure the PreDeletionHook for it.
 
-How to do this is documented in the xref:distributed/configure/listeners.adoc[*listeners.xml*]
+How to do this is documented in the xref:configure/listeners.adoc[*listeners.xml*]
 Mailbox Listener Configuration page.
 
 The Deleted Messages Vault also stores and manages deleted messages into a BlobStore. The BlobStore can be either
 based on an object storage or on Cassandra. For configuring the BlobStore the vault will use, you can look at
-xref:distributed/configure/blobstore.adoc[*blobstore.properties*] BlobStore Configuration section.
+xref:configure/blobstore.adoc[*blobstore.properties*] BlobStore Configuration section.
 
 == deletedMessageVault.properties
 
diff --git a/docs/modules/servers/pages/distributed/configure/webadmin.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/webadmin.adoc
similarity index 97%
rename from docs/modules/servers/pages/distributed/configure/webadmin.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/configure/webadmin.adoc
index c1f66f5..8ca1f3e 100644
--- a/docs/modules/servers/pages/distributed/configure/webadmin.adoc
+++ b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/webadmin.adoc
@@ -61,7 +61,7 @@ Defaults to the `jwt.publickeypem.url` value of `jmap.properties` file if unspec
 | extensions.routes
 | List of Routes specified as fully qualified class name that should be loaded in addition to your product routes list. Routes
 needs to be on the classpath or in the ./extensions-jars folder. Read mode about
-xref:distributed/extending/webadmin-routes.adoc[creating you own webadmin routes].
+xref:extending/webadmin-routes.adoc[creating you own webadmin routes].
 
 |===
 
diff --git a/docs/modules/servers/pages/distributed/extending/index.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/extending/index.adoc
similarity index 87%
rename from docs/modules/servers/pages/distributed/extending/index.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/extending/index.adoc
index 2eda09e..13f73c9 100644
--- a/docs/modules/servers/pages/distributed/extending/index.adoc
+++ b/server/apps/distributed-app/docs/modules/ROOT/pages/extending/index.adoc
@@ -9,17 +9,17 @@ The Distributed Server exposes several interfaces allowing the user to write cus
 order to extend the Distributed Server behavior.
 
 Writing *Mailets* and *Matchers* allows one to supply custom components for the
-xref:distributed/extending/mail-processing.adoc[Mail Processing] and
+xref:extending/mail-processing.adoc[Mail Processing] and
 enables to take decisions, and implement your business logic at the transport level.
 
-Writing xref:distributed/extending/mailbox-listeners.adoc[Mailbox listeners] enables to
+Writing xref:extending/mailbox-listeners.adoc[Mailbox listeners] enables to
 react to your user interaction with their mailbox. This powerful tool allows build advanced features
 for mail delivery servers.
 
-Writing xref:distributed/extending/smtp-hooks.adoc[SMTP hookd] enables to
+Writing xref:extending/smtp-hooks.adoc[SMTP hookd] enables to
 add features to your SMTP server.
 
-Writing xref:distributed/extending/webadmin-routes.adoc[WebAdmin routes] enables to
+Writing xref:extending/webadmin-routes.adoc[WebAdmin routes] enables to
 add features to the WebAdmin REST API.
 
 == Handling injections for your extensions
@@ -108,7 +108,7 @@ public class MyServiceModule extends AbstractModule {
 Both *MyService*, *MyServiceImpl* and *MyServiceModule* needs to be in the *extensions-jars*
 folder (potentially different jars).
 
- * 4. *MyServiceModule* needs to be registered in xref:distributed/configure/extensions.adoc[*extensions.properties*]
+ * 4. *MyServiceModule* needs to be registered in xref:configure/extensions.adoc[*extensions.properties*]
 
  * 5. *MyService* can then be used as part of your extensions
 
diff --git a/docs/modules/servers/pages/distributed/extending/mail-processing.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/extending/mail-processing.adoc
similarity index 100%
rename from docs/modules/servers/pages/distributed/extending/mail-processing.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/extending/mail-processing.adoc
diff --git a/docs/modules/servers/pages/distributed/extending/mailbox-listeners.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/extending/mailbox-listeners.adoc
similarity index 93%
rename from docs/modules/servers/pages/distributed/extending/mailbox-listeners.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/extending/mailbox-listeners.adoc
index e8cfd1d..02df0af 100644
--- a/docs/modules/servers/pages/distributed/extending/mailbox-listeners.adoc
+++ b/server/apps/distributed-app/docs/modules/ROOT/pages/extending/mailbox-listeners.adoc
@@ -35,7 +35,7 @@ handled events and can save some IOs.
 
 Your custom additional listener needs to be in the *extensions-jars* folder.
 
-You need to register its fully qualified class name in xref:distributed/configure/listeners.adoc[listeners.xml]
+You need to register its fully qualified class name in xref:configure/listeners.adoc[listeners.xml]
 
 == Events
 
diff --git a/docs/modules/servers/pages/distributed/extending/smtp-hooks.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/extending/smtp-hooks.adoc
similarity index 93%
rename from docs/modules/servers/pages/distributed/extending/smtp-hooks.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/extending/smtp-hooks.adoc
index 8663359..2d8b370 100644
--- a/docs/modules/servers/pages/distributed/extending/smtp-hooks.adoc
+++ b/server/apps/distributed-app/docs/modules/ROOT/pages/extending/smtp-hooks.adoc
@@ -53,7 +53,7 @@ The following interfaces allows interacting with the following commands:
 
 == Custom hook registration
 
-Register you hooks using xref:distributed/configure/smtp.adoc[*smtpserver.xml*] handlerchain property.
+Register you hooks using xref:configure/smtp.adoc[*smtpserver.xml*] handlerchain property.
 
 == Writing additional SMTP commands
 
diff --git a/docs/modules/servers/pages/distributed/extending/webadmin-routes.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/extending/webadmin-routes.adoc
similarity index 85%
rename from docs/modules/servers/pages/distributed/extending/webadmin-routes.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/extending/webadmin-routes.adoc
index d06a0af..a4fe5e9 100644
--- a/docs/modules/servers/pages/distributed/extending/webadmin-routes.adoc
+++ b/server/apps/distributed-app/docs/modules/ROOT/pages/extending/webadmin-routes.adoc
@@ -35,5 +35,5 @@ public interface Routes {
 
 Your custom WebAdmin routes needs to be in the *extensions-jars* folder.
 
-You need to register its fully qualified class name in xref:distributed/configure/webadmin.adoc[webadmin.properties]
+You need to register its fully qualified class name in xref:configure/webadmin.adoc[webadmin.properties]
 using the *extensions.routes* property.
\ No newline at end of file
diff --git a/docs/modules/servers/pages/distributed.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/index.adoc
similarity index 56%
rename from docs/modules/servers/pages/distributed.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/index.adoc
index 4f147b1..c5e3d91 100644
--- a/docs/modules/servers/pages/distributed.adoc
+++ b/server/apps/distributed-app/docs/modules/ROOT/pages/index.adoc
@@ -1,5 +1,5 @@
 = James Distributed Mail Server
-:navtitle: Distributed
+:navtitle: Distributed James Application
 
 The Distributed server offers an easy way to scale email server. Based on
 noSQL solutions, it is intended to be easy to operate for large
@@ -17,11 +17,11 @@ This server is:
 
 In this section of the documentation, we will introduce you to:
 
-* xref:distributed/objectives.adoc[Objectives and motivation of the Distributed Server]
-* xref:distributed/architecture/index.adoc[Overview of architecture]
-* xref:distributed/run.adoc[Running the Distributed Server]
-* xref:distributed/run-docker.adoc[Run the Distributed Server with Docker]
-* xref:distributed/configure/index.adoc[Configure the Distributed Server]
-* xref:distributed/operate/index.adoc[Operation of the Distributed Server]
-* xref:distributed/extending/index.adoc[How to extend the server]
+* xref:objectives.adoc[Objectives and motivation of the Distributed Server]
+* xref:architecture/index.adoc[Overview of architecture]
+* xref:run.adoc[Running the Distributed Server]
+* xref:run-docker.adoc[Run the Distributed Server with Docker]
+* xref:configure/index.adoc[Configure the Distributed Server]
+* xref:operate/index.adoc[Operation of the Distributed Server]
+* xref:extending/index.adoc[How to extend the server]
 
diff --git a/docs/modules/servers/pages/distributed/objectives.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/objectives.adoc
similarity index 88%
rename from docs/modules/servers/pages/distributed/objectives.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/objectives.adoc
index 327778c..eb8f740 100644
--- a/docs/modules/servers/pages/distributed/objectives.adoc
+++ b/server/apps/distributed-app/docs/modules/ROOT/pages/objectives.adoc
@@ -26,6 +26,6 @@ databases.
 
 Furthermore, this server is intended to be easily customisable so that it can easily be adapted to ones needs.
 
-* Several packaged extensions can be xref:distributed/configure/index.adoc#_for_extensions[configured]
-* It is easy to write and load xref:distributed/extending/index.adoc[your own extensions]
+* Several packaged extensions can be xref:configure/index.adoc#_for_extensions[configured]
+* It is easy to write and load xref:extending/index.adoc[your own extensions]
 
diff --git a/docs/modules/servers/pages/distributed/operate/cassandra-migration.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/operate/cassandra-migration.adoc
similarity index 83%
rename from docs/modules/servers/pages/distributed/operate/cassandra-migration.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/operate/cassandra-migration.adoc
index 6bdf357..02c77de 100644
--- a/docs/modules/servers/pages/distributed/operate/cassandra-migration.adoc
+++ b/server/apps/distributed-app/docs/modules/ROOT/pages/operate/cassandra-migration.adoc
@@ -11,7 +11,7 @@ automatically current schema version used (assess in the database old versions i
 Note that this process is safe: we ensure the service is not running concurrently on this James instance, that it does not bump
 version upon partial failures, that race condition in version upgrades will be idempotent, etc...
 
-These schema updates can be triggered by xref:distributed/operate/webadmin.adoc#_cassandra_schema_upgrades[webadmin].
+These schema updates can be triggered by xref:operate/webadmin.adoc#_cassandra_schema_upgrades[webadmin].
 
 Note that currently the progress can be tracked by logs.
 
@@ -21,4 +21,4 @@ Here are the implemented migrations:
 * *From V9 to V10* : Handles Mailbox ACL transactionality with event-sourcing. We got read of SERIAL consistency upon
 reads thus unlocking a major performance enhancement.
 
-The xref:distributed/operate/guide.adoc#_updating_cassandra_schema_version[Operator guide] further details the migration process.
\ No newline at end of file
+The xref:operate/guide.adoc#_updating_cassandra_schema_version[Operator guide] further details the migration process.
\ No newline at end of file
diff --git a/docs/modules/servers/pages/distributed/operate/cli.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/operate/cli.adoc
similarity index 100%
rename from docs/modules/servers/pages/distributed/operate/cli.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/operate/cli.adoc
diff --git a/docs/modules/servers/pages/distributed/operate/guide.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/operate/guide.adoc
similarity index 84%
rename from docs/modules/servers/pages/distributed/operate/guide.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/operate/guide.adoc
index 8ec705f..50b5bbb 100644
--- a/docs/modules/servers/pages/distributed/operate/guide.adoc
+++ b/server/apps/distributed-app/docs/modules/ROOT/pages/operate/guide.adoc
@@ -20,9 +20,9 @@ considered experimental and thus targets advanced users.
 
 A toolbox is available to help an administrator diagnose issues:
 
-* xref:distributed/operate/logging.adoc[Structured logging into Kibana]
-* xref:distributed/operate/metrics.adoc[Metrics graphs into Grafana]
-* xref:distributed/operate/webadmin.adoc#_healthcheck[WebAdmin HealthChecks]
+* xref:operate/logging.adoc[Structured logging into Kibana]
+* xref:operate/metrics.adoc[Metrics graphs into Grafana]
+* xref:operate/webadmin.adoc#_healthcheck[WebAdmin HealthChecks]
 
 == Mail processing
 
@@ -35,15 +35,15 @@ Furthermore, given the default mailet container configuration, we recommend moni
 `cassandra://var/mail/error/` to be empty.
 
 WebAdmin exposes all utilities for
-xref:distributed/operate/webadmin.adoc#_reprocessing_mails_from_a_mail_repository[reprocessing
+xref:operate/webadmin.adoc#_reprocessing_mails_from_a_mail_repository[reprocessing
 all mails in a mail repository] or
-xref:distributed/operate/webadmin.adoc#_reprocessing_a_specific_mail_from_a_mail_repository[reprocessing
+xref:operate/webadmin.adoc#_reprocessing_a_specific_mail_from_a_mail_repository[reprocessing
 a single mail in a mail repository].
 
 Also, one can decide to
-xref:distributed/operate/webadmin.adoc#_removing_all_mails_from_a_mail_repository[delete
+xref:operate/webadmin.adoc#_removing_all_mails_from_a_mail_repository[delete
 all the mails of a mail repository] or
-xref:distributed/operate/webadmin.adoc#_removing_a_mail_from_a_mail_repository[delete
+xref:operate/webadmin.adoc#_removing_a_mail_from_a_mail_repository[delete
 a single mail of a mail repository].
 
 Performance of mail processing can be monitored via the
@@ -60,14 +60,14 @@ to emails being stored in `cassandra://var/mail/rrt-error/`.
 We recommend monitoring the content of this mail repository to be empty.
 
 If it is not empty, we recommend
-verifying user mappings via xref:distributed/operate/webadmin.adoc#_user_mappings[User Mappings webadmin API] then once identified break the loop by removing
+verifying user mappings via xref:operate/webadmin.adoc#_user_mappings[User Mappings webadmin API] then once identified break the loop by removing
 some Recipient Rewrite Table entry via the
-xref:distributed/operate/webadmin.adoc#_removing_an_alias_of_an_user[Delete Alias],
-xref:distributed/operate/webadmin.adoc#_removing_a_group_member[Delete Group member],
-xref:distributed/operate/webadmin.adoc#_removing_a_destination_of_a_forward[Delete forward],
-xref:distributed/operate/webadmin.adoc#_remove_an_address_mapping[Delete Address mapping],
-xref:distributed/operate/webadmin.adoc#_removing_a_domain_mapping[Delete Domain mapping]
-or xref:distributed/operate/webadmin.adoc#_removing_a_regex_mapping[Delete Regex mapping]
+xref:operate/webadmin.adoc#_removing_an_alias_of_an_user[Delete Alias],
+xref:operate/webadmin.adoc#_removing_a_group_member[Delete Group member],
+xref:operate/webadmin.adoc#_removing_a_destination_of_a_forward[Delete forward],
+xref:operate/webadmin.adoc#_remove_an_address_mapping[Delete Address mapping],
+xref:operate/webadmin.adoc#_removing_a_domain_mapping[Delete Domain mapping]
+or xref:operate/webadmin.adoc#_removing_a_regex_mapping[Delete Regex mapping]
 APIs (as needed).
 
 The `Mail.error` field can help diagnose the issue as well. Then once
@@ -94,31 +94,31 @@ grafana board].
 Upon exceptions, a bounded number of retries are performed (with
 exponential backoff delays). If after those retries the listener is
 still failing to perform its operation, then the event will be stored in
-the xref:distributed/operate/webadmin.adoc#_event_dead_letter[Event Dead Letter]. This
+the xref:operate/webadmin.adoc#_event_dead_letter[Event Dead Letter]. This
 API allows diagnosing issues, as well as redelivering the events.
 
 To check that you have undelivered events in your system, you can first
 run the associated with
-xref:distributed/operate/webadmin.adoc#_healthcheck[event dead letter health check] .
+xref:operate/webadmin.adoc#_healthcheck[event dead letter health check] .
 You can explore Event DeadLetter content through WebAdmin. For
-this, xref:distributed/operate/webadmin.adoc#_listing_mailbox_listener_groups[list mailbox listener groups]
+this, xref:operate/webadmin.adoc#_listing_mailbox_listener_groups[list mailbox listener groups]
 you will get a list of groups back, allowing
 you to check if those contain registered events in each by
-xref:distributed/operate/webadmin.adoc#_listing_failed_events[listing their failed events].
+xref:operate/webadmin.adoc#_listing_failed_events[listing their failed events].
 
 If you get failed events IDs back, you can as well
-xref:distributed/operate/webadmin.adoc#_getting_event_details[check their details].
+xref:operate/webadmin.adoc#_getting_event_details[check their details].
 
 An easy way to solve this is just to trigger then the
-xref:distributed/operate/webadmin.adoc#_redeliver_all_events[redeliver all events]
+xref:operate/webadmin.adoc#_redeliver_all_events[redeliver all events]
 task. It will start reprocessing all the failed events registered in
 event dead letters.
 
 If for some other reason you don’t need to redeliver all events, you
 have more fine-grained operations allowing you to
-xref:distributed/operate/webadmin.adoc#_redeliver_group_events[redeliver group events]
+xref:operate/webadmin.adoc#_redeliver_group_events[redeliver group events]
 or even just
-xref:distributed/operate/webadmin.adoc#_redeliver_a_single_event[redeliver a single event].
+xref:operate/webadmin.adoc#_redeliver_a_single_event[redeliver a single event].
 
 == ElasticSearch Indexing
 
@@ -135,7 +135,7 @@ processing those events can fail sometimes.
 
 Currently, an administrator can monitor indexation failures through
 `ERROR` log review. You can as well
-xref:distributed/operate/webadmin.adoc#_listing_failed_events[list failed events] by
+xref:operate/webadmin.adoc#_listing_failed_events[list failed events] by
 looking with the group called
 `org.apache.james.mailbox.elasticsearch.v7.events.ElasticSearchListeningMessageSearchIndex$ElasticSearchListeningMessageSearchIndexGroup`.
 A first on-the-fly solution could be to just
@@ -146,13 +146,13 @@ Cassandra storage exceptions), then you might need to use our WebAdmin
 reIndexing tasks.
 
 From there, you have multiple choices. You can
-xref:distributed/operate/webadmin.adoc#_reindexing_all_mails[reIndex all mails],
-xref:distributed/operate/webadmin.adoc#_reindexing_a_mailbox_mails[reIndex mails from a mailbox] or even just
-xref:distributed/operate/webadmin.adoc#_reindexing_a_single_mail_by_messageid[reIndex a single mail].
+xref:operate/webadmin.adoc#_reindexing_all_mails[reIndex all mails],
+xref:operate/webadmin.adoc#_reindexing_a_mailbox_mails[reIndex mails from a mailbox] or even just
+xref:operate/webadmin.adoc#_reindexing_a_single_mail_by_messageid[reIndex a single mail].
 
 When checking the result of a reIndexing task, you might have failed
 reprocessed mails. You can still use the task ID to
-xref:distributed/operate/webadmin.adoc#_fixing_previously_failed_reindexing[reprocess previously failed reIndexing mails].
+xref:operate/webadmin.adoc#_fixing_previously_failed_reindexing[reprocess previously failed reIndexing mails].
 
 === On the fly ElasticSearch Index setting update
 
@@ -213,7 +213,7 @@ message reads and will temporary decrease the performance.
 ==== How to detect the outdated projections
 
 You can watch the `MessageFastViewProjection` health check at
-xref:distributed/operate/webadmin.adoc#_check_all_components[webadmin documentation].
+xref:operate/webadmin.adoc#_check_all_components[webadmin documentation].
 It provides a check based on the ratio of missed projection reads.
 
 ==== How to solve
@@ -242,7 +242,7 @@ diagnostic and fixes.
 ==== How to solve
 
 An admin can run offline webadmin
-xref:distributed/operate/webadmin.adoc#_fixing_mailboxes_inconsistencies[solve Cassandra mailbox object inconsistencies task]
+xref:operate/webadmin.adoc#_fixing_mailboxes_inconsistencies[solve Cassandra mailbox object inconsistencies task]
 in order to sanitize his
 mailbox denormalization.
 
@@ -266,7 +266,7 @@ message prefix: `Invalid mailbox counters`.
 ==== How to solve
 
 Execute the
-xref:distributed/operate/webadmin.adoc#_recomputing_mailbox_counters[recompute Mailbox counters task].
+xref:operate/webadmin.adoc#_recomputing_mailbox_counters[recompute Mailbox counters task].
 This task is not concurrent-safe. Concurrent
 increments & decrements will be ignored during a single mailbox
 processing. Re-running this task may eventually return the correct
@@ -286,7 +286,7 @@ User can see a message in JMAP but not in IMAP, or mark a message as
 ==== How to solve
 
 Execute the
-xref:distributed/operate/webadmin.adoc#_fixing_message_inconsistencies[solve Cassandra message inconsistencies task]. This task is not
+xref:operate/webadmin.adoc#_fixing_message_inconsistencies[solve Cassandra message inconsistencies task]. This task is not
 concurrent-safe. User actions concurrent to the inconsistency fixing
 task could result in new inconsistencies being created. However the
 source of truth `imapUidTable` will not be affected and thus re-running
@@ -306,7 +306,7 @@ Incorrect quotas could be seen in the `Mail User Agent` (IMAP or JMAP).
 ==== How to solve
 
 Execute the
-xref:distributed/operate/webadmin.adoc#_recomputing_current_quotas_for_users[recompute Quotas counters task]. This task is not concurrent-safe. Concurrent
+xref:operate/webadmin.adoc#_recomputing_current_quotas_for_users[recompute Quotas counters task]. This task is not concurrent-safe. Concurrent
 operations will result in an invalid quota to be persisted. Re-running
 this task may eventually return the correct result.
 
@@ -326,7 +326,7 @@ the mean time, the recommendation is to execute the
 ==== How to solve
 
 Execute the Cassandra mapping `SolveInconsistencies` task described in
-xref:distributed/operate/webadmin.adoc#_operations_on_mappings_sources[webadmin documentation]
+xref:operate/webadmin.adoc#_operations_on_mappings_sources[webadmin documentation]
 
 == Setting Cassandra user permissions
 
@@ -498,16 +498,16 @@ performance issues. As such, we advise setting
 
 Managing an email queue is an easy task if you follow this procedure:
 
-* First, xref:distributed/operate/webadmin.adoc#_listing_mail_queues[List mail queues]
-and xref:distributed/operate/webadmin.adoc#_getting_a_mail_queue_details[get a mail queue details].
+* First, xref:operate/webadmin.adoc#_listing_mail_queues[List mail queues]
+and xref:operate/webadmin.adoc#_getting_a_mail_queue_details[get a mail queue details].
 * And then
-xref:distributed/operate/webadmin.adoc#_listing_the_mails_of_a_mail_queue[List the mails of a mail queue].
+xref:operate/webadmin.adoc#_listing_the_mails_of_a_mail_queue[List the mails of a mail queue].
 
 In case, you need to clear an email queue because there are only spam or
 trash emails in the email queue you have this procedure to follow:
 
 * All mails from the given mail queue will be deleted with
-xref:distributed/operate/webadmin.adoc#_clearing_a_mail_queue[Clearing a mail queue].
+xref:operate/webadmin.adoc#_clearing_a_mail_queue[Clearing a mail queue].
 
 == Updating Cassandra schema version
 
@@ -544,20 +544,20 @@ These schema updates can be triggered by webadmin using the Cassandra
 backend. Following steps are for updating Cassandra schema version:
 
 * At the very first step, you need to
-xref:distributed/operate/webadmin.adoc#_retrieving_current_cassandra_schema_version[retrieve
+xref:operate/webadmin.adoc#_retrieving_current_cassandra_schema_version[retrieve
 current Cassandra schema version]
 * And then, you
-xref:distributed/operate/webadmin.adoc#_retrieving_latest_available_cassandra_schema_version[retrieve
+xref:operate/webadmin.adoc#_retrieving_latest_available_cassandra_schema_version[retrieve
 latest available Cassandra schema version] to make sure there is a
 latest available version
 * Eventually, you can update the current schema version to the one you
 got with
-xref:distributed/operate/webadmin.adoc#_upgrading_to_the_latest_version[upgrading to
+xref:operate/webadmin.adoc#_upgrading_to_the_latest_version[upgrading to
 the latest version]
 
 Otherwise, if you need to run the migrations to a specific version, you
 can use
-xref:distributed/operate/webadmin.adoc#_upgrading_to_a_specific_version[Upgrading to a
+xref:operate/webadmin.adoc#_upgrading_to_a_specific_version[Upgrading to a
 specific version]
 
 == Deleted Message Vault
@@ -595,13 +595,13 @@ by default if not defined).
 === Restore deleted messages after deletion
 
 After users deleted their mails and emptied the trash, the admin can use
-xref:distributed/operate/webadmin.adoc#_restore_deleted_messagest[Restore Deleted Messages]
+xref:operate/webadmin.adoc#_restore_deleted_messagest[Restore Deleted Messages]
 to restore all the deleted mails.
 
 === Cleaning expired deleted messages
 
 You can delete all deleted messages older than the configured
 `retentionPeriod` by using
-xref:distributed/operate/webadmin.adoc#_deleted_messages_vault[Purge Deleted Messages].
+xref:operate/webadmin.adoc#_deleted_messages_vault[Purge Deleted Messages].
 We recommend calling this API in CRON job on 1st day each
 month.
diff --git a/docs/modules/servers/pages/distributed/operate/index.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/operate/index.adoc
similarity index 81%
rename from docs/modules/servers/pages/distributed/operate/index.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/operate/index.adoc
index 282b163..3b7ba31 100644
--- a/docs/modules/servers/pages/distributed/operate/index.adoc
+++ b/server/apps/distributed-app/docs/modules/ROOT/pages/operate/index.adoc
@@ -7,24 +7,24 @@ Once you have a Distributed James server up and running you then need to ensure
 You may also need to perform some operation maintenance or recover from incidents. This section covers
 these topics.
 
-Read more about xref:distributed/operate/logging.adoc[Logging].
+Read more about xref:operate/logging.adoc[Logging].
 
-The xref:distributed/operate/webadmin.adoc[WebAdmin Restfull administration API] is the
+The xref:operate/webadmin.adoc[WebAdmin Restfull administration API] is the
 recommended way to operate the Distributed James server. It allows managing and interacting with most
 server components.
 
-The xref:distributed/operate/cli.adoc[Command line interface] allows to interact with some
+The xref:operate/cli.adoc[Command line interface] allows to interact with some
 server components. However it relies on JMX technologies and its use is discouraged.
 
-The xref:distributed/operate/metrics.adoc[metrics] allows to build latency and throughput
+The xref:operate/metrics.adoc[metrics] allows to build latency and throughput
 graphs, that can be visualized, for instance in *Grafana*.
 
-We did put together a xref:distributed/operate/guide.adoc[detailed guide] for
+We did put together a xref:operate/guide.adoc[detailed guide] for
 distributed James operators.
 
-We also included a guide for xref:distributed/operate/migrating.adoc[migrating existing data] into the distributed server.
+We also included a guide for xref:operate/migrating.adoc[migrating existing data] into the distributed server.
 
-Read more about xref:distributed/operate/cassandra-migration.adoc[Cassandra data migration].
+Read more about xref:operate/cassandra-migration.adoc[Cassandra data migration].
 
 == Upgrading
 
diff --git a/docs/modules/servers/pages/distributed/operate/logging.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/operate/logging.adoc
similarity index 100%
rename from docs/modules/servers/pages/distributed/operate/logging.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/operate/logging.adoc
diff --git a/docs/modules/servers/pages/distributed/operate/metrics.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/operate/metrics.adoc
similarity index 100%
rename from docs/modules/servers/pages/distributed/operate/metrics.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/operate/metrics.adoc
diff --git a/docs/modules/servers/pages/distributed/operate/migrating.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/operate/migrating.adoc
similarity index 69%
rename from docs/modules/servers/pages/distributed/operate/migrating.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/operate/migrating.adoc
index 258baca..0726d2a 100644
--- a/docs/modules/servers/pages/distributed/operate/migrating.adoc
+++ b/server/apps/distributed-app/docs/modules/ROOT/pages/operate/migrating.adoc
@@ -3,7 +3,7 @@
 
 This page presents how operators can migrate your user mailbox and mails into the Distributed Server in order to adopt it.
 
-We assume you have a xref:distributed/configure/index.adoc[well configured] running Distributed server
+We assume you have a xref:configure/index.adoc[well configured] running Distributed server
 at hand. We also assume existing mails are hosted on a tier mail server which can be accessed via IMAP and supports
 impersonation.
 
@@ -11,14 +11,14 @@ First, you want to create the domains handled by your server, as  well as the us
 can be performed via WebAdmin or the CLI.
 
  * Using webadmin :
- ** Read xref:distributed/operate/webadmin.adoc#_create_a_domain[this section] for creating domains
- ** Read xref:distributed/operate/webadmin.adoc#_create_a_user[this section] for creating users
+ ** Read xref:operate/webadmin.adoc#_create_a_domain[this section] for creating domains
+ ** Read xref:operate/webadmin.adoc#_create_a_user[this section] for creating users
  * Using the CLI :
- ** Read xref:distributed/operate/cli.adoc#_manage_domains[this section] for creating domains
- ** Read xref:distributed/operate/cli.adoc#_manage_users[this section] for creating users
+ ** Read xref:operate/cli.adoc#_manage_domains[this section] for creating domains
+ ** Read xref:operate/cli.adoc#_manage_users[this section] for creating users
 
 Second, you want to allow an administrator account of your Distributed Server to have write access on other user mailboxes.
-This can be setted up this the *administratorId* configuration option of the xref:distributed/configure/usersrepository.adoc[usersrepository.xml] configuration file.
+This can be setted up this the *administratorId* configuration option of the xref:configure/usersrepository.adoc[usersrepository.xml] configuration file.
 
 Then, it is time to run https://github.com/imapsync/imapsync[imapsync] script to copy the emails from the previous mail server
 into the Distributed Server. Here is an example migrating a single user, relying on impersonation:
diff --git a/docs/modules/servers/pages/distributed/operate/webadmin.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/operate/webadmin.adoc
similarity index 99%
rename from docs/modules/servers/pages/distributed/operate/webadmin.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/operate/webadmin.adoc
index 4e4c439..13d0a6a 100644
--- a/docs/modules/servers/pages/distributed/operate/webadmin.adoc
+++ b/server/apps/distributed-app/docs/modules/ROOT/pages/operate/webadmin.adoc
@@ -447,7 +447,7 @@ curl -XPUT http://ip:port/users/usernameToBeUsed \
 ....
 
 Resource name usernameToBeUsed representing valid users, hence it should
-match the criteria at xref:distributed/confgure/usersrepository.adoc[User Repositories documentation]
+match the criteria at xref:confgure/usersrepository.adoc[User Repositories documentation]
 
 Response codes:
 
@@ -480,7 +480,7 @@ curl -XHEAD http://ip:port/users/usernameToBeUsed
 ....
 
 Resource name ``usernameToBeUsed'' represents a valid user, hence it
-should match the criteria at xref:distributed/configure/usersrepository.adoc[User Repositories documentation]
+should match the criteria at xref:configure/usersrepository.adoc[User Repositories documentation]
 
 Response codes:
 
@@ -2358,7 +2358,7 @@ member will receive it.
 Note that the group mail address is virtual: it does not correspond to
 an existing user.
 
-This feature uses xref:distributed/architecture.adoc#_recipient_rewrite_tables[Recipients rewrite table]
+This feature uses xref:architecture.adoc#_recipient_rewrite_tables[Recipients rewrite table]
 and requires the
 https://github.com/apache/james-project/blob/master/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RecipientRewriteTable.java[RecipientRewriteTable
 mailet] to be configured.
@@ -2447,7 +2447,7 @@ mail. Otherwise he is ommitted.
 Forwards can be defined for existing users. It then defers from
 ``groups''.
 
-This feature uses xref:distributed/architecture.adoc#_recipient_rewrite_tables[Recipients rewrite table]
+This feature uses xref:architecture.adoc#_recipient_rewrite_tables[Recipients rewrite table]
 and requires the
 https://github.com/apache/james-project/blob/master/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RecipientRewriteTable.java[RecipientRewriteTable
 mailet] to be configured.
@@ -2534,7 +2534,7 @@ address of the alias will receive it.
 
 Aliases can be defined for existing users.
 
-This feature uses xref:distributed/architecture.adoc#_recipient_rewrite_tables[Recipients rewrite table]
+This feature uses xref:architecture.adoc#_recipient_rewrite_tables[Recipients rewrite table]
 and requires the
 https://github.com/apache/james-project/blob/master/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RecipientRewriteTable.java[RecipientRewriteTable
 mailet] to be configured.
@@ -2628,7 +2628,7 @@ destination domains `james.org` and `apache-james.org`, when a mail is
 sent to `admin@james.apache.org`, then it will be routed to
 `admin@james.org` and `admin@apache-james.org`
 
-This feature uses xref:distributed/architecture.adoc#_recipient_rewrite_tables[Recipients rewrite table]
+This feature uses xref:architecture.adoc#_recipient_rewrite_tables[Recipients rewrite table]
 and requires the
 https://github.com/apache/james-project/blob/master/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RecipientRewriteTable.java[RecipientRewriteTable
 mailet] to be configured.
@@ -2730,7 +2730,7 @@ A regex mapping contains a mapping source and a Java Regular Expression
 a recipient matched with the mapping source, then that mail will be
 re-routed to a new recipient address which is re written by the regex.
 
-This feature uses xref:distributed/architecture.adoc#_recipient_rewrite_tables[Recipients rewrite table]
+This feature uses xref:architecture.adoc#_recipient_rewrite_tables[Recipients rewrite table]
 and requires the
 https://github.com/apache/james-project/blob/master/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RecipientRewriteTable.java[RecipientRewriteTable
 API] to be configured.
@@ -2799,7 +2799,7 @@ You can use *webadmin* to define address mappings.
 When a specific email is sent to the base mail address, every
 destination addresses will receive it.
 
-This feature uses xref:distributed/architecture.adoc#_recipient_rewrite_tables[Recipients rewrite table]
+This feature uses xref:architecture.adoc#_recipient_rewrite_tables[Recipients rewrite table]
 and requires the
 https://github.com/apache/james-project/blob/master/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RecipientRewriteTable.java[RecipientRewriteTable
 mailet] to be configured.
@@ -2853,7 +2853,7 @@ curl -XGET http://ip:port/mappings
 ....
 
 Get all mappings from the
-xref:distributed/architecture.adoc#_recipient_rewrite_tables[Recipients rewrite table].
+xref:architecture.adoc#_recipient_rewrite_tables[Recipients rewrite table].
 
 Response body:
 
diff --git a/docs/modules/servers/pages/distributed/run-docker.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/run-docker.adoc
similarity index 100%
rename from docs/modules/servers/pages/distributed/run-docker.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/run-docker.adoc
diff --git a/docs/modules/servers/pages/distributed/run.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/run.adoc
similarity index 100%
rename from docs/modules/servers/pages/distributed/run.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/pages/run.adoc
diff --git a/docs/modules/servers/partials/AddDeliveredToHeader.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/AddDeliveredToHeader.adoc
similarity index 100%
rename from docs/modules/servers/partials/AddDeliveredToHeader.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/AddDeliveredToHeader.adoc
diff --git a/docs/modules/servers/partials/AddFooter.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/AddFooter.adoc
similarity index 100%
rename from docs/modules/servers/partials/AddFooter.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/AddFooter.adoc
diff --git a/docs/modules/servers/partials/AddHabeasWarrantMark.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/AddHabeasWarrantMark.adoc
similarity index 100%
rename from docs/modules/servers/partials/AddHabeasWarrantMark.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/AddHabeasWarrantMark.adoc
diff --git a/docs/modules/servers/partials/AddSubjectPrefix.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/AddSubjectPrefix.adoc
similarity index 100%
rename from docs/modules/servers/partials/AddSubjectPrefix.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/AddSubjectPrefix.adoc
diff --git a/docs/modules/servers/partials/All.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/All.adoc
similarity index 100%
rename from docs/modules/servers/partials/All.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/All.adoc
diff --git a/docs/modules/servers/partials/AmqpForwardAttribute.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/AmqpForwardAttribute.adoc
similarity index 100%
rename from docs/modules/servers/partials/AmqpForwardAttribute.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/AmqpForwardAttribute.adoc
diff --git a/docs/modules/servers/partials/AtLeastPriority.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/AtLeastPriority.adoc
similarity index 100%
rename from docs/modules/servers/partials/AtLeastPriority.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/AtLeastPriority.adoc
diff --git a/docs/modules/servers/partials/AtMost.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/AtMost.adoc
similarity index 100%
rename from docs/modules/servers/partials/AtMost.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/AtMost.adoc
diff --git a/docs/modules/servers/partials/AtMostPriority.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/AtMostPriority.adoc
similarity index 100%
rename from docs/modules/servers/partials/AtMostPriority.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/AtMostPriority.adoc
diff --git a/docs/modules/servers/partials/AttachmentFileNameIs.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/AttachmentFileNameIs.adoc
similarity index 100%
rename from docs/modules/servers/partials/AttachmentFileNameIs.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/AttachmentFileNameIs.adoc
diff --git a/docs/modules/servers/partials/Bounce.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/Bounce.adoc
similarity index 100%
rename from docs/modules/servers/partials/Bounce.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/Bounce.adoc
diff --git a/docs/modules/servers/partials/ClamAVScan.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/ClamAVScan.adoc
similarity index 100%
rename from docs/modules/servers/partials/ClamAVScan.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/ClamAVScan.adoc
diff --git a/docs/modules/servers/partials/ClassifyBounce.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/ClassifyBounce.adoc
similarity index 100%
rename from docs/modules/servers/partials/ClassifyBounce.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/ClassifyBounce.adoc
diff --git a/docs/modules/servers/partials/CommandForListserv.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/CommandForListserv.adoc
similarity index 100%
rename from docs/modules/servers/partials/CommandForListserv.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/CommandForListserv.adoc
diff --git a/docs/modules/servers/partials/CommandListservMatcher.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/CommandListservMatcher.adoc
similarity index 100%
rename from docs/modules/servers/partials/CommandListservMatcher.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/CommandListservMatcher.adoc
diff --git a/docs/modules/servers/partials/CompareNumericHeaderValue.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/CompareNumericHeaderValue.adoc
similarity index 100%
rename from docs/modules/servers/partials/CompareNumericHeaderValue.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/CompareNumericHeaderValue.adoc
diff --git a/docs/modules/servers/partials/ContactExtractor.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/ContactExtractor.adoc
similarity index 100%
rename from docs/modules/servers/partials/ContactExtractor.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/ContactExtractor.adoc
diff --git a/docs/modules/servers/partials/ConvertTo7Bit.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/ConvertTo7Bit.adoc
similarity index 100%
rename from docs/modules/servers/partials/ConvertTo7Bit.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/ConvertTo7Bit.adoc
diff --git a/docs/modules/servers/partials/DKIMSign.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/DKIMSign.adoc
similarity index 100%
rename from docs/modules/servers/partials/DKIMSign.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/DKIMSign.adoc
diff --git a/docs/modules/servers/partials/DKIMVerify.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/DKIMVerify.adoc
similarity index 100%
rename from docs/modules/servers/partials/DKIMVerify.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/DKIMVerify.adoc
diff --git a/docs/modules/servers/partials/DSNBounce.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/DSNBounce.adoc
similarity index 100%
rename from docs/modules/servers/partials/DSNBounce.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/DSNBounce.adoc
diff --git a/docs/modules/servers/partials/ExtractMDNOriginalJMAPMessageId.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/ExtractMDNOriginalJMAPMessageId.adoc
similarity index 100%
rename from docs/modules/servers/partials/ExtractMDNOriginalJMAPMessageId.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/ExtractMDNOriginalJMAPMessageId.adoc
diff --git a/docs/modules/servers/partials/FetchedFrom.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/FetchedFrom.adoc
similarity index 100%
rename from docs/modules/servers/partials/FetchedFrom.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/FetchedFrom.adoc
diff --git a/docs/modules/servers/partials/FileRegexMatcher.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/FileRegexMatcher.adoc
similarity index 100%
rename from docs/modules/servers/partials/FileRegexMatcher.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/FileRegexMatcher.adoc
diff --git a/docs/modules/servers/partials/Forward.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/Forward.adoc
similarity index 100%
rename from docs/modules/servers/partials/Forward.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/Forward.adoc
diff --git a/docs/modules/servers/partials/FromRepository.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/FromRepository.adoc
similarity index 100%
rename from docs/modules/servers/partials/FromRepository.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/FromRepository.adoc
diff --git a/docs/modules/servers/partials/HasAttachment.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/HasAttachment.adoc
similarity index 100%
rename from docs/modules/servers/partials/HasAttachment.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/HasAttachment.adoc
diff --git a/docs/modules/servers/partials/HasException.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/HasException.adoc
similarity index 100%
rename from docs/modules/servers/partials/HasException.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/HasException.adoc
diff --git a/docs/modules/servers/partials/HasHabeasWarrantMark.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/HasHabeasWarrantMark.adoc
similarity index 100%
rename from docs/modules/servers/partials/HasHabeasWarrantMark.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/HasHabeasWarrantMark.adoc
diff --git a/docs/modules/servers/partials/HasHeader.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/HasHeader.adoc
similarity index 100%
rename from docs/modules/servers/partials/HasHeader.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/HasHeader.adoc
diff --git a/docs/modules/servers/partials/HasHeaderWithPrefix.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/HasHeaderWithPrefix.adoc
similarity index 100%
rename from docs/modules/servers/partials/HasHeaderWithPrefix.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/HasHeaderWithPrefix.adoc
diff --git a/docs/modules/servers/partials/HasMailAttribute.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/HasMailAttribute.adoc
similarity index 100%
rename from docs/modules/servers/partials/HasMailAttribute.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/HasMailAttribute.adoc
diff --git a/docs/modules/servers/partials/HasMailAttributeWithValue.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/HasMailAttributeWithValue.adoc
similarity index 100%
rename from docs/modules/servers/partials/HasMailAttributeWithValue.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/HasMailAttributeWithValue.adoc
diff --git a/docs/modules/servers/partials/HasMailAttributeWithValueRegex.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/HasMailAttributeWithValueRegex.adoc
similarity index 100%
rename from docs/modules/servers/partials/HasMailAttributeWithValueRegex.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/HasMailAttributeWithValueRegex.adoc
diff --git a/docs/modules/servers/partials/HasMimeType.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/HasMimeType.adoc
similarity index 100%
rename from docs/modules/servers/partials/HasMimeType.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/HasMimeType.adoc
diff --git a/docs/modules/servers/partials/HasMimeTypeAnySubPart.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/HasMimeTypeAnySubPart.adoc
similarity index 100%
rename from docs/modules/servers/partials/HasMimeTypeAnySubPart.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/HasMimeTypeAnySubPart.adoc
diff --git a/docs/modules/servers/partials/HasMimeTypeParameter.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/HasMimeTypeParameter.adoc
similarity index 100%
rename from docs/modules/servers/partials/HasMimeTypeParameter.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/HasMimeTypeParameter.adoc
diff --git a/docs/modules/servers/partials/HasPriority.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/HasPriority.adoc
similarity index 100%
rename from docs/modules/servers/partials/HasPriority.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/HasPriority.adoc
diff --git a/docs/modules/servers/partials/HeadersToHTTP.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/HeadersToHTTP.adoc
similarity index 100%
rename from docs/modules/servers/partials/HeadersToHTTP.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/HeadersToHTTP.adoc
diff --git a/docs/modules/servers/partials/HostIs.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/HostIs.adoc
similarity index 100%
rename from docs/modules/servers/partials/HostIs.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/HostIs.adoc
diff --git a/docs/modules/servers/partials/HostIsLocal.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/HostIsLocal.adoc
similarity index 100%
rename from docs/modules/servers/partials/HostIsLocal.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/HostIsLocal.adoc
diff --git a/docs/modules/servers/partials/ICALToHeader.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/ICALToHeader.adoc
similarity index 100%
rename from docs/modules/servers/partials/ICALToHeader.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/ICALToHeader.adoc
diff --git a/docs/modules/servers/partials/ICALToJsonAttribute.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/ICALToJsonAttribute.adoc
similarity index 100%
rename from docs/modules/servers/partials/ICALToJsonAttribute.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/ICALToJsonAttribute.adoc
diff --git a/docs/modules/servers/partials/ICSSanitizer.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/ICSSanitizer.adoc
similarity index 100%
rename from docs/modules/servers/partials/ICSSanitizer.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/ICSSanitizer.adoc
diff --git a/docs/modules/servers/partials/ICalendarParser.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/ICalendarParser.adoc
similarity index 100%
rename from docs/modules/servers/partials/ICalendarParser.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/ICalendarParser.adoc
diff --git a/docs/modules/servers/partials/InSpammerBlacklist.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/InSpammerBlacklist.adoc
similarity index 100%
rename from docs/modules/servers/partials/InSpammerBlacklist.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/InSpammerBlacklist.adoc
diff --git a/docs/modules/servers/partials/IsMarkedAsSpam.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/IsMarkedAsSpam.adoc
similarity index 100%
rename from docs/modules/servers/partials/IsMarkedAsSpam.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/IsMarkedAsSpam.adoc
diff --git a/docs/modules/servers/partials/IsOverQuota.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/IsOverQuota.adoc
similarity index 100%
rename from docs/modules/servers/partials/IsOverQuota.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/IsOverQuota.adoc
diff --git a/docs/modules/servers/partials/IsRemoteDeliveryPermanentError.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/IsRemoteDeliveryPermanentError.adoc
similarity index 100%
rename from docs/modules/servers/partials/IsRemoteDeliveryPermanentError.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/IsRemoteDeliveryPermanentError.adoc
diff --git a/docs/modules/servers/partials/IsRemoteDeliveryTemporaryError.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/IsRemoteDeliveryTemporaryError.adoc
similarity index 100%
rename from docs/modules/servers/partials/IsRemoteDeliveryTemporaryError.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/IsRemoteDeliveryTemporaryError.adoc
diff --git a/docs/modules/servers/partials/IsSMIMEEncrypted.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/IsSMIMEEncrypted.adoc
similarity index 100%
rename from docs/modules/servers/partials/IsSMIMEEncrypted.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/IsSMIMEEncrypted.adoc
diff --git a/docs/modules/servers/partials/IsSMIMESigned.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/IsSMIMESigned.adoc
similarity index 100%
rename from docs/modules/servers/partials/IsSMIMESigned.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/IsSMIMESigned.adoc
diff --git a/docs/modules/servers/partials/IsSenderInRRTLoop.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/IsSenderInRRTLoop.adoc
similarity index 100%
rename from docs/modules/servers/partials/IsSenderInRRTLoop.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/IsSenderInRRTLoop.adoc
diff --git a/docs/modules/servers/partials/IsSingleRecipient.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/IsSingleRecipient.adoc
similarity index 100%
rename from docs/modules/servers/partials/IsSingleRecipient.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/IsSingleRecipient.adoc
diff --git a/docs/modules/servers/partials/IsX509CertificateSubject.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/IsX509CertificateSubject.adoc
similarity index 100%
rename from docs/modules/servers/partials/IsX509CertificateSubject.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/IsX509CertificateSubject.adoc
diff --git a/docs/modules/servers/partials/LocalDelivery.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/LocalDelivery.adoc
similarity index 100%
rename from docs/modules/servers/partials/LocalDelivery.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/LocalDelivery.adoc
diff --git a/docs/modules/servers/partials/LogMessage.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/LogMessage.adoc
similarity index 100%
rename from docs/modules/servers/partials/LogMessage.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/LogMessage.adoc
diff --git a/docs/modules/servers/partials/MailAttributesListToMimeHeaders.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/MailAttributesListToMimeHeaders.adoc
similarity index 100%
rename from docs/modules/servers/partials/MailAttributesListToMimeHeaders.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/MailAttributesListToMimeHeaders.adoc
diff --git a/docs/modules/servers/partials/MailAttributesToMimeHeaders.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/MailAttributesToMimeHeaders.adoc
similarity index 100%
rename from docs/modules/servers/partials/MailAttributesToMimeHeaders.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/MailAttributesToMimeHeaders.adoc
diff --git a/docs/modules/servers/partials/ManageSieveMailet.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/ManageSieveMailet.adoc
similarity index 100%
rename from docs/modules/servers/partials/ManageSieveMailet.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/ManageSieveMailet.adoc
diff --git a/docs/modules/servers/partials/MetricsMailet.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/MetricsMailet.adoc
similarity index 100%
rename from docs/modules/servers/partials/MetricsMailet.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/MetricsMailet.adoc
diff --git a/docs/modules/servers/partials/MimeDecodingMailet.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/MimeDecodingMailet.adoc
similarity index 100%
rename from docs/modules/servers/partials/MimeDecodingMailet.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/MimeDecodingMailet.adoc
diff --git a/docs/modules/servers/partials/NESSpamCheck.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/NESSpamCheck.adoc
similarity index 100%
rename from docs/modules/servers/partials/NESSpamCheck.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/NESSpamCheck.adoc
diff --git a/docs/modules/servers/partials/NotifyPostmaster.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/NotifyPostmaster.adoc
similarity index 100%
rename from docs/modules/servers/partials/NotifyPostmaster.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/NotifyPostmaster.adoc
diff --git a/docs/modules/servers/partials/NotifySender.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/NotifySender.adoc
similarity index 100%
rename from docs/modules/servers/partials/NotifySender.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/NotifySender.adoc
diff --git a/docs/modules/servers/partials/Null.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/Null.adoc
similarity index 100%
rename from docs/modules/servers/partials/Null.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/Null.adoc
diff --git a/docs/modules/servers/partials/OnlyText.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/OnlyText.adoc
similarity index 100%
rename from docs/modules/servers/partials/OnlyText.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/OnlyText.adoc
diff --git a/docs/modules/servers/partials/PostmasterAlias.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/PostmasterAlias.adoc
similarity index 100%
rename from docs/modules/servers/partials/PostmasterAlias.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/PostmasterAlias.adoc
diff --git a/docs/modules/servers/partials/RandomStoring.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/RandomStoring.adoc
similarity index 100%
rename from docs/modules/servers/partials/RandomStoring.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/RandomStoring.adoc
diff --git a/docs/modules/servers/partials/RecipientDomainIs.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/RecipientDomainIs.adoc
similarity index 100%
rename from docs/modules/servers/partials/RecipientDomainIs.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/RecipientDomainIs.adoc
diff --git a/docs/modules/servers/partials/RecipientIs.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/RecipientIs.adoc
similarity index 100%
rename from docs/modules/servers/partials/RecipientIs.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/RecipientIs.adoc
diff --git a/docs/modules/servers/partials/RecipientIsLocal.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/RecipientIsLocal.adoc
similarity index 100%
rename from docs/modules/servers/partials/RecipientIsLocal.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/RecipientIsLocal.adoc
diff --git a/docs/modules/servers/partials/RecipientIsRegex.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/RecipientIsRegex.adoc
similarity index 100%
rename from docs/modules/servers/partials/RecipientIsRegex.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/RecipientIsRegex.adoc
diff --git a/docs/modules/servers/partials/RecipientRewriteTable.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/RecipientRewriteTable.adoc
similarity index 100%
rename from docs/modules/servers/partials/RecipientRewriteTable.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/RecipientRewriteTable.adoc
diff --git a/docs/modules/servers/partials/RecipientToLowerCase.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/RecipientToLowerCase.adoc
similarity index 100%
rename from docs/modules/servers/partials/RecipientToLowerCase.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/RecipientToLowerCase.adoc
diff --git a/docs/modules/servers/partials/RecoverAttachment.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/RecoverAttachment.adoc
similarity index 100%
rename from docs/modules/servers/partials/RecoverAttachment.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/RecoverAttachment.adoc
diff --git a/docs/modules/servers/partials/Redirect.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/Redirect.adoc
similarity index 100%
rename from docs/modules/servers/partials/Redirect.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/Redirect.adoc
diff --git a/docs/modules/servers/partials/RelayLimit.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/RelayLimit.adoc
similarity index 100%
rename from docs/modules/servers/partials/RelayLimit.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/RelayLimit.adoc
diff --git a/docs/modules/servers/partials/RemoteAddrInNetwork.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/RemoteAddrInNetwork.adoc
similarity index 100%
rename from docs/modules/servers/partials/RemoteAddrInNetwork.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/RemoteAddrInNetwork.adoc
diff --git a/docs/modules/servers/partials/RemoteAddrNotInNetwork.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/RemoteAddrNotInNetwork.adoc
similarity index 100%
rename from docs/modules/servers/partials/RemoteAddrNotInNetwork.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/RemoteAddrNotInNetwork.adoc
diff --git a/docs/modules/servers/partials/RemoteDelivery.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/RemoteDelivery.adoc
similarity index 100%
rename from docs/modules/servers/partials/RemoteDelivery.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/RemoteDelivery.adoc
diff --git a/docs/modules/servers/partials/RemoteDeliveryFailedWithSMTPCode.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/RemoteDeliveryFailedWithSMTPCode.adoc
similarity index 100%
rename from docs/modules/servers/partials/RemoteDeliveryFailedWithSMTPCode.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/RemoteDeliveryFailedWithSMTPCode.adoc
diff --git a/docs/modules/servers/partials/RemoveAllMailAttributes.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/RemoveAllMailAttributes.adoc
similarity index 100%
rename from docs/modules/servers/partials/RemoveAllMailAttributes.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/RemoveAllMailAttributes.adoc
diff --git a/docs/modules/servers/partials/RemoveMailAttribute.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/RemoveMailAttribute.adoc
similarity index 100%
rename from docs/modules/servers/partials/RemoveMailAttribute.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/RemoveMailAttribute.adoc
diff --git a/docs/modules/servers/partials/RemoveMimeHeader.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/RemoveMimeHeader.adoc
similarity index 100%
rename from docs/modules/servers/partials/RemoveMimeHeader.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/RemoveMimeHeader.adoc
diff --git a/docs/modules/servers/partials/RemoveMimeHeaderByPrefix.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/RemoveMimeHeaderByPrefix.adoc
similarity index 100%
rename from docs/modules/servers/partials/RemoveMimeHeaderByPrefix.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/RemoveMimeHeaderByPrefix.adoc
diff --git a/docs/modules/servers/partials/ReplaceContent.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/ReplaceContent.adoc
similarity index 100%
rename from docs/modules/servers/partials/ReplaceContent.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/ReplaceContent.adoc
diff --git a/docs/modules/servers/partials/Resend.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/Resend.adoc
similarity index 100%
rename from docs/modules/servers/partials/Resend.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/Resend.adoc
diff --git a/docs/modules/servers/partials/SMIMECheckSignature.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/SMIMECheckSignature.adoc
similarity index 100%
rename from docs/modules/servers/partials/SMIMECheckSignature.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/SMIMECheckSignature.adoc
diff --git a/docs/modules/servers/partials/SMIMEDecrypt.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/SMIMEDecrypt.adoc
similarity index 100%
rename from docs/modules/servers/partials/SMIMEDecrypt.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/SMIMEDecrypt.adoc
diff --git a/docs/modules/servers/partials/SMIMESign.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/SMIMESign.adoc
similarity index 100%
rename from docs/modules/servers/partials/SMIMESign.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/SMIMESign.adoc
diff --git a/docs/modules/servers/partials/SMTPAuthSuccessful.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/SMTPAuthSuccessful.adoc
similarity index 100%
rename from docs/modules/servers/partials/SMTPAuthSuccessful.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/SMTPAuthSuccessful.adoc
diff --git a/docs/modules/servers/partials/SMTPAuthUserIs.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/SMTPAuthUserIs.adoc
similarity index 100%
rename from docs/modules/servers/partials/SMTPAuthUserIs.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/SMTPAuthUserIs.adoc
diff --git a/docs/modules/servers/partials/SMTPIsAuthNetwork.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/SMTPIsAuthNetwork.adoc
similarity index 100%
rename from docs/modules/servers/partials/SMTPIsAuthNetwork.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/SMTPIsAuthNetwork.adoc
diff --git a/docs/modules/servers/partials/SPF.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/SPF.adoc
similarity index 100%
rename from docs/modules/servers/partials/SPF.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/SPF.adoc
diff --git a/docs/modules/servers/partials/SenderDomainIs.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/SenderDomainIs.adoc
similarity index 100%
rename from docs/modules/servers/partials/SenderDomainIs.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/SenderDomainIs.adoc
diff --git a/docs/modules/servers/partials/SenderHostIs.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/SenderHostIs.adoc
similarity index 100%
rename from docs/modules/servers/partials/SenderHostIs.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/SenderHostIs.adoc
diff --git a/docs/modules/servers/partials/SenderHostIsLocal.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/SenderHostIsLocal.adoc
similarity index 100%
rename from docs/modules/servers/partials/SenderHostIsLocal.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/SenderHostIsLocal.adoc
diff --git a/docs/modules/servers/partials/SenderInFakeDomain.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/SenderInFakeDomain.adoc
similarity index 100%
rename from docs/modules/servers/partials/SenderInFakeDomain.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/SenderInFakeDomain.adoc
diff --git a/docs/modules/servers/partials/SenderIs.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/SenderIs.adoc
similarity index 100%
rename from docs/modules/servers/partials/SenderIs.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/SenderIs.adoc
diff --git a/docs/modules/servers/partials/SenderIsLocal.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/SenderIsLocal.adoc
similarity index 100%
rename from docs/modules/servers/partials/SenderIsLocal.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/SenderIsLocal.adoc
diff --git a/docs/modules/servers/partials/SenderIsNull.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/SenderIsNull.adoc
similarity index 100%
rename from docs/modules/servers/partials/SenderIsNull.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/SenderIsNull.adoc
diff --git a/docs/modules/servers/partials/SenderIsRegex.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/SenderIsRegex.adoc
similarity index 100%
rename from docs/modules/servers/partials/SenderIsRegex.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/SenderIsRegex.adoc
diff --git a/docs/modules/servers/partials/SentByJmap.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/SentByJmap.adoc
similarity index 100%
rename from docs/modules/servers/partials/SentByJmap.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/SentByJmap.adoc
diff --git a/docs/modules/servers/partials/SentByMailet.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/SentByMailet.adoc
similarity index 100%
rename from docs/modules/servers/partials/SentByMailet.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/SentByMailet.adoc
diff --git a/docs/modules/servers/partials/SerialiseToHTTP.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/SerialiseToHTTP.adoc
similarity index 100%
rename from docs/modules/servers/partials/SerialiseToHTTP.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/SerialiseToHTTP.adoc
diff --git a/docs/modules/servers/partials/ServerTime.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/ServerTime.adoc
similarity index 100%
rename from docs/modules/servers/partials/ServerTime.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/ServerTime.adoc
diff --git a/docs/modules/servers/partials/SetMailAttribute.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/SetMailAttribute.adoc
similarity index 100%
rename from docs/modules/servers/partials/SetMailAttribute.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/SetMailAttribute.adoc
diff --git a/docs/modules/servers/partials/SetMimeHeader.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/SetMimeHeader.adoc
similarity index 100%
rename from docs/modules/servers/partials/SetMimeHeader.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/SetMimeHeader.adoc
diff --git a/docs/modules/servers/partials/Sieve.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/Sieve.adoc
similarity index 100%
rename from docs/modules/servers/partials/Sieve.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/Sieve.adoc
diff --git a/docs/modules/servers/partials/Sign.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/Sign.adoc
similarity index 100%
rename from docs/modules/servers/partials/Sign.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/Sign.adoc
diff --git a/docs/modules/servers/partials/SizeGreaterThan.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/SizeGreaterThan.adoc
similarity index 100%
rename from docs/modules/servers/partials/SizeGreaterThan.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/SizeGreaterThan.adoc
diff --git a/docs/modules/servers/partials/SpamAssassin.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/SpamAssassin.adoc
similarity index 100%
rename from docs/modules/servers/partials/SpamAssassin.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/SpamAssassin.adoc
diff --git a/docs/modules/servers/partials/StripAttachment.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/StripAttachment.adoc
similarity index 100%
rename from docs/modules/servers/partials/StripAttachment.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/StripAttachment.adoc
diff --git a/docs/modules/servers/partials/SubjectIs.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/SubjectIs.adoc
similarity index 100%
rename from docs/modules/servers/partials/SubjectIs.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/SubjectIs.adoc
diff --git a/docs/modules/servers/partials/SubjectStartsWith.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/SubjectStartsWith.adoc
similarity index 100%
rename from docs/modules/servers/partials/SubjectStartsWith.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/SubjectStartsWith.adoc
diff --git a/docs/modules/servers/partials/TextCalendarBodyToAttachment.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/TextCalendarBodyToAttachment.adoc
similarity index 100%
rename from docs/modules/servers/partials/TextCalendarBodyToAttachment.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/TextCalendarBodyToAttachment.adoc
diff --git a/docs/modules/servers/partials/ToProcessor.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/ToProcessor.adoc
similarity index 100%
rename from docs/modules/servers/partials/ToProcessor.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/ToProcessor.adoc
diff --git a/docs/modules/servers/partials/ToRepository.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/ToRepository.adoc
similarity index 100%
rename from docs/modules/servers/partials/ToRepository.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/ToRepository.adoc
diff --git a/docs/modules/servers/partials/ToSenderDomainRepository.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/ToSenderDomainRepository.adoc
similarity index 100%
rename from docs/modules/servers/partials/ToSenderDomainRepository.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/ToSenderDomainRepository.adoc
diff --git a/docs/modules/servers/partials/ToSenderFolder.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/ToSenderFolder.adoc
similarity index 100%
rename from docs/modules/servers/partials/ToSenderFolder.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/ToSenderFolder.adoc
diff --git a/docs/modules/servers/partials/TooManyLines.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/TooManyLines.adoc
similarity index 100%
rename from docs/modules/servers/partials/TooManyLines.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/TooManyLines.adoc
diff --git a/docs/modules/servers/partials/TooManyRecipients.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/TooManyRecipients.adoc
similarity index 100%
rename from docs/modules/servers/partials/TooManyRecipients.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/TooManyRecipients.adoc
diff --git a/docs/modules/servers/partials/UnwrapText.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/UnwrapText.adoc
similarity index 100%
rename from docs/modules/servers/partials/UnwrapText.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/UnwrapText.adoc
diff --git a/docs/modules/servers/partials/UseHeaderRecipients.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/UseHeaderRecipients.adoc
similarity index 100%
rename from docs/modules/servers/partials/UseHeaderRecipients.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/UseHeaderRecipients.adoc
diff --git a/docs/modules/servers/partials/UserIs.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/UserIs.adoc
similarity index 100%
rename from docs/modules/servers/partials/UserIs.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/UserIs.adoc
diff --git a/docs/modules/servers/partials/VacationMailet.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/VacationMailet.adoc
similarity index 100%
rename from docs/modules/servers/partials/VacationMailet.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/VacationMailet.adoc
diff --git a/docs/modules/servers/partials/WithPriority.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/WithPriority.adoc
similarity index 100%
rename from docs/modules/servers/partials/WithPriority.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/WithPriority.adoc
diff --git a/docs/modules/servers/partials/WithStorageDirective.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/WithStorageDirective.adoc
similarity index 100%
rename from docs/modules/servers/partials/WithStorageDirective.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/WithStorageDirective.adoc
diff --git a/docs/modules/servers/partials/WrapText.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/WrapText.adoc
similarity index 100%
rename from docs/modules/servers/partials/WrapText.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/WrapText.adoc
diff --git a/docs/modules/servers/partials/XOriginatingIpInNetwork.adoc b/server/apps/distributed-app/docs/modules/ROOT/partials/XOriginatingIpInNetwork.adoc
similarity index 100%
rename from docs/modules/servers/partials/XOriginatingIpInNetwork.adoc
rename to server/apps/distributed-app/docs/modules/ROOT/partials/XOriginatingIpInNetwork.adoc
diff --git a/server/apps/distributed-app/docs/ui-overrides/img/james.svg b/server/apps/distributed-app/docs/ui-overrides/img/james.svg
new file mode 100644
index 0000000..a363fe4
--- /dev/null
+++ b/server/apps/distributed-app/docs/ui-overrides/img/james.svg
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
+     width="37px" height="31px" viewBox="0 0 37 31" enable-background="new 0 0 37 31" xml:space="preserve">
+<g>
+	<path fill="#FFFFFF" d="M37.001,4.407c-1.435-0.966-2.92-1.75-4.473-2.153c-1.552-0.412-3.151-0.315-4.63,0.3l-0.277,0.117
+		l-0.139,0.062l-0.064,0.032l-0.036,0.016l-0.018,0.008l-0.008,0.004c0.008-0.007-0.028,0.016,0.02-0.012L27.37,2.783
+		c-0.2,0.127-0.391,0.232-0.589,0.337c-0.392,0.207-0.796,0.391-1.216,0.543c-0.836,0.295-1.737,0.503-2.664,0.389
+		c-0.458-0.061-0.913-0.222-1.3-0.489c-0.382-0.268-0.689-0.629-0.899-1.026C20.28,1.737,20.15,0.857,20.124,0
+		c0.156,0.842,0.393,1.686,0.857,2.363c0.234,0.336,0.523,0.622,0.864,0.811c0.339,0.19,0.723,0.284,1.111,0.301
+		c0.782,0.038,1.582-0.201,2.325-0.532c0.376-0.165,0.741-0.353,1.092-0.563c0.176-0.105,0.354-0.219,0.509-0.33l0.307-0.201
+		c0.1-0.057,0.194-0.122,0.293-0.173c0.801-0.433,1.702-0.731,2.627-0.793c0.925-0.069,1.856,0.063,2.716,0.357
+		c0.863,0.29,1.655,0.731,2.359,1.267C35.888,3.047,36.52,3.676,37.001,4.407z"/>
+	<path fill="#FFFFFF" d="M13.25,20.418c-5.733-4.373-9.554-8.973-9.418-9.078c0.147-0.145,4.153,4.212,9.83,8.536
+		c1.665,1.28,3.28,2.412,4.733,3.381c0.02-0.036,0.041-0.069,0.062-0.105c0.237-0.456,0.42-0.948,0.562-1.462
+		c-1.018-2.053-3.554-4.892-6.501-7.496c-0.656-0.572-1.338-1.078-2.028-1.536c-0.151,1.223-0.452,2.098-0.453,2.096
+		c0,0-0.335-1.163-0.306-2.579C9.266,11.892,8.8,11.63,8.336,11.389c-0.004,1.395-0.414,2.439-0.417,2.439
+		c0,0.002-0.833-1.414-0.922-3.071c-0.002-0.01-0.002-0.021-0.002-0.031c-2.767-1.279-5.1-1.896-5.104-1.89
+		C1.867,8.774,2.064,14.75,6.431,19.305c0.147-0.008,0.296-0.016,0.449-0.016c1.588,0.004,2.944,0.577,2.947,0.577
+		c0-0.002-0.835,0.501-2.054,0.671c0.444,0.355,0.899,0.682,1.364,0.973c1.148-0.416,2.102-0.557,2.102-0.557
+		c0-0.002-0.503,0.495-1.334,1.017c3.035,1.685,5.787,2.542,7.53,2.624c0.236-0.26,0.452-0.532,0.645-0.821
+		C16.586,22.84,14.938,21.717,13.25,20.418z"/>
+	<path fill="#FFFFFF" d="M33.7,4.335c-1.103,0.092-2.21,0.292-3.3,0.605c-2.173,0.623-4.31,1.725-6.062,3.396
+		c-0.883,0.824-1.64,1.798-2.271,2.846c-0.614,1.059-1.109,2.191-1.43,3.363c-0.327,1.168-0.529,2.363-0.595,3.548
+		c-0.02,0.291-0.031,0.596-0.039,0.9L19.995,19.4l-0.008,0.35c-0.012,0.462-0.051,0.918-0.122,1.358
+		c-0.056,0.337-0.131,0.665-0.223,0.984c-0.141,0.514-0.324,1.006-0.562,1.466c-0.02,0.036-0.043,0.066-0.062,0.102
+		c-0.099,0.178-0.204,0.353-0.317,0.52c-0.191,0.286-0.407,0.559-0.643,0.819c-0.17,0.186-0.348,0.366-0.544,0.541
+		c-1.304,1.152-3.097,1.944-5.021,2.453c-1.931,0.518-3.995,0.788-6.091,0.934c-2.1,0.145-4.234,0.166-6.404,0.112
+		c2.023,0.815,4.157,1.338,6.333,1.664c2.179,0.313,4.422,0.415,6.701,0.127c1.137-0.149,2.287-0.394,3.418-0.802
+		c1.129-0.405,2.252-0.959,3.265-1.745c1.019-0.771,1.92-1.77,2.571-2.913c0.331-0.568,0.601-1.167,0.82-1.775
+		c0.21-0.611,0.364-1.236,0.47-1.859c0.11-0.619,0.17-1.24,0.193-1.852c0.008-0.154,0.008-0.307,0.008-0.461v-0.398
+		c0.005-0.234,0.011-0.468,0.022-0.716c0.052-0.967,0.166-1.914,0.376-2.832c0.418-1.832,1.213-3.537,2.405-5.009
+		c1.192-1.472,2.767-2.711,4.552-3.706c1.79-0.994,3.765-1.774,5.862-2.355C35.917,4.247,34.808,4.238,33.7,4.335z"/>
+</g>
+</svg>
diff --git a/server/apps/distributed-app/docs/ui-overrides/partials/header-content.hbs b/server/apps/distributed-app/docs/ui-overrides/partials/header-content.hbs
new file mode 100644
index 0000000..caa1c0b
--- /dev/null
+++ b/server/apps/distributed-app/docs/ui-overrides/partials/header-content.hbs
@@ -0,0 +1,52 @@
+<header class="header">
+  <nav class="navbar">
+    <div class="navbar-brand">
+      <a class="navbar-item" href="{{{or site.url (or siteRootUrl siteRootPath)}}}"><img src="/_/img/james.svg" alt="james logo"> {{site.title}}</a>
+      <button class="navbar-burger" data-target="topbar-nav">
+        <span></span>
+        <span></span>
+        <span></span>
+      </button>
+    </div>
+    <div id="topbar-nav" class="navbar-menu">
+      <div class="navbar-end">
+        <a class="navbar-item" href="#">Home</a>
+        <div class="navbar-item has-dropdown is-hoverable">
+          <a class="navbar-link" href="#">Products</a>
+          <div class="navbar-dropdown">
+            <div class="navbar-item"><strong>James server</strong></div>
+            <a class="navbar-item" href="https://github.com/apache/james-project">Repository</a>
+            <a class="navbar-item" href="https://issues.apache.org/jira/projects/JAMES/issues">Issue Tracker</a>
+            <hr class="navbar-divider">
+            <a class="navbar-item" href="https://james.apache.org/mime4j/index.html">Mime4J</a>
+            <a class="navbar-item" href="https://james.apache.org/jsieve/index.html">jSieve</a>
+            <a class="navbar-item" href="https://james.apache.org/jspf/index.html">jSPF</a>
+            <a class="navbar-item" href="https://james.apache.org/jdkim/index.html">jDKIM</a>
+            <a class="navbar-item" href="https://james.apache.org/hupa/index.html">HUPA</a>
+          </div>
+        </div>
+        <div class="navbar-item has-dropdown is-hoverable">
+          <a class="navbar-link" href="#">Community</a>
+          <div class="navbar-dropdown">
+             <!-- Not ideal but dropping the version in the href requires tweaking james-projet docs module first -->
+            <a class="navbar-item" href="/james-project/3.6.0/community/mailing-lists.html">Mailing lists</a>
+            <a class="navbar-item" href="https://gitter.im/apache/james-project"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32" class="logo-gitter-sign" data-v-44ebcb1a=""><rect x="15" y="5" width="2" height="10"></rect> <rect x="10" y="5" width="2" height="20"></rect> <rect x="5" y="5" width="2" height="20"></rect> <rect width="2" height="15"></rect></svg> Gitter</a>
+            <a class="navbar-item" href="https://twitter.com/ApacheJames">
+              <span class="icon">
+                <svg aria-hidden="true" data-icon="twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
+                  <path fill="#57aaee" d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.1 [...]
+                </svg>
+              </span> Twitter
+            </a>            
+            <a class="navbar-item" href="#">  <svg class="octicon octicon-mark-github v-align-middle" viewBox="0 0 16 16" version="1.1" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 [...]
+          </div>
+        </div>
+<!--        <div class="navbar-item">
+          <span class="control">
+            <a class="button is-primary" href="#">Download</a>
+          </span>
+        </div> -->
+      </div>
+    </div>
+  </nav>
+</header>
diff --git a/server/apps/distributed-app/src/assemble/app.xml b/server/apps/distributed-app/src/assemble/app.xml
index 1779b06..eb93376 100644
--- a/server/apps/distributed-app/src/assemble/app.xml
+++ b/server/apps/distributed-app/src/assemble/app.xml
@@ -54,6 +54,17 @@ limitations under the License.
                 <include>*.jar</include>
             </includes>
         </fileSet>
+        <!-- include the documentation -->
+        <fileSet>
+            <directory>docs</directory>
+            <outputDirectory>/docs</outputDirectory>
+            <directoryMode>0755</directoryMode>
+            <fileMode>0600</fileMode>
+            <includes>
+                <include>*</include>
+                <include>**/*</include>
+            </includes>
+        </fileSet>
     </fileSets>
     <files>
         <file>

---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org