Skip to main content

ngrok Agent Configuration File

Overview

The ngrok agent supports an optional, YAML configuration file which provides you with the power to run multiple tunnels simultaneously as well as to tweak some of its more advanced settings.

Default Locations

The default location of the ngrok agent's configuration file varies based on your operating system. The easiest way to find the configuration file location is to run:

ngrok config check

which will validate and print the location of the configuration file.

For the main operating systems we support, their default file locations are:

  • Linux: ~/.config/ngrok/ngrok.yml
  • MacOS (Darwin): ~/Library/Application Support/ngrok/ngrok.yml
  • Windows: "%HOMEPATH%\AppData\Local\ngrok\ngrok.yml"

Config File Merging

The --config flag in the ngrok command allows you to specify one or more ngrok configuration files to merge when starting the ngrok agent. The rules for merging are as follows:

  • Values from later configs override those from earlier configs. For example, if config1.yml and config2.yml both set api_key, then calling ngrok http --config config1.yml,config2.yml 80 will use the api_key from config2.yml.
  • Lists are overwritten using the last value.
  • Maps, including the tunnels map, are merged by key and in the case of a duplicate key, the latter value is taken.

Configuration File Formats