Environment Variables / System Properties for Lucee
Environment Variables / System Properties for Lucee
Below is a list of environment variables and system properties you can set for the Lucee Server.
Each sub-heading is the name of the Environment Variable (EnvVar), the equivalent Java System Property (SysProp) is identical, simply in lower case, with underscores replaced by dots.
Important Settings
The following settings are very useful and important to know.
LUCEE_ADMIN_ENABLED
SysProp: -Dlucee.admin.enabled
EnvVar: LUCEE_ADMIN_ENABLED
Should the Lucee Admin be available or not.
LUCEE_ADMIN_PASSWORD
SysProp: -Dlucee.admin.password
EnvVar: LUCEE_ADMIN_PASSWORD
Password used for the Lucee admin (when you run Lucee in multi mode, the password for the Server admin).
LUCEE_DATASOURCE_POOL_VALIDATE
SysProp: -Dlucee.datasource.pool.validate
EnvVar: LUCEE_DATASOURCE_POOL_VALIDATE
If enabled, Lucee will validate existing datasource connections reused from the datasource pool before using them. This protects from exceptions caused by connections dropped by the DB server but creates additional communication between Lucee and the DB server.
** removed in 6.2 **
LUCEE_DEBUGGING_OPTIONS
SysProp: -Dlucee.debugging.options
EnvVar: LUCEE_DEBUGGING_OPTIONS
Debug options, a comma-separated list of the following possible debug options to enable:
- database
- exception
- template
- dump
- tracing
- timer
- implicit-access
- query-usage
- max-records-logged
LUCEE_ENCRYPTION_ALGORITHM
SysProp: -Dlucee.encryption.algorithm
EnvVar: LUCEE_ENCRYPTION_ALGORITHM
Default encryption algorithm used when none is specified. The default "cfmx_compat" is not cryptographically secure - strongly recommended to use "AES" instead. Valid values: CFMX_COMPAT, AES, BLOWFISH, DES
LUCEE_EXTENSIONS
SysProp: -Dlucee.extensions
EnvVar: LUCEE_EXTENSIONS
Define a comma-separated list of Lucee extensions to install when starting up. This can be a simple list of IDs like this, then simply the latest versions get installed:
99A4EF8D-F2FD-40C8-8FB8C2E67A4EEEB6, 671B01B8-B3B3-42B9-AC055A356BED5281, 2BCD080F-4E1E-48F5-BEFE794232A21AF6
Or with more specific information like version and label (for better readability) like this:
99A4EF8D-F2FD-40C8-8FB8C2E67A4EEEB6;name=MSSQL;label=MS SQL Server;version=12.2.0.jre8, 671B01B8-B3B3-42B9-AC055A356BED5281;name=PostgreSQL;label=PostgreSQL;version=42.7.3, 2BCD080F-4E1E-48F5-BEFE794232A21AF6;name=JDTsSQL;label=jTDS (MSSQL);version=1.3.1
LUCEE_LOGINSTORAGE_ITERATIONS
SysProp: -Dlucee.loginstorage.iterations
EnvVar: LUCEE_LOGINSTORAGE_ITERATIONS
Specifies the number of encryption iterations for loginstorage
. The default is 0.
LUCEE_LOGINSTORAGE_PRIVATEKEY
SysProp: -Dlucee.loginstorage.privatekey
EnvVar: LUCEE_LOGINSTORAGE_PRIVATEKEY
A private key used to encrypt loginstorage
. If not defined, a simple base64 encoding is used.
LUCEE_LOGINSTORAGE_SALT
SysProp: -Dlucee.loginstorage.salt
EnvVar: LUCEE_LOGINSTORAGE_SALT
The salt used for encrypting loginstorage
. If no salt is defined, a hardcoded salt is used.
LUCEE_PASSWORD_ENC_KEY
SysProp: -Dlucee.password.enc.key
EnvVar: LUCEE_PASSWORD_ENC_KEY
The private encryption key used by Lucee to encrypt passwords stored in the configuration, such as for datasources.
LUCEE_CFID_URL_ALLOW
previously LUCEE_READ_CFID_FROM_URL
SysProp: -Dlucee.cfid.url.allow
(previously -Dlucee.read.cfid.from.url
)
EnvVar: LUCEE_CFID_URL_ALLOW
(previously LUCEE_READ_CFID_FROM_URL
)
Controls whether Lucee accepts CFID values from URL query strings. Set to false to enhance security by requiring CFIDs to be passed via cookies only. The previous property names are still supported for backward compatibility, but the new names are preferred starting with Lucee 6.2.1.59. Setting this to false is strongly recommended for all production environments.
LUCEE_CFID_URL_LOG
SysProp: -Dlucee.cfid.url.log
EnvVar: LUCEE_CFID_URL_LOG
When set to a log name, Lucee will log all instances where CFID is read from a URL parameter and used. The log includes URL, IP address, user agent, referrer, and stack trace in JSON format. This helps identify code that needs to be updated before URL-based CFID is disabled for security reasons.
LUCEE_REQUESTTIMEOUT
SysProp: -Dlucee.requesttimeout
EnvVar: LUCEE_REQUESTTIMEOUT
A boolean value. If false, Lucee will disable request timeouts.
LUCEE_REQUESTTIMEOUT_CONCURRENTREQUESTTHRESHOLD
SysProp: -Dlucee.requesttimeout.concurrentrequestthreshold
EnvVar: LUCEE_REQUESTTIMEOUT_CONCURRENTREQUESTTHRESHOLD
Concurrent request threshold to enforce a request timeout. If a request reaches the timeout, Lucee will only enforce it if this threshold is also reached. For example, setting it to 100
means the timeout is enforced only if there are at least 99 other requests running.
LUCEE_REQUESTTIMEOUT_CPUTHRESHOLD
SysProp: -Dlucee.requesttimeout.cputhreshold
EnvVar: LUCEE.REQUESTTIMEOUT.CPUTHRESHOLD
A floating-point number between 0 and 1. CPU threshold to enforce a request timeout. If a request reaches the timeout, Lucee will only enforce it if the CPU usage of the current core is at least the specified threshold. For example, setting it to 0.5
enforces the timeout if the CPU is at least 50%.
LUCEE_SERVER_DIR
SysProp: -Dlucee.server.dir
EnvVar: LUCEE_SERVER.DIR
Specifies the file directory for the Lucee server context.
LUCEE_VERSION
SysProp: -Dlucee.version
EnvVar: LUCEE_VERSION
Defines the version of Lucee to load. For example, setting it to 6.1.0.0
will load that version. If not available locally, Lucee will automatically download it from Maven.
LUCEE_ADMIN_MODE="single|multi"
SysProp: -Dlucee.admin.mode
EnvVar: LUCEE_ADMIN_MODE
This setting only applies to Lucee 6 (above 6.1.1.54
), Lucee 6 can run in single
mode or multi
mode. In single mode, Lucee only has one set of configurations for the whole server. In multi mode, you have a base configuration for the whole server, but then every web context has its own configuration to override the base configuration. With Lucee 5, you only have multi mode and with Lucee 7, you only have single mode.
By default, a new version of Lucee 6 with no .CFConfig.json
provided that contains a mode:"single|multi"
setting starts in single mode. When you update from Lucee 5, you start in multi mode.
To change this behavior, you can set the environment variable LUCEE_ADMIN_MODE="single|multi"
or SysProp -Dlucee.admin.mode="single|multi"
.
LUCEE_ADMIN_MODE_DEFAULT="single|multi"
SysProp: -Dlucee.admin.mode.default
EnvVar: LUCEE_ADMIN_MODE_DEFAULT
This setting functions similarly to LUCEE_ADMIN_MODE
, but it only affects the default behavior and can be overridden by any setting in .CFConfig.json
.
LUCEE_CASCADING_WRITE_TO_VARIABLES_LOG
SysProp: -Dlucee.cascading.write.to.variables.log
EnvVar: LUCEE_CASCADING_WRITE_TO_VARIABLES.LOG
This setting only applies to Lucee 6 (above 6.2.1.82
). Enables logging when variables are implicitly written to the variables scope (without an explicit scope definition). When set to a log level name (e.g., "application"), Lucee will log details about variables being assigned without explicit scope at the DEBUG level. This helps identify code that could be optimized by using proper variable scoping.
LUCEE_CASCADING_WRITE_TO_VARIABLES_LOG
SysProp: -Dlucee.cascading.write.to.variables.log
EnvVar: LUCEE_CASCADING_WRITE_TO_VARIABLES.LOG
This setting only applies to Lucee 6 (above 6.2.1.82
). Enables logging when variables are implicitly written to the variables scope (without an explicit scope definition). When set to a log name (e.g., "application"), Lucee will log details about variables being assigned without explicit scope. The log level can be customized using the LUCEE_CASCADING_WRITE_TO_VARIABLES_LOGLEVEL
setting. This helps identify code that could be optimized by using proper variable scoping. This setting excludes certain internal variables (_cfquery, _cflock, _thread) from being logged.
LUCEE_CASCADING_WRITE_TO_VARIABLES_LOGLEVEL
SysProp: -Dlucee.cascading.write.to.variables.loglevel
EnvVar: LUCEE_CASCADING_WRITE_TO_VARIABLES.LOGLEVEL
This setting only applies to Lucee 6 (above 6.2.1.82
). Specifies the log level for cascading write detection logs. Valid values are: DEBUG, INFO, WARN, ERROR. If not specified, the default level is DEBUG.
Breaking Changes
Major updates for Lucee can sometimes cause breaking changes. The settings below allow you to emulate the behavior of older Lucee versions in newer versions.
LUCEE_QUERY_ALLOWEMPTYASNULL
SysProp: -Dlucee.query.allowemptyasnull
EnvVar: LUCEE_QUERY_ALLOWEMPTYASNULL
In Lucee 5, an empty string passed into a query parameter with a numeric type was interpreted as null. In Lucee 6, this is no longer accepted and throws an exception.
You can simulate the old behavior by setting this environment variable or SysProp to true
.
By setting the log level of the datasource
log to warn
, you will receive information in the log when the old behavior is used.
This allows you to modify your code for the new behavior without encountering runtime issues with the existing code.
LUCEE_DESERIALIZEJSON_ALLOWEMPTY
SysProp: -Dlucee.deserializejson.allowempty
EnvVar: LUCEE_DESERIALIZEJSON_ALLOWEMPTY
In Lucee 5, an empty string passed into the function deserializeJson will return an empty string back. In Lucee 6, this is no longer accepted and throws an exception.
You can simulate the old behavior by setting this environment variable or SysProp to true
.
By setting the log level of the application
log to warn
, you will receive information in the log when the old behavior is used.
This allows you to modify your code for the new behavior without encountering runtime issues with the existing code.
Regular Settings
Settings that are nice to know, but not that important.
LUCEE_MAVEN_LOCAL_REPOSITORY
SysProp: -Dlucee.maven.local.repository
EnvVar: LUCEE_MAVEN_LOCAL_REPOSITORY
Defines the location in the local filesystem where Lucee stores downloaded Maven artifacts. If not explicitly configured, artifacts will be stored in the default location at lucee-server/mvn/
.
LUCEE_MAVEN_DEFAULT_REPOSITORIES
SysProp: -Dlucee.maven.default.repositories
EnvVar: LUCEE_MAVEN_DEFAULT_REPOSITORIES
Specifies a comma-separated list of Maven repository URLs to use before the default repositories (Maven Central, Sonatype, JCenter). This allows customizing the Maven repositories used by Lucee for downloading dependencies.
- URLs must be valid Maven repository paths ending with a trailing slash (/)
- Repositories specified will be added at the beginning of Lucee's repository list
- Can be used to specify local repositories accessible to the server
- Particularly valuable for servers behind firewalls with limited external access
FELIX_LOG_LEVEL
SysProp: -Dfelix.log.level
EnvVar: FELIX_LOG_LEVEL
Log level for the Felix Framework (OSGi).
LUCEE_ALLOW_COMPRESSION
SysProp: -Dlucee.allow.compression
EnvVar: LUCEE_ALLOW_COMPRESSION
Allows compressing (GZIP) the HTTP response if the client explicitly supports it.
LUCEE_APPLICATION_PATH_CACHE_TIMEOUT
SysProp: -Dlucee.application.path.cache.timeout
EnvVar: LUCEE_APPLICATION_PATH_CACHE_TIMEOUT
Lucee caches the path information to the template; this defines the idle timeout for these cache elements in milliseconds.
LUCEE_COMPILER_BLOCK_BYTECODE
SysProp: -Dlucee.compiler.block.bytecode
EnvVar: LUCEE_COMPILER_BLOCK_BYTECODE
Controls whether Lucee allows the direct execution of precompiled bytecode files (.cfm). Set to true to prevent bytecode execution, requiring all CFML files to be provided as source code.
LUCEE_CASCADE_TO_RESULTSET
SysProp: -Dlucee.cascade.to.resultset
EnvVar: LUCEE_CASCADE_TO_RESULTSET
When a variable has no scope defined (example: #myVar#
instead of #variables.myVar#
), Lucee will also search available resultsets (CFML Standard) or not.
LUCEE_CLI_PRINTEXCEPTIONS
SysProp: -Dlucee.cli.printExceptions
EnvVar: LUCEE_CLI_PRINTEXCEPTIONS
Print out exceptions within the CLI interface.
LUCEE_ENABLE_WARMUP
SysProp: -Dlucee.enable.warmup
EnvVar: LUCEE_ENABLE_WARMUP
Boolean to enable/disable Lucee warmup on start.
LUCEE_EXTENSIONS_INSTALL
SysProp: -Dlucee.extensions.install
EnvVar: LUCEE_EXTENSIONS_INSTALL
A boolean value to enable/disable the installation of extensions.
LUCEE_FULL_NULL_SUPPORT
SysProp: -Dlucee.full.null.support
EnvVar: LUCEE_FULL_NULL_SUPPORT
A boolean value to enable/disable full null support.
LUCEE_LIBRARY_ADDITIONAL_FUNCTION
SysProp: -Dlucee.library.additional.function
EnvVar: LUCEE_LIBRARY_ADDITIONAL_FUNCTION
Path to a directory for additional CFML-based functions Lucee should load to make these functions available in the application. For example, you create a file called length.cfm
that looks like this:
function length(obj) {
return len(obj);
}
Then you copy that file into that directory, and you can use the function length(any)
in all your code like a built-in function.
LUCEE_LIBRARY_ADDITIONAL_TAG
SysProp: -Dlucee.library.additional.tag
EnvVar: LUCEE_LIBRARY_ADDITIONAL_TAG
Path to a directory for additional CFML-based tags Lucee should load as globally available tags following the custom tag interface.
LUCEE_LIBRARY_DEFAULT_FUNCTION
SysProp: -Dlucee.library.default.function
EnvVar: LUCEE_LIBRARY_DEFAULT_FUNCTION
Path to a directory for CFML-based functions Lucee should load to make these functions available in the application. For example, you create a file called length.cfm
that looks like this:
function length(obj) {
return len(obj);
}
Then you copy that file into that directory, and you can use the function length(any)
in all your code like a built-in function.
LUCEE_LIBRARY_DEFAULT_TAG
SysProp: -Dlucee.library.default.tag
EnvVar: LUCEE_LIBRARY_DEFAULT_TAG
Path to a directory for CFML-based tags Lucee should load as globally available tags following the custom tag interface.
LUCEE_LIBRARY_DEFAULT_TLD
SysProp: -Dlucee.library.default.tld
EnvVar: LUCEE_LIBRARY_DEFAULT_TLD
Tag Library Descriptor files (.tld or .tldx) Lucee should load to make these tags available in the application.
LUCEE_LISTENER_MODE
SysProp: -Dlucee.listener.mode
EnvVar: LUCEE_LISTENER.MODE
Where/how does Lucee look for the Application Listener?
currenttoroot
- looks for the file "Application.cfc/Application.cfm" from the current up to the webroot directory.currentorroot
- looks for the file "Application.cfc/Application.cfm" in the current directory and in the webroot directory.root
- looks for the file "Application.cfc/Application.cfm" only in the webroot.current
- looks for the file "Application.cfc/Application.cfm" only in the current template directory.
LUCEE_LISTENER_TYPE
SysProp: -Dlucee.listener.type
EnvVar: LUCEE_LISTENER_TYPE
Which kind of Application Listener is supported?
None
- no listener at all.Classical (CFML < 7)
- Classic handling. Lucee looks for the file "Application.cfm" and a corresponding file "OnRequestEnd.cfm".Modern
- Modern handling. Lucee only looks for the file "Application.cfc".Mixed (CFML >= 7)
- Mixed handling. Lucee looks for a file "Application.cfm/OnRequestEnd.cfm" as well as for the file "Application.cfc".
LUCEE_LISTENER_SINGELTON
SysProp: -Dlucee.listener.singelton
EnvVar: LUCEE_LISTENER_SINGELTON
Controls how Lucee manages Application.cfc instances (introduced in Lucee 7). When set to false (Classic behavior), Lucee creates a new Application.cfc instance for each request and executes the component body constructor every time. When set to true (Singleton behavior), the component loads only during startup or when the component template changes.
Note: With singleton mode enabled, settings defined in the component body remain persistent between requests. Configuration changes should be made within listener functions like onApplicationStart, onSessionStart or onRequestStart.
LUCEE_LOGGING_MAIN
SysProp: -Dlucee.logging.main
EnvVar: LUCEE_LOGGING_MAIN
Name of the main logger used by Lucee, for example, a non-existing logger is defined.
LUCEE_MAPPING_FIRST
SysProp: -Dlucee.mapping.first
EnvVar: LUCEE_MAPPING_FIRST
Let's say you have the following code:
<cfinclude template="/foo/bar/index.cfm">
And you have the following mappings defined:
/foo/bar
/foo
Then Lucee will look for /index.cfm
in /foo/bar
and for /bar/index.cfm
in /foo
and invoke the first index.cfm
it finds, which could be in both mappings. If this setting is set to true
, Lucee will only check /foo/bar
for index.cfm
.
LUCEE_MVN_REPO_RELEASES
SysProp: -Dlucee.mvn.repo.releases
EnvVar: LUCEE_MVN_REPO_RELEASES
Endpoint used by Lucee >= 6 to load releases, by default this is https://oss.sonatype.org/service/local/repositories/releases/content/
.
LUCEE_MVN_REPO_SNAPSHOTS
SysProp: -Dlucee.mvn.repo.snapshots
EnvVar: LUCEE_MVN_REPO_SNAPSHOTS
Endpoint used by Lucee >= 6 to load snapshots, by default this is https://oss.sonatype.org/content/repositories/snapshots/
.
LUCEE_PAGEPOOL_MAXSIZE
SysProp: -Dlucee.pagePool.maxSize
EnvVar: LUCEE_PAGEPOOL_MAXSIZE
Max size of the template pool (page pool), the pool Lucee holds loaded .cfm
/.cfc
files. By default, this is 10000
; no number smaller than 1000
is accepted.
LUCEE_PRECISE_MATH
SysProp: -Dlucee.precise.math
EnvVar: LUCEE_PRECISE_MATH
A boolean value. If enabled, this improves the accuracy of floating-point calculations but makes them slightly slower.
LUCEE_PRESERVE_CASE
SysProp: -Dlucee.preserve.case
EnvVar: LUCEE_PRESERVE_CASE
A boolean value. If true, Lucee will not convert variable names used in "dot notation" to UPPER CASE.
LUCEE_QUEUE_ENABLE
SysProp: -Dlucee.queue.enable
EnvVar: LUCEE_QUEUE_ENABLE
A boolean value. If true, Lucee will enable the queue for requests.
LUCEE_QUEUE_MAX
SysProp: -Dlucee.queue.max
EnvVar: LUCEE.QUEUE.MAX
The maximum concurrent requests that the engine allows to run at the same time before the engine begins to queue the requests.
LUCEE_QUEUE_TIMEOUT
SysProp: -Dlucee.queue.timeout
EnvVar: LUCEE_QUEUE_TIMEOUT
The time in milliseconds a request is held in the queue. If the time is reached, the request is rejected with an exception. If you set it to 0 seconds, the request timeout is used instead.
LUCEE_REQUEST_LIMIT_CONCURRENT_MAXNOSLEEP
SysProp: -Dlucee.request.limit.concurrent.maxnosleep
EnvVar: LUCEE_REQUEST_LIMIT_CONCURRENT_MAXNOSLEEP
The maximal number of threads that are allowed to be active on the server. If this is reached, requests get forced into a "nap" (defined by lucee.request.limit.concurrent.sleeptime
).
LUCEE_REQUEST_LIMIT_CONCURRENT_SLEEPTIME
SysProp: -Dlucee.request.limit.concurrent.sleeptime
EnvVar: LUCEE_REQUEST_LIMIT_CONCURRENT_SLEEPTIME
How long a request should "nap" in milliseconds if it reaches the lucee.request.limit.concurrent.maxnosleep
.
LUCEE_REQUESTTIMEOUT_MEMORYTHRESHOLD
SysProp: -Dlucee.requesttimeout.memorythreshold
EnvVar: LUCEE_REQUESTTIMEOUT_MEMORYTHRESHOLD
A floating-point number between 0 and 1. Memory threshold to enforce a request timeout. If a request reaches the request timeout, Lucee will only enforce that timeout if this threshold is also reached. For example, setting it to 0.5
enforces the timeout if the memory consumption of the server is at least 50%.
LUCEE_RESOURCE_CHARSET
SysProp: -Dlucee.resource.charset
EnvVar: LUCEE_RESOURCE_CHARSET
Default character set for reading from/writing to various resources (files).
LUCEE_SCRIPT_PROTECT
SysProp: -Dlucee.script.protect
EnvVar: LUCEE_SCRIPT_PROTECT
Script protect setting used by default. Consult the Lucee admin page /Settings/Request
for details on possible settings.
LUCEE_SECURITY_LIMITEVALUATION
SysProp: -Dlucee.security.limitEvaluation
EnvVar: LUCEE_SECURITY_LIMITEVALUATION
A boolean value. If enabled, limits variable evaluation in functions/tags. If enabled, you cannot use expressions within [ ]
like this: susi[getVariableName()]
. This affects the following functions: IsDefined
, structGet
, empty
and the following tags: savecontent attribute "variable"
.
LUCEE_SSL_CHECKSERVERIDENTITY
SysProp: -Dlucee.ssl.checkserveridentity
EnvVar: LUCEE_SSL_CHECKSERVERIDENTITY
A boolean value. If enabled, checks the identity of the SSL certificate with SMTP.
LUCEE_STATUS_CODE
SysProp: -Dlucee.status.code
EnvVar: LUCEE_STATUS_CODE
A boolean value. If disabled, returns a 200 status code to the client even if an uncaught exception occurs.
LUCEE_STORE_EMPTY
SysProp: -Dlucee.store.empty
EnvVar: LUCEE_STORE_EMPTY
A boolean value. If enabled, does not store empty sessions to the client or session storage.
LUCEE_SUPPRESS_WS_BEFORE_ARG
SysProp: -Dlucee.suppress.ws.before.arg
EnvVar: LUCEE_SUPPRESS_WS_BEFORE_ARG
A boolean value. If enabled, Lucee suppresses whitespace defined between the cffunction
starting tag and the last cfargument
tag. This setting is ignored when there is different output between these tags as whitespace.
LUCEE_SYSTEM_ERR
SysProp: -Dlucee.system.err
EnvVar: LUCEE_SYSTEM_ERR
Where is the error stream of the JVM sent? Possible values are:
null
(the stream is ignored)class:<class-name>
- the data is sent to an instance of that class that must implement thejava.io.PrintStream
interfacefile:<file-path>
- an absolute path to a file name the stream is written tolog
- stream is written toerr.log
incontext/logs/
LUCEE_SYSTEM_OUT
SysProp: -Dlucee.system.out
EnvVar: LUCEE_SYSTEM_OUT
Where is the out stream of the JVM sent? Possible values are:
null
(the stream is ignored)class:<class-name>
- the data is sent to an instance of that class that must implement thejava.io.PrintStream
interfacefile:<file-path>
- an absolute path to a file name the stream is written tolog
- stream is written toout.log
incontext/logs/
LUCEE_TASKS_LIMIT
SysProp: -Dlucee.tasks.limit
EnvVar: LUCEE_TASKS_LIMIT
Defines the maximum number of elements that can be stored in the cfthread scope. Once this limit is reached, the oldest entries are automatically removed to make room for new ones. The default value is 10000.
LUCEE_TEMPLATE_CHARSET
SysProp: -Dlucee.template.charset
EnvVar: LUCEE_TEMPLATE_CHARSET
Default character set used to read templates (.cfm
and .cfc
files).
LUCEE_TYPE_CHECKING
SysProp: -Dlucee.type.checking
EnvVar: LUCEE_TYPE_CHECKING
A boolean value. If enabled, Lucee enforces types defined in the code. If false, type definitions are ignored.
LUCEE_UPLOAD_BLOCKLIST
SysProp: -Dlucee.upload.blocklist
EnvVar: LUCEE_UPLOAD_BLOCKLIST
Default block list for the tag cffile action="upload"
. A comma-separated list of extensions that are allowed when uploading files via forms.
LUCEE_USE_LUCEE_SSL_TRUSTSTORE
SysProp: -Dlucee.use.lucee.SSL.TrustStore
EnvVar: LUCEE_USE_LUCEE_SSL_TRUSTSTORE
Specifies the file location of the trust store that contains trusted Certificate Authorities (CAs) for SSL/TLS connections in Java applications. Lucee 6 uses the JVM trust store by default.
LUCEE_WEB_CHARSET
SysProp: -Dlucee.web.charset
EnvVar: LUCEE_WEB_CHARSET
Default character set for output streams, form-, URL-, and CGI scope variables, and reading/writing the header.
LUCEE_CONTROLLER_GC
SysProp: -Dlucee.controller.gc
EnvVar: LUCEE_CONTROLLER_GC
Default false, previously Lucee always ran a System.GC() every 5 minutes, available since 6.2.
LUCEE_URL_ENCODEALLOWPLUS
SysProp: -Dlucee.url.encodeAllowPlus
EnvVar: LUCEE_URL_ENCODEALLOWPLUS
Lucee before 6.2 would attempt to re-encode a url param which contained a space. If the url param was already encoded, it would trigger re-encoding the param again, breaking it. This was avoidable previously by using cfhttp encodeurl=false, set to false to enable previous behaviour.
LUCEE_DUMP_THREADS
SysProp: -Dlucee.dump.threads
EnvVar: LUCEE_DUMP_THREADS
Used for debugging, when enabled, it will dump out running threads to the console via the background controller thread.
LUCEE_SCOPE_LOCAL_CAPACITY
SysProp: -Dlucee.scope.local.capacity
EnvVar: LUCEE_SCOPE_LOCAL_CAPACITY
Sets the initial capacity (size) for the local scope hashmap.
LUCEE_SCOPE_ARGUMENTS_CAPACITY
SysProp: -Dlucee.scope.arguments.capacity
EnvVar: LUCEE_SCOPE_ARGUMENTS_CAPACITY
Sets the initial capacity (size) for the arguments scope hashmap.
LUCEE_CACHE_VARIABLEKEYS
SysProp: -Dlucee.cache.variableKeys
EnvVar: LUCEE.CACHE.VARIABLEKEYS
Sets the max number of variable names (keys) to cache.
LUCEE_THREADS_MAXDEFAULT
SysProp: -Dlucee.threads.maxDefault
EnvVar: LUCEE_THREADS_MAXDEFAULT
Sets the default max number of parallel threads, default 20.
LUCEE_DEBUGGING_MAXPAGEPARTS
SysProp: -Dlucee.debugging.maxPageParts
EnvVar: LUCEE_DEBUGGING_MAXPAGEPARTS
Maximum number of debugging page parts (executionLogs to output), 0 to disable max limit.
LUCEE_LOGGING_FORCE_APPENDER
SysProp: -Dlucee.logging.force.appender
EnvVar: LUCEE_LOGGING_FORCE_APPENDER
If set, override the default log4j appender, which is usually resource (log files), use console to log all logs to console
LUCEE_LOGGING_FORCE_LEVEL
SysProp: -Dlucee.logging.force.level
EnvVar: LUCEE_LOGGING_FORCE_LEVEL
If set, override the default log4j log level for all logs, which is usually ERROR
LUCEE_SESSIONCOOKIE_ROTATE_UNKNOWN
SysProp: -Dlucee.sessionCookie.rotate.unknown
EnvVar: LUCEE_SESSIONCOOKIE_ROTATE_UNKNOWN
Default true, when false, unknown cfml session cookies won't be automatically rotated
Edge Case Settings
These settings are normally not needed in a regular environment.
FELIX_LOG_LEVEL
SysProp: -Dfelix.log.level
EnvVar: FELIX_LOG_LEVEL
Log level for the Felix Framework (OSGi).
LUCEE_ALLOW_COMPRESSION
SysProp: -Dlucee.allow.compression
EnvVar: LUCEE_ALLOW_COMPRESSION
Allows compressing (GZIP) the HTTP response if the client explicitly supports it.
LUCEE_APPLICATION_PATH_CACHE_TIMEOUT
SysProp: -Dlucee.application.path.cache.timeout
EnvVar: LUCEE_APPLICATION_PATH_CACHE_TIMEOUT
Lucee caches the path information to the template; this defines the idle timeout for these cache elements in milliseconds.
LUCEE_CASCADE_TO_RESULTSET
SysProp: -Dlucee.cascade.to.resultset
EnvVar: LUCEE_CASCADE_TO_RESULTSET
When a variable has no scope defined (example: #myVar#
instead of #variables.myVar#
), Lucee will also search available resultsets (CFML Standard) or not.
LUCEE_CLI_PRINTEXCEPTIONS
SysProp: -Dlucee.cli.printExceptions
EnvVar: LUCEE_CLI_PRINTEXCEPTIONS
Print out exceptions within the CLI interface.
LUCEE_ENABLE_WARMUP
SysProp: -Dlucee.enable.warmup
EnvVar: LUCEE_ENABLE_WARMUP
Boolean to enable/disable Lucee warmup on start.
LUCEE_EXTENSIONS_INSTALL
SysProp: -Dlucee.extensions.install
EnvVar: LUCEE_EXTENSIONS_INSTALL
A boolean value to enable/disable the installation of extensions.
LUCEE_FULL_NULL_SUPPORT
SysProp: -Dlucee.full.null.support
EnvVar: LUCEE_FULL_NULL_SUPPORT
A boolean value to enable/disable full null support.
LUCEE_LIBRARY_ADDITIONAL_FUNCTION
SysProp: -Dlucee.library.additional.function
EnvVar: LUCEE_LIBRARY_ADDITIONAL_FUNCTION
Path to a directory for additional CFML-based functions Lucee should load to make these functions available in the application. For example, you create a file called length.cfm
that looks like this:
<cfscript>
function length(obj) {
return len(obj);
}
</cfscript>
Then you copy that file into that directory, and you can use the function length(any)
in all your code like a built-in function.
LUCEE_LIBRARY_ADDITIONAL_TAG
SysProp: -Dlucee.library.additional.tag
EnvVar: LUCEE_LIBRARY_ADDITIONAL_TAG
Path to a directory for additional CFML-based tags Lucee should load as globally available tags following the custom tag interface.
LUCEE_LIBRARY_DEFAULT_FUNCTION
SysProp: -Dlucee.library.default.function
EnvVar: LUCEE_LIBRARY_DEFAULT_FUNCTION
Path to a directory for CFML-based functions Lucee should load to make these functions available in the application. For example, you create a file called length.cfm
that looks like this:
<cfscript>
function length(obj) {
return len(obj);
}
</cfscript>
Then you copy that file into that directory, and you can use the function length(any)
in all your code like a built-in function.
LUCEE_LIBRARY_DEFAULT_TAG
SysProp: -Dlucee.library.default.tag
EnvVar: LUCEE_LIBRARY_DEFAULT_TAG
Path to a directory for CFML-based tags Lucee should load as globally available tags following the custom tag interface.
LUCEE_LIBRARY_DEFAULT_TLD
SysProp: -Dlucee.library.default.tld
EnvVar: LUCEE_LIBRARY_DEFAULT_TLD
Tag Library Descriptor files (.tld
or .tldx
) Lucee should load to make these tags available in the application.
LUCEE_LISTENER_MODE
SysProp: -Dlucee.listener.mode
EnvVar: LUCEE_LISTENER_MODE
Where/how does Lucee look for the Application Listener?
currenttoroot
- looks for the file "Application.cfc/Application.cfm" from the current up to the webroot directory.currentorroot
- looks for the file "Application.cfc/Application.cfm" in the current directory and in the webroot directory.root
- looks for the file "Application.cfc/Application.cfm" only in the webroot.current
- looks for the file "Application.cfc/Application.cfm" only in the current template directory.
LUCEE_LISTENER_TYPE
SysProp: -Dlucee.listener.type
EnvVar: LUCEE_LISTENER_TYPE
Which kind of Application Listener is supported?
None
- no listener at all.Classical (CFML < 7)
- Classic handling. Lucee looks for the file "Application.cfm" and a corresponding file "OnRequestEnd.cfm".Modern
- Modern handling. Lucee only looks for the file "Application.cfc".Mixed (CFML >= 7)
- Mixed handling. Lucee looks for a file "Application.cfm/OnRequestEnd.cfm" as well as for the file "Application.cfc".
LUCEE_LOGGING_MAIN
SysProp: -Dlucee.logging.main
EnvVar: LUCEE_LOGGING_MAIN
Name of the main logger used by Lucee, for example, a non-existing logger is defined.
LUCEE_MAPPING_FIRST
SysProp: -Dlucee.mapping.first
EnvVar: LUCEE_MAPPING_FIRST
Let's say you have the following code:
<cfinclude template="/foo/bar/index.cfm">
And you have the following mappings defined:
/foo/bar
/foo
Then Lucee will look for /index.cfm
in /foo/bar
and for /bar/index.cfm
in /foo
and invoke the first index.cfm
it finds, which could be in both mappings. If this setting is set to true
, Lucee will only check /foo/bar
for index.cfm
.
LUCEE_MVN_REPO_RELEASES
SysProp: -Dlucee.mvn.repo.releases
EnvVar: LUCEE_MVN_REPO_RELEASES
Endpoint used by Lucee >= 6 to load releases. By default, this is https://oss.sonatype.org/service/local/repositories/releases/content/
.
LUCEE_MVN_REPO_SNAPSHOTS
SysProp: -Dlucee.mvn.repo.snapshots
EnvVar: LUCEE_MVN_REPO_SNAPSHOTS
Endpoint used by Lucee >= 6 to load snapshots. By default, this is https://oss.sonatype.org/content/repositories/snapshots/
.
LUCEE_PAGEPOOL_MAXSIZE
SysProp: -Dlucee.pagePool.maxSize
EnvVar: LUCEE_PAGEPOOL_MAXSIZE
Max size of the template pool (page pool), the pool Lucee holds loaded .cfm
/.cfc
files. By default, this is 10000
; no number smaller than 1000
is accepted.
LUCEE_PRECISE_MATH
SysProp: -Dlucee.precise.math
EnvVar: LUCEE_PRECISE_MATH
A boolean value. If enabled, this improves the accuracy of floating-point calculations but makes them slightly slower.
LUCEE_PRESERVE_CASE
SysProp: -Dlucee.preserve.case
EnvVar: LUCEE_PRESERVE_CASE
A boolean value. If true, Lucee will not convert variable names used in "dot notation" to UPPER CASE.
LUCEE_QUEUE_ENABLE
SysProp: -Dlucee.queue.enable
EnvVar: LUCEE_QUEUE_ENABLE
A boolean value. If true, Lucee will enable the queue for requests.
LUCEE_QUEUE_MAX
SysProp: -Dlucee.queue.max
EnvVar: LUCEE_QUEUE_MAX
The maximum concurrent requests that the engine allows to run at the same time before the engine begins to queue the requests.
LUCEE_QUEUE_TIMEOUT
SysProp: -Dlucee.queue.timeout
EnvVar: LUCEE_QUEUE_TIMEOUT
The time in milliseconds a request is held in the queue. If the time is reached, the request is rejected with an exception. If you set it to 0 seconds, the request timeout is used instead.
LUCEE_REQUEST_LIMIT_CONCURRENT_MAXNOSLEEP
SysProp: -Dlucee.request.limit.concurrent.maxnosleep
EnvVar: LUCEE_REQUEST_LIMIT_CONCURRENT_MAXNOSLEEP
The maximal number of threads that are allowed to be active on the server. If this is reached, requests get forced into a "nap" (defined by lucee.request.limit.concurrent.sleeptime
).
LUCEE_REQUEST_LIMIT_CONCURRENT_SLEEPTIME
SysProp: -Dlucee.request.limit.concurrent.sleeptime
EnvVar: LUCEE_REQUEST_LIMIT_CONCURRENT_SLEEPTIME
How long a request should "nap" in milliseconds if it reaches the lucee.request.limit.concurrent.maxnosleep
.
LUCEE_REQUESTTIMEOUT_MEMORYTHRESHOLD
SysProp: -Dlucee.requesttimeout.memorythreshold
EnvVar: LUCEE_REQUESTTIMEOUT_MEMORYTHRESHOLD
A floating-point number between 0 and 1. Memory threshold to enforce a request timeout. If a request reaches the request timeout, Lucee will only enforce that timeout if this threshold is also reached. For example, setting it to 0.5
enforces the timeout if the memory consumption of the server is at least 50%.
LUCEE_RESOURCE_CHARSET
SysProp: -Dlucee.resource.charset
EnvVar: LUCEE_RESOURCE_CHARSET
Default character set for reading from/writing to various resources (files).
LUCEE_SCRIPT_PROTECT
SysProp: -Dlucee.script.protect
EnvVar: LUCEE_SCRIPT_PROTECT
Script protect setting used by default. Consult the Lucee admin page /Settings/Request
for details on possible settings.
LUCEE_SECURITY_LIMITEVALUATION
SysProp: -Dlucee.security.limitEvaluation
EnvVar: LUCEE_SECURITY_LIMITEVALUATION
A boolean value. If enabled, limits variable evaluation in functions/tags. If enabled, you cannot use expressions within [ ]
like this: susi[getVariableName()]
. This affects the following functions: IsDefined
, structGet
, empty
and the following tags: savecontent attribute "variable"
.
This is enabled by default in Lucee 7.
LUCEE_SSL_CHECKSERVERIDENTITY
SysProp: -Dlucee.ssl.checkserveridentity
EnvVar: LUCEE_SSL_CHECKSERVERIDENTITY
A boolean value. If enabled, checks the identity of the SSL certificate with SMTP.
LUCEE_STATUS_CODE
SysProp: -Dlucee.status.code
EnvVar: LUCEE_STATUS_CODE
A boolean value. If disabled, returns a 200 status code to the client even if an uncaught exception occurs.
LUCEE_STORE_EMPTY
SysProp: -Dlucee.store.empty
EnvVar: LUCEE.STORE.EMPTY
A boolean value. If enabled, does not store empty sessions to the client or session storage.
LUCEE_SUPPRESS_WS_BEFORE_ARG
SysProp: -Dlucee.suppress.ws.before.arg
EnvVar: LUCEE_SUPPRESS_WS_BEFORE_ARG
A boolean value. If enabled, Lucee suppresses whitespace defined between the cffunction
starting tag and the last cfargument
tag. This setting is ignored when there is different output between these tags as whitespace.
LUCEE_SYSTEM_ERR
SysProp: -Dlucee.system.err
EnvVar: LUCEE_SYSTEM_ERR
Where is the error stream of the JVM sent? Possible values are:
null
(the stream is ignored)class:
- the data is sent to an instance of that class that must implement thejava.io.PrintStream
interfacefile:
- an absolute path to a file name the stream is written tolog
- stream is written toerr.log
incontext/logs/
LUCEE_SYSTEM_OUT
SysProp: -Dlucee.system.out
EnvVar: LUCEE_SYSTEM_OUT
Where is the out stream of the JVM sent? Possible values are:
null
(the stream is ignored)class:
- the data is sent to an instance of that class that must implement thejava.io.PrintStream
interfacefile:
- an absolute path to a file name the stream is written tolog
- stream is written toout.log
incontext/logs/
LUCEE_TEMPLATE_CHARSET
SysProp: -Dlucee.template.charset
EnvVar: LUCEE_TEMPLATE_CHARSET
Default character set used to read templates (.cfm
and .cfc
files).
LUCEE_TYPE_CHECKING
SysProp: -Dlucee.type.checking
EnvVar: LUCEE_TYPE_CHECKING
A boolean value. If enabled, Lucee enforces types defined in the code. If false, type definitions are ignored.
LUCEE_UPLOAD_BLOCKLIST
SysProp: -Dlucee.upload.blocklist
EnvVar: LUCEE_UPLOAD_BLOCKLIST
Default block list for the tag cffile action="upload"
. A comma-separated list of extensions that are allowed when uploading files via forms.
LUCEE_USE_LUCEE_SSL_TRUSTSTORE
SysProp: -Dlucee.use.lucee.SSL.TrustStore
EnvVar: LUCEE_USE_LUCEE_SSL_TRUSTSTORE
Specifies the file location of the trust store that contains trusted Certificate Authorities (CAs) for SSL/TLS connections in Java applications.
LUCEE_WEB_CHARSET
SysProp: -Dlucee.web.charset
EnvVar: LUCEE_WEB_CHARSET
Default character set for output streams, form, URL, and CGI scope variables, and reading/writing the header.