---
title: Embedded DS repository
description: Configure the embedded PingDS repository used by PingIDM by default, including default settings and how to change ports and credentials
component: pingidm
version: 7.5
page_id: pingidm:install-guide:embedded-ds
canonical_url: https://docs.pingidentity.com/pingidm/7.5/install-guide/embedded-ds.html
llms_txt: https://docs.pingidentity.com/pingidm/llms.txt
docs_for_agents: https://developer.pingidentity.com/build-with-ai/docs-for-agents.md
keywords: ["Installation", "Directory Service"]
---

# Embedded DS repository

By default, IDM uses the `conf/repo.ds.json` file to start an embedded DS instance. The embedded DS repository is not supported in production environments.

The embedded DS server uses the embedded DS keystore, and has the following configuration by default:

* `hostname` - `localhost`

* `ldapPort` - `31389`

* `ldapsPort` - `31636`

* `bindDN` - `uid=admin`

* `bindPassword` - `str0ngAdm1nPa55word`

* `adminPort` - `34444`

You can query the embedded repository directly by using the LDAP command-line utilities provided with DS:

> **Collapse: Query the Embedded DS Repository**
>
> This command returns all the objects in the repository of a default IDM project:
>
> ```
> /path/to/opendj/bin/ldapsearch \
> --hostname localhost \
> --port 31636 \
> --bindDN uid=admin \
> --bindPassword str0ngAdm1nPa55word \
> --baseDN "dc=openidm,dc=forgerock,dc=com" \
> --useSSL \
> --trustAll \
> "(objectclass=*)"
> dn: dc=openidm,dc=forgerock,dc=com
> objectClass: domain
> objectClass: top
> dc: openidm
>
> dn: ou=links,dc=openidm,dc=forgerock,dc=com
> objectClass: organizationalUnit
> objectClass: top
> ou: links
>
> dn: ou=internal,dc=openidm,dc=forgerock,dc=com
> objectClass: organizationalUnit
> objectClass: top
> ou: internal
>
> dn: ou=users,ou=internal,dc=openidm,dc=forgerock,dc=com
> objectClass: organizationalUnit
> objectClass: top
> ou: users
> ...
> ```
>
> For more information about the DS command-line utilities, refer to the [DS Tools Reference](https://docs.pingidentity.com/pingds/7.5/tools-reference).

To change the administrative port of the embedded DS server, add an `adminPort` property to your project's `conf/repo.ds.json` file before you start IDM. To change any of the other default values, add an `ldapConnectionFactories` property, as shown in the following example.

This excerpt of a `repo.ds.json` sets the administrative port to `4444`. The example changes the bind password to `MyPassw0rd` but shows the structure of the entire `ldapConnectionFactories` property for reference:

```json
{
  "embedded": true,
  "maxConnectionAttempts" : 5,
  "adminPort": 4444,
  "ldapConnectionFactories": {
    "bind": {
      "primaryLdapServers": [{ "hostname": "localhost", "port": 31389 }]
    },
    "root": {
      "authentication": {
        "simple": { "bindDn": "uid=admin", "bindPassword": "MyPassw0rd" }
      }
    }
  },
  ...
}
```

It is not necessary to add the entire `ldapConnectionFactories` block to your configuration file, but you must respect the JSON structure. For example, to change only the `hostname`, you would need to add at least the following:

```json
{
  ...
  "ldapConnectionFactories": {
    "bind": {
      "primaryLdapServers": [{ "hostname": "my-hostname" }]
    }
  },
  ...
}
```

If you don't include an `ldapConnectionFactories` object, IDM installs an embedded DS server with the default configuration.
