Env Var Overrides
Every Config Setting can be overridden by convention by creating environment variables in the shell where you run box
. This is ideal for Docker containers or CI builds where you want to easily set one-off settings and not require an entire JSON file. You can set these as actual environment variables or Java system properties of the CLI. Env vars are loaded AFTER any .cfconfig.json
files have been loaded by convention and will override any settings in the JSON. They are not case-sensitive.
The variable must start with the text cfconfig_
and will be followed by the name of the setting.
For nested settings inside a struct or array, you can use underscores to represent dots. Note the following will error if there is not already a datasource named myDSN
in the server.
The overrides are applied using the same mechanism that the cfconfig set
command uses, which means you can also pass JSON directly for complex values.
On OS's like Windows which allow for any manner of special characters, you can provide any string which would also be valid for the config set
command. Ex:
When you provide JSON, the append
flag will be set to true when adding the configuration to what's already in CommandBox.
Overridden env vars will not be written to any .cfconfig.json
file and will be lost when box stops. They will also take precedence and override any explicit settings already set.
Target a Lucee/Railo specific server/web context
If you want to specify a setting via an env var that targets a web context, you can use the following conventions:
Last updated