RTL allows the user to configure and control specific application parameters for app customization and integration.
The parameters can be configured via RTL-Config.json file or through environment variables defined at the OS level. Required 
parameters have `default` values for initial setup and can be updated after RTL server initial start.

#### RTL-Config.json
{
  "multiPass": "<The password in plain text, default 'password', Required>",
  "port": "<port number for the rtl node server, default '3000', Required>",
  "host": "<host for the rtl node server, default 'localhost', Optional>",
  "defaultNodeIndex": <Default index to load when rtl server starts, default 1, Optional>,
  "SSO": {
    "rtlSSO": <parameter to turn SSO off/on. Allowed values - 1 (single sign on via an external cookie), 0 (stand alone RTL authentication), default 0, Required>,
    "rtlCookiePath": "<Full path of the cookie file including the file name. The application url needs to pass the value from this cookie file as query param 'access-key' for the SSO authentication to work, Required if SSO=1 else empty (Optional)>",
    "logoutRedirectLink": "<URL to re-direct to after logout/timeout from RTL, Required if SSO=1 else empty (Optional)>"
  },
  "nodes": [
    {
      "index": <Incremental node indices starting from 1, Required>,
      "lnNode": "<Node name to uniquely identify the node in the UI, Default 'Node 1', Required>",
      "lnImplementation": "<LNP implementation, Allowed values LND/CLT/ECL. Default 'LND', Required>",
      "Authentication": {
        "macaroonPath": "<Path for the folder containing 'admin.macaroon' (LND)/'access.macaroon' (CLT) file, Required for LND & CLT>",
        "configPath": "<Full path of the lnd.conf/c-lightning config/eclair.conf file including the file name, if present locally, Optional, only mandatory for ECL if the lnApiPassword is missing>",
        "lnApiPassword": "<Password to be used for ECL API authentication. Mandatory only for ECL if the configPath is missing>"
      },
      "Settings": {
        "userPersona": "<User persona to tailor the data on UI. Allowed values MERCHANT, OPERATOR. Default MERCHANT, Required>",
        "themeMode": "<Theme modes, Allowed values DAY, NIGHT. Default DAY, Required>",
        "themeColor": "<Theme colors, Allowed values PURPLE, TEAL, INDIGO, PINK, YELLOW. Default PURPLE, Required>",
        "channelBackupPath": "<Path to save channel backup file. Only for LND implementation, Default <RTL root>\backup\node-1, Optional>",
        "bitcoindConfigPath": "<Path of bitcoind.conf path if available locally>",
        "enableLogging": <Parameter to turn RTL logging off/on. Allowed values - true, false, default false, Required>,
        "fiatConversion": <parameter to turn fiat conversion off/on. Allowed values - true, false, default false, Required>,
        "currencyUnit": "<Optional: Fiat current Unit for currency conversion, default 'USD' If fiatConversion is true, Required if fiatConversion is true>",
        "lnServerUrl": "<Service url for LND/CLightning REST APIs for the node, e.g. https://192.168.0.1:8080 OR https://192.168.0.1:3001 OR http://192.168.0.1:8080. Default 'https://localhost:8080', Required",
        "swapServerUrl": "<Service url for swap server REST APIs for the node, e.g. http://localhost:8081, Optional>",
      }
    }
  ]
}

#### Environment variables
;The environment variable can also be used for all of the above configurations except the UI settings.
;If the environment variables are set, it will take precedence over the parameters in the RTL-Config.json file.
PORT (port number for the rtl node server, default 3000, Required)
HOST (host for the rtl node server, default localhost, Optional)
LN_IMPLEMENTATION (LND/CLT/ECL. Default 'LND', Required)
LN_SERVER_URL (LN server URL for LNP REST APIs, default https://localhost:8080) (Required)
SWAP_SERVER_URL (Swap server URL for REST APIs, default http://localhost:8081) (Optional)
CONFIG_PATH (Full path of the LNP .conf file including the file name) (Optional for LND & CLT, Mandatory for ECL if LN_API_PASSWORD is undefined)
MACAROON_PATH (Path for the folder containing 'admin.macaroon' (LND)/'access.macaroon' (CLT) file, Required for LND & CLT)
RTL_SSO (1 - single sign on via an external cookie, 0 - stand alone RTL authentication, Optional)
RTL_COOKIE_PATH (Full path of the cookie file including the file name, Required if RTL_SSO=1 else Optional)
LOGOUT_REDIRECT_LINK (URL to re-direct to after logout/timeout from RTL, Required if RTL_SSO=1 else Optional)
RTL_CONFIG_PATH (Path for the folder containing 'RTL-Config.json' file, Required)
BITCOIND_CONFIG_PATH (Full path of the bitcoind.conf file including the file name, Optional)
CHANNEL_BACKUP_PATH (Folder location for saving the channel backup files, valid for LND implementation only, Required if ln implementation=LND else Optional)
LN_API_PASSWORD (Password for Eclair implementation if the eclair.conf path is not available, Required if ln implementation=ECL && config path is undefined)
