Which config file to use
A description of the config file format is available here.
Select which config file to use
Butler SOS uses configuration files in YAML format. The config files are stored in the
Butler SOS comes with a default config file called
Make a copy of it, then rename the copy to
staging.yaml or something else suitable to your specific use case.
Update the config file as needed (see the config file reference page for details).
Trying to run Butler SOS with the default config file (the one included in the files download from GitHub) will not work - you must adapt it to your server environment. For example, you need to enter the IP or host name of you Sense server(s), the IP or host name where Butler SOS is running, where the Sense certificates are stored etc.
The name of the config file matters. Unless you specifically name which config to use when starting Butler SOS, it will look for an environment variable called “NODE_ENV” and then try to load a config file named with the value found in NODE_ENV.
- Environment variable
- Butler SOS is started without specifying a config file:
butler.exe --loglevel info
- Butler SOS will look for a config file
- Butler SOS is started with a command line option specifying a config file:
butler.exe --configfile d:\some\path\butler-sos-config-prod.yaml --loglevel info
- Butler SOS will not look at the
NODE_ENVenvironment variable. Settings will be loaded from the
Running several Butler SOS instances in parallel
If you have several Sense clusters (for example DEV, TEST and PROD environments) you can either monitor them all from a single Butler SOS instance, or set up separate instances for each Sense cluster.
The second case is implemented by creating several config files:
In this scenario three instances of Butler SOS should be started, each given a different config file by setting the NODE_ENV variable as needed when starting Butler SOS.
Or (this option is usually much easier!) use the
--configfile command line option when starting Butler SOS.
Note: If running several Butler SOS instances in parallel, you must also ensure that each one uses unique port numbers for their respective UDP servers etc.
Setting environment variables
The method for setting environment variables varies between operating systems:
Mac OS or Linux
If using Docker, the NODE_ENV environment varible is set in the docker-compose.yml file (as already done in the template docker-compose files.)