Skip to main content
Version: 8.3 Beta 🚧

Platform Environment Variables

The environment variables listed on this page are supported by the Ignition platform and work on a wide variety of operating systems including Docker, Linux, Windows, and macOS. You can add environment variables to automate certain processes, access sensitive information, and even support more convenient solutions when customizing system setups.

Environment Variables​

The available environment variables can either accept explicit values or load the target values from a file.

note

Some of the variable descriptions below make use of a # character. In these cases, you can specify the same variables multiple times by replacing the # character with a new number for each use.

GATEWAY_NETWORK_0_HOST=1.2.3.4
GATEWAY_NETWORK_0_PORT=8088
GATEWAY_NETWORK_0_DESCRIPTION="For tag server"

GATEWAY_NETWORK_1_HOST=5.6.7.8
GATEWAY_NETWORK_1_PORT=8089
GATEWAY_NETWORK_1_DESCRIPTION="For edge server"
Environment VariableDescription
TZSet to a valid TZ database name, like America/Los_Angeles. See List of tzdata Entries for complete selection.
ACCEPT_IGNITION_EULASet to Y to accept the Ignition EULA automatically (If using Docker, refer to the Docker Licensing section for more details).
GATEWAY_ADMIN_USERNAMEDefaults to admin when not specified, used to set value for initial Gateway auto-commissioning.
GATEWAY_ADMIN_PASSWORDPassword value or salted hash to be used for initial Gateway auto-commissioning.
GATEWAY_HTTP_PORTDefaults to 8088 when not specified, used to override the HTTP port used by the Gateway.
GATEWAY_HTTPS_PORTDefaults to 8043 when not specified, used to override the HTTPS port used by the Gateway.
GATEWAY_GAN_PORTDefaults to 8060 when not specified, used to override the Gateway Network port used by the Gateway.
IGNITION_EDITIONSet to standard, edge, or maker, used to set value for initial Gateway auto-commissioning.
IGNITION_LICENSE_KEY8-character license key (XXXX-XXXX) for leased activation (e.g. Maker Edition), used to set value for initial Gateway auto-commissioning

You can activate multiple 8-character license keys at the same time in a comma-delimited format, such as: ABCD-1234,DCBA-4321,WXYZ-6789,ZYXW-9876.

Changes to this variable will update the leased activation license configuration after initial commissioning.
IGNITION_ACTIVATION_TOKENActivation token for the license key.

You can activate multiple 8-character license keys at the same time in a comma-delimited format, such as: abcdef1234...789,bcdef2345...890.

Changes to this variable will update the leased activation license configuration after initial commissioning.
GATEWAY_NETWORK_#_HOSTHostname (or IP) for Outgoing GAN Connection Definition for #.
GATEWAY_NETWORK_#_PORTPort Number to use for connection #, defaults to 8060 when not specified.
GATEWAY_NETWORK_#_PINGRATEPing Rate (ms) for connection #, defaults to 1000 when not specified.
GATEWAY_NETWORK_#_PINGMAXMISSEDNumber of missed pings allowed for connection #, defaults to 30 when not specified.
GATEWAY_NETWORK_#_ENABLEDSet true or false to mark connection # enabled or disabled
GATEWAY_NETWORK_#_ENABLESSLSet true or false to enable SSL on connection #, defaults to true.
GATEWAY_NETWORK_#_WEBSOCKETTIMEOUTTimeout (ms) for web socket #, defaults to 10000 when not specified.
EAM_SETUP_INSTALLSELECTIONSet Agent or Controller to define the EAM target config, defaults to Agent when not specified.
EAM_AGENT_CONTROLLERSERVERNAMEGateway Name (not hostname) of EAM Controller to bind to.
EAM_AGENT_SENDSTATSINTERVALInterval (seconds) to send statistics to the EAM Controller, defaults to 5 when not specified.
EAM_CONTROLLER_ARCHIVEPATHFilesystem path to store EAM Archives (Gateway backups, etc), defaults to data/eam_archive when not specified.
EAM_CONTROLLER_DATASOURCEThe database connection name to use for recording agent history.
EAM_CONTROLLER_ARCHIVELOCATIONWhen set to MANUAL, the path set in EAM_CONTROLLER_ARCHIVEPATH will be used. Defaults to AUTOMATIC, if omitted.
EAM_CONTROLLER_LOWDISKTHRESHOLDMBValue is in megabytes. Errors will be reported in this Gateway when the disk used for archiving drops below this value.
GATEWAY_MODULES_ENABLEDA comma-delimited set of built-in and third party fully-qualified module identifiers that whitelist modules and restrict them from being uninstalled.

Note: When using Docker, this feature will help with container re-creation events where you want to ensure only a subset of modules remain enabled. The third party modules listed here are automatically loaded and non-quarantined on Gateway launch.
DISABLE_QUICKSTARTBoolean to decide whether or not the "Enable Quick Start" prompt will appear when new Gateways are created. A setting of true will skip the Quick Start prompt.
GATEWAY_NETWORK_#_DESCRIPTIONDocumentation about how the connection is used.
GATEWAY_NETWORK_ENABLEDSet to false to disable using the Gateway Network.
GATEWAY_NETWORK_REQUIRESSLIf true, only connections that use SSL to encrypt traffic will be allowed. This setting only applies to incoming connections.
GATEWAY_NETWORK_REQUIRETWOWAYAUTHEnforces two-way SSL authentication. If true, you will need to install the remote machine's certificate on this machine and manually approve this machine's certificate on the remote machine.
GATEWAY_NETWORK_SENDTHREADSThe maximum number of threads that will be used to upload messages. Applies to outgoing connections.
GATEWAY_NETWORK_RECEIVETHREADSThe maximum number of threads that will be used to download messages. Applies to outgoing connections.
GATEWAY_NETWORK_RECEIVEMAXNumber of received messages that can be held until they are processed by the local system. When this capacity is exceeded, new messages are rejected and errors are reported to the remote Gateway. Applies to incoming connections.
GATEWAY_NETWORK_ALLOWINCOMINGIf false, only outward connections defined on this Gateway will be allowed.
GATEWAY_NETWORK_SECURITYPOLICYDictates what connections are allowed. If set to ApprovedOnly, incoming connections must be approved from the Incoming Connections page. Other options include Unrestricted and SpecifiedList.
GATEWAY_NETWORK_WHITELISTIf the connection policy is set to SpecifiedList, this is the comma-separated list of Gateway names which will be allowed to connect.
GATEWAY_NETWORK_ALLOWEDPROXYHOPSThe maximum number of proxy hops that can be used to reach the destination Gateway. Any number less than or equal to zero is equivalent to no proxy hops allowed.
GATEWAY_NETWORK_WEBSOCKETSESSIONIDLETIMEOUTThe maximum number of milliseconds a websocket is allowed to remain idle before it is closed. This value should always be set higher than outgoing connection ping rates to avoid premature connection termination.
ACCEPT_MODULE_LICENSESA comma-delimited set of fully-qualified module identifiers to allow automated license acceptance of third party modules, which will reduce restart interruptions on Gateway startup or when upgrading from the Gateway Web UI and avoid quarantine states. The use of this environment variable implies acceptance of the respective EULAs, similar to ACCEPT_IGNITION_EULA.
ACCEPT_MODULE_CERTSA comma-delimited list of fully-qualified module identifiers to allow automated certificate acceptance of third party modules, which will reduce restart interruptions on Gateway startup or when upgrading from the Gateway Web UI and avoid quarantine states.
GATEWAY_NETWORK_ALLOWJAVASERIALIZATIONIf true, allows Java serialization so that 8.1 Gateways can communicate with 8.3 Gateways. This setting is disabled by default on new installs, but enabled for users upgrading from 8.1.

Note: It is recommended to use this option only as a temporary solution while all 8.1 Gateways are being upgraded. Once all Gateways are updated, set to false.
IGNITION_ROOT_KEY_PASSWORD_FILEThe path to a file in a folder with the root key password.
IGNITION_ROOT_KEY_PASSWORDThe custom key to start the Gateway.

Specifying Environment Variables​

Docker​

You can define environment variables (ENV) in a Dockerfile, which applies them for any container built from it. Use the following format to specify an environment variable:

ENV: env_variable_name=value

Windows​

To add environment variables on Windows:

  1. Open the Control Panel and navigate to System and Security > System.
  2. Click Advanced system settings.
  3. Click Environment Variables...
  4. Then, select New or Edit as needed under the relevant Variables section to enter Variable names and values.
  5. Click OK to add the environment variable.

MacOS​

Setting environment variables on MacOS is as simple as opening the terminal window and adding the environment variable using the following syntax: VARIABLE="A String Value" export VARIABLE

Setting the IP_ADDRESS Environment Variable Example
IP_ADDRESS=121.0.0.1 export IP_ADDRESS

Linux​

For Linux users, environment variables are placed in different files for different intended purposes. System-Wide environment variables are configured in files such as /etc/environment, and are persistent across restarts for all users. The following steps detail how to add System-Wide environment variables:

  1. Open the terminal.

  2. Enter sudo -H vi /etc/environment.

  3. Enter the required password.

  4. Add the environment variable in the opened file, following NAME="value" formatting. In this example, we will be adding the IGNITION_EDITION environment variable.

    IGNITION_EDITION=8.1.48

  5. Save and close the file.

  6. Log out and back in to apply your saved changes.