Skip to content

Command Line Options

This section describes the command line options that are common to all EdgeX services. Some services have addition command line options which are documented in the specific sections for those services.

Config Directory


EdgeX 3.0

The -c/--confdir command line option is replaced by -cd/--configDir in EdgeX 3.0.

Specify local configuration directory. Default is ./res, but will be ignored if Config File parameter refers to a URI beginning with http or https.

Can be overridden with EDGEX_CONFIG_DIR environment variable.

EdgeX 3.0

The EDGEX_CONF_DIR environment variable is replaced by EDGEX_CONFIG_DIR in EdgeX 3.0.

Config File

-cf/--configFile <name>

EdgeX 3.0

The -f/--file command line option is replaced by -cf/--configFile in EdgeX 3.0.

Indicates the name of the local configuration file or the URI of the private configuration. See the URI for Files section for more details. Default is configuration.yaml.

Can be overridden with EDGEX_CONFIG_FILE environment variable.

EdgeX 3.1

Support for loading private configuration via URI is new in EdgeX 3.1.

Config Provider

-cp/ --configProvider

Indicates to use Configuration Provider service at specified URL. URL Format: {type}.{protocol}://{host}:{port}. Default is consul.http://localhost:8500

Can be overridden with EDGEX_CONFIG_PROVIDER environment variable.

EdgeX 3.0

The EDGEX_CONFIGURATION_PROVIDER environment variable is replaced by EDGEX_CONFIG_PROVIDER in EdgeX 3.0.

Common Config

-cc/ --commonConfig

EdgeX 3.0

The Common Config flag is new to EdgeX 3.0

Takes the location where the common configuration is loaded from - either a local file path or a URI when not using the Configuration Provider. See the URI for Files section for more details. Default is blank.

Can be overridden with EDGEX_COMMON_CONFIG environment variable.

EdgeX 3.1

Support for loading common configuration via URI is new in EdgeX 3.1.


-p/--profile <name>

Indicates configuration profile other than default. Default is no profile name resulting in using ./res/configuration.yaml if -f and -c are not used.

Can be overridden with EDGEX_PROFILE environment variable.


-r/ --registry

Indicates service should use the Registry. Connection information is pulled from the [Registry] configuration section.

Can be overridden with EDGEX_USE_REGISTRY environment variable.



Overwrite configuration in provider with local configuration.

Use with caution

This will clobber existing settings in provider, which is problematic if those settings were intentionally edited by hand. Typically only used during development.

Remote Service Hosts

EdgeX 3.1

New in EdgeX 3.1

-rsh/--remoteServiceHosts <host names>

Sets the three host names required when running the service remotely so that it can connect to the core EdgeX services running on another system and also be connected to from those same core EdgeX services.

<host names> must contain and only contain the following three host names in a comma separated string

  1. Host name of local system where the service is running

  2. Host name of the system where the core EdgeX services are running

  3. Host name to bind to for the internal WebServer for hosting the REST API

This allows the service to be accessed from external network. When running native it can be set to the local system Hostname/IP or When running in docker it must be set to localhost or and use docker port mapping to expose the service to external network.


Each host name can be a known DNS host name or the IP address of the host

Example setting Remote Service Hosts


Can be overridden with EDGEX_REMOTE_SERVICE_HOSTS environment variable.

Developer Mode

EdgeX 3.0

New in EdgeX 3.0


Indicates service should run in developer mode. The allows the service running from command-line to properly communicate with other EdgeX services running in Docker (aka hybrid mode). This flag cause all Host configuration values pulled from common configuration via the Configuration Provider to be overridden with the value "localhost".

Development Only

This flag should only be used for development purposes when running from command-line.



Show the help message