Startup configuration
By default, IDM starts with the configuration, script, and binary files in the openidm/conf
, openidm/script
, and openidm/bin
directories. You can launch IDM with a different set of configuration, script, and binary files for test purposes, to manage different projects, or to run one of the included samples.
The startup.sh
script enables you to specify the following elements of a running instance:
-p | --project-location {/path/to/project/directory}
-
The project location specifies the directory that contains the configuration and script files that IDM will use.
All configuration objects and any artifacts that are not in the bundled defaults (such as custom scripts) must be included in the project location. These objects include all files otherwise included in the
openidm/conf
andopenidm/script
directories.For example, the following command starts the server with the configuration of the
sync-with-csv
sample (located in/path/to/openidm/samples/sync-with-csv
):./startup.sh -p /path/to/openidm/samples/sync-with-csv
If you do not provide an absolute path, the project location path is relative to the system property,
user.dir
. IDM setsidm.instance.dir
to that relative directory path. Alternatively, if you start the server without the-p
option, IDM setsidm.instance.dir
to/path/to/openidm
.In this documentation, "your project" refers to the value of idm.instance.dir
. -w |--working-location {/path/to/working/directory}
-
The working location specifies the directory in which the embedded DS instance is installed, and the directory to which IDM writes its database cache, audit logs, and Felix cache. The working location includes everything that is in the default
db/
,audit/
, andfelix-cache/
subdirectories.The following command specifies that IDM writes its database cache and audit data to
/Users/admin/openidm/storage
:./startup.sh -w /Users/admin/openidm/storage
If you do not provide an absolute path, the path is relative to the system property,
user.dir
. IDM setsidm.data.dir
to that relative directory path. If you do not specify a working location, IDM setsidm.data.dir
to/path/to/openidm
. This means the default working location data is located in theopenidm/db
,openidm/felix-cache
, andopenidm/audit
directories.Note that this property does not affect the location of the IDM system logs. To change the location of these logs, edit the
conf/logging.properties
file.You can also change the location of the Felix cache, by editing the
conf/config.properties
file, or by starting the server with the-s
option, described later in this section. -c | --config {/path/to/config/file}
-
A customizable startup configuration file (named
launcher.json
) enables you to specify how the OSGi framework is started.Unless you are working with a highly customized deployment, you should not modify the default framework configuration.
-P {property=value}
-
Any properties passed to the startup script with the
-P
option are used when the server loads thelauncher.json
startup configuration file.Options specified here have the lowest order of precedence when the configuration is loaded. If the same property is defined in any other configuration source, the value specified here is ignored.
-s | --storage {/path/to/storage/directory}
-
Specifies the OSGi storage location of the cached configuration files.
You can use this option to redirect output if you are installing on a read-only filesystem volume, or if you are testing different configurations. Sometimes, when you start the server with two different configurations, one after the other, the cached configurations are merged and cause problems. Specifying a storage location puts the cached configuration files in that location, and avoids conflicts with cached files from previous startups.
Additionally, IDM sets the system property idm.install.dir
to the location IDM is installed in. For example, if IDM was installed in /Users/admin/openidm/
, that is what idm.install.dir
will be set to.
For information about changing the startup configuration by substituting property values, see Property Value Substitution.