= Distributed James Server &mdash; Operate the Distributed server
:navtitle: Operate the Distributed server

The following pages detail how to operate the Distributed server.

Once you have a Distributed James server up and running you then need to ensure it operates correctly.
You may also need to perform some operation maintenance or recover from incidents. This section covers
these topics.

Read more about xref:operate/logging.adoc[Logging].

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: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: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:operate/guide.adoc[detailed guide] for
distributed James operators.

We also included a guide for xref:operate/migrating.adoc[migrating existing data] into the distributed server.

Read more about xref:operate/cassandra-migration.adoc[Cassandra data migration].

== Upgrading

This section sums up and links upgrade instructions for people willing to upgrade their Distributed server to newer versions.

.Upgrade path
|===
| Upgrade from | Recommended upgrade path to 3.7.0 (unreleased)

| 3.6.2
| Rolling upgrade to 3.7.0 (unreleased). No specific upgrade instructions to perform.

| 3.6.1
| Rolling upgrade to 3.7.0 (unreleased). No specific upgrade instructions to perform.

| 3.6.0
| Rolling upgrade to 3.7.0 (unreleased). No specific upgrade instructions to perform.

| 3.5.0
| 1. Upgrade, and apply link:https://github.com/apache/james-project/blob/master/upgrade-instructions.md#360-version[3.6.0 upgrade instructions]

Note: Because of ElasticSearch upgrade (6.3 -> 7.10) this migration cannot be done in a rolling fashion manner.

2. Rolling upgrade to 3.7.0 (unreleased). No specific upgrade instructions to perform.


| 3.4.0
| 1. Rolling upgrade to 3.5.0, and apply link:https://github.com/apache/james-project/blob/master/upgrade-instructions.md#350-version[3.5.0 upgrade instructions]

2. Upgrade to 3.6.0, and apply link:https://github.com/apache/james-project/blob/master/upgrade-instructions.md#360-version[3.6.0 upgrade instructions]

Note: Because of ElasticSearch upgrade (6.3 -> 7.10) this migration cannot be done in a rolling fashion manner.

3. Rolling upgrade to 3.7.0 (unreleased). No specific upgrade instructions to perform.

| 3.3.0
| 1. upgrade to 3.4.0, and apply link:https://github.com/apache/james-project/blob/master/upgrade-instructions.md#340-version[3.4.0 upgrade instructions]

Note: Because of ElasticSearch upgrade (2.2 ->  6.3) this migration cannot be done in a rolling fashion manner.

2. Rolling upgrade to 3.5.0, and apply link:https://github.com/apache/james-project/blob/master/upgrade-instructions.md#350-version[3.5.0 upgrade instructions]

3. Upgrade to 3.6.0, and apply link:https://github.com/apache/james-project/blob/master/upgrade-instructions.md#360-version[3.6.0 upgrade instructions]

Note: Because of ElasticSearch upgrade (6.3 -> 7.10) this migration cannot be done in a rolling fashion manner.

4. Rolling upgrade to 3.7.0 (unreleased). No specific upgrade instructions to perform.

|===
