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": "", "port": "", "host": "", "defaultNodeIndex": , "dbDirectoryPath": "", "SSO": { "rtlSSO": , "rtlCookiePath": "", "logoutRedirectLink": "" }, "nodes": [ { "index": , "lnNode": "", "lnImplementation": "", "Authentication": { "macaroonPath": "", "runePath": "", "lnApiPassword": "" "swapMacaroonPath": "", "boltzMacaroonPath": "", "configPath": "", }, "Settings": { "userPersona": "", "themeMode": "", "themeColor": "", "channelBackupPath": "\backup\node-1, Optional>", "bitcoindConfigPath": "", "logLevel": , "fiatConversion": , "currencyUnit": "", "unannouncedChannels": "lnServerUrl": " "swapServerUrl": "", "boltzServerUrl": "" } } ] } ```
### 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, Optional)
HOST (host for the rtl node server, default localhost, Optional)
DB_DIRECTORY_PATH (Path for the folder where rtl database file should be saved, default RTL root directory, Optional) APP_PASSWORD (Plaintext password to be provided by the parent container, NOT suggested for standalone RTL applications, to be used by Umbrel) (Optional)
LN_IMPLEMENTATION (LND/CLN/ECL. Default 'LND', Optional)
LN_SERVER_URL (LN server URL for LNP REST APIs, default https://127.0.0.1:8080) (Optional)
SWAP_SERVER_URL (Swap server URL for REST APIs, default http://127.0.0.1:8081) (Optional)
BOLTZ_SERVER_URL (Boltz server URL for REST APIs, default http://127.0.0.1:9003) (Optional)
CONFIG_PATH (Full path of the LNP .conf file including the file name) (Optional for LND & CLN, Mandatory for ECL if LN_API_PASSWORD is undefined)
MACAROON_PATH (Path for the folder containing 'admin.macaroon' for LND, Required for LND)
RUNE_PATH (Complete path for the file containing 'rune' for CLN where the file should define the rune in 'LIGHTNING_RUNE="your-rune"' format, Required for CLN)
SWAP_MACAROON_PATH (Path for the folder containing Loop's 'loop.macaroon', optional)
BOLTZ_MACAROON_PATH (Path for the folder containing Boltz's 'admin.macaroon', optional)
RTL_SSO (1 - single sign on via an external cookie, 0 - stand alone RTL authentication, Required)
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)
ENABLE_OFFERS (Boolean flag to enable the offers feature on core lighning, default false, optional)
ENABLE_PEERSWAP (Boolean flag to enable the peerswap feature on core lighning, default false, 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)