---
title: Setting up the initial topology
description: The server.uuid file in the server's config directory indicates whether the server is being set up initially or being updated.
component: pingdirectory
version: 11.0
page_id: pingdirectory:pingdirectory_server_administration_guide:pd_ds_set_up_initial_topology
canonical_url: https://docs.pingidentity.com/pingdirectory/11.0/pingdirectory_server_administration_guide/pd_ds_set_up_initial_topology.html
revdate: September 13, 2023
page_aliases: ["pd_ds_replace_crashed_instances_scale_up.adoc"]
section_ids:
  steps: Steps
  example: Example:
  example-2: Example:
  example-3: Example:
  example-4: Example:
---

# Setting up the initial topology

The `server.uuid` file in the server's `config` directory indicates whether the server is being set up initially or being updated.

|   |                                                                                                                                                                                                                                                                                                                       |
| - | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|   | * This task requires proficiency with [Server profiles](pd_ds_server_profiles.html).

* If you're not using persistent storage, set up a new server and skip step 3. If you're using persistent storage, start on step 3.

* The following automation steps also apply to replacing crashed instances and scaling up. |

## Steps

1. Create or obtain the `topology.json` file either manually or by using external automation.

   When promoting from a dev/test environment to a stage/prod environment, you can obtain a `topology.json` file using `manage-topology export`.

2. To install and configure a server instance, run the `manage-profile` command with the `setup` option.

   ### Example:

   ```
   manage-profile setup \
     --profile /path/to/server-profile \
     --profileVariablesFile /path/to/instance-specific-variables.properties
   ```

3. If you're using persistent storage, replace the current server profile. Otherwise, proceed to step 4. To replace the current profile, run the `manage-profile replace-profile` command from a second, extracted server install package on the same host as the existing server.

   ### Example:

   ```
   manage-profile replace-profile \
     --profile /path/to/server-profile \
     --profileVariablesFile /path/to/instance-specific-variables.properties
     --serverRoot /path/to/existing/server
   ```

4. To enable replication within the topology, run `dsreplication` with the `enable` option.

   ### Example:

   ```
   dsreplication enable \
     --topologyFilePath /path/to/topology.json \
     --retryTimeoutSeconds 120
   ```

5. To initialize the replication data, run `dsreplication`with the `initialize` option.

   ### Example:

   ```
   dsreplication initialize \
     --topologyFilePath /path/to/topology.json
   ```
