Configuration properties reference

This document covers the most frequently used Deephaven Community configuration properties. You can set properties in several ways depending on your deployment method.

How to set properties

Configuration file

Create a deephaven.prop file with properties (see Deephaven configuration files):

Docker Compose

Mount a configuration file to /opt/deephaven/config/deephaven.prop:

For quick testing or a small number of properties, you can set them directly via the START_OPTS environment variable using -D flags. For production or complex configurations, prefer the mounted config file approach above:

Production application

Use a configuration file for production deployments. Set JVM memory options via START_OPTS:

Bootstrap configuration

Deephaven sets bootstrap configuration parameters early in the application startup lifecycle, before reading configuration files. Set them via environment variables or system properties.

PropertyEnvironment VariableSystem PropertyDescriptionDefault
Application nameDEEPHAVEN_APPLICATIONdeephaven.applicationName used for default values in other configurationdeephaven
Data directoryDEEPHAVEN_DATA_DIRdeephaven.dataDirDirectory where users and applications read and write dataOS-dependent
Cache directoryDEEPHAVEN_CACHE_DIRdeephaven.cacheDirDirectory where the server reads and writes cache dataOS-dependent
Config directoryDEEPHAVEN_CONFIG_DIRdeephaven.configDirDirectory where the server reads configuration filesOS-dependent
Quiet flagDEEPHAVEN_QUIETdeephaven.quietWhether to suppress bootstrap loggingfalse

OS-dependent directories

OSData directoryCache directoryConfig directory
Linux$HOME/.local/share/<application>/$HOME/.cache/<application>/$HOME/.config/<application>/
macOS$HOME/Library/Application Support/io.Deephaven-Data-Labs.<application>/$HOME/Library/Caches/io.Deephaven-Data-Labs.<application>/$HOME/Library/Application Support/io.Deephaven-Data-Labs.<application>/

Docker default directories

Docker images set these environment variables by default:

  • DEEPHAVEN_DATA_DIR=/data
  • DEEPHAVEN_CACHE_DIR=/cache
  • DEEPHAVEN_CONFIG_DIR=/opt/deephaven/config
  • EXTRA_CLASSPATH=/apps/libs/*

Server configuration

These properties control the core server behavior.

PropertyDescriptionDefault
http.hostNetwork interface to bind to (IP address or hostname). If not set, binds to all interfaces.All interfaces
http.portPort the server listens on10000 (or 443 with SSL)
http.targetUrlUser-accessible target URL (useful behind proxies)Auto-computed from host/port
http.session.durationMsSession duration in milliseconds300000 (5 minutes)

Authentication configuration

These properties control how users authenticate to the server.

PropertyDescriptionDefault
AuthHandlersComma-separated list of authentication handler class namesio.deephaven.authentication.psk.PskAuthenticationHandler
authentication.pskPre-shared key value for PSK authenticationRandom generated key
authentication.anonymous.warnWhether to log a warning when anonymous authentication is enabledtrue

Available authentication handlers

These handlers are included in the standard server images:

Handler classDescription
io.deephaven.authentication.psk.PskAuthenticationHandlerPre-shared key (PSK) authentication (default)
io.deephaven.auth.AnonymousAuthenticationHandlerNo authentication required
io.deephaven.authentication.mtls.MTlsAuthenticationHandlerMutual TLS (mTLS) authentication

Additional authentication methods require custom builds:

HTTP and web server configuration

These properties configure the HTTP server and web interface.

PropertyDescriptionDefault
http.websocketsWebSocket support mode: none, grpc-websockets, grpc-websockets-multiplex, bothboth (no SSL) or none (with SSL)
http.http1Enable HTTP/1.1 supporttrue
http.compressionEnable HTTP compressiontrue
https.sniHostCheckEnable SNI host checking for HTTPStrue

Web UI configuration

These properties configure the Deephaven web interface defaults.

PropertyDescriptionDefault
deephaven.console.typeDefault console type: python or groovypython
web.storage.layout.directoryDirectory for storing layouts/layouts
web.storage.notebook.directoryDirectory for storing notebooks/notebooks
web.webglEnable WebGL support in the web interfacetrue
web.webgl.editableAllow users to toggle WebGL settingtrue
web.flattenViewportsFlatten web viewports by defaultfalse

Security headers

These properties configure HTTP security headers for production deployments. Each header has a .value and .enabled property.

HeaderEnabled PropertyValue PropertyDefault EnabledDefault Value
Strict-Transport-Securityhttp.add.header.Strict-Transport-Security.enabledhttp.add.header.Strict-Transport-Security.valuefalsemax-age=31536000; includeSubDomains
X-Frame-Optionshttp.add.header.X-Frame-Options.enabledhttp.add.header.X-Frame-Options.valuefalseDENY
Content-Security-Policyhttp.add.header.Content-Security-Policy.enabledhttp.add.header.Content-Security-Policy.valuefalseframe-ancestors 'none';
X-XSS-Protectionhttp.add.header.X-XSS-Protection.enabledhttp.add.header.X-XSS-Protection.valuetrue1; mode=block
X-Content-Type-Optionshttp.add.header.X-Content-Type-Options.enabledhttp.add.header.X-Content-Type-Options.valuetruenosniff
Referrer-Policyhttp.add.header.Referrer-Policy.enabledhttp.add.header.Referrer-Policy.valuetrueno-referrer
Cross-Origin-Resource-Policyhttp.add.header.Cross-Origin-Resource-Policy.enabledhttp.add.header.Cross-Origin-Resource-Policy.valuetruesame-origin
Cross-Origin-Embedder-Policyhttp.add.header.Cross-Origin-Embedder-Policy.enabledhttp.add.header.Cross-Origin-Embedder-Policy.valuetruerequire-corp
Cross-Origin-Opener-Policyhttp.add.header.Cross-Origin-Opener-Policy.enabledhttp.add.header.Cross-Origin-Opener-Policy.valuetruesame-origin

Engine configuration

These properties configure the query engine behavior.

PropertyDescriptionDefault
PeriodicUpdateGraph.targetCycleDurationMillisTarget cycle duration for the update graph in milliseconds1000
grpc.maxInboundMessageSizeMaximum inbound gRPC message size in bytes (increase for large tables)104857600 (100 MiB)

Calendar and time zone

PropertyDescriptionDefault
Calendar.defaultDefault business calendarUTC
Calendar.importPathPath to calendar import definitions/default_calendar_imports.txt
timezone.aliasesPath to time zone alias definitions/default_time_zone_aliases.csv

Session initialization scripts

PropertyDescriptionDefault
GroovyDeephavenSession.initScriptsComma-separated paths to Groovy init scriptsEmpty
PythonDeephavenSession.initScriptsComma-separated paths to Python init scriptsEmpty

SSL/TLS configuration

Configure SSL via system properties. See mTLS authentication for detailed examples.

PropertyDescription
ssl.identity.typeIdentity store type: privatekey or keystore
ssl.identity.certChainPathPath to certificate chain (for privatekey type)
ssl.identity.privateKeyPathPath to private key (for privatekey type)
ssl.identity.keystorePathPath to keystore (for keystore type)
ssl.identity.keystorePasswordKeystore password
ssl.trust.typeTrust store type
ssl.trust.pathPath to trust certificates
ssl.clientAuthenticationClient auth mode: NONE, WANTED, NEEDED
outbound.ssl.*Outbound SSL configuration (same options as above)

JVM arguments

These are common JVM arguments passed via START_OPTS:

ArgumentDescriptionExample
-XmxMaximum heap size-Xmx4g
-XmsInitial heap size-Xms2g

Use a configuration file rather than -D flags for Deephaven properties.

Complete example

This example shows a Docker Compose configuration with several customizations:

With a configuration file (./config/deephaven.prop):

Additional configuration

These properties are less commonly needed but available for specific use cases.

Server tuning

PropertyDescriptionDefault
scheduler.poolSizeSize of the scheduler thread pool4
proxy.hintHint that the server runs behind a proxy (affects defaults)Not set
shutdown.timeoutMsMilliseconds to wait for graceful shutdown10000

HTTP tuning

PropertyDescriptionDefault
http.requireHttp2Require HTTP/2 protocoltrue
http2.stream.idleTimeoutMsHTTP/2 stream idle timeout in milliseconds0 (disabled)
http2.maxConcurrentStreamsMaximum concurrent HTTP/2 streams128 (Jetty default)
http.maxHeaderRequestSizeMaximum HTTP header size in bytes8192 (Jetty default)
http.allowedMethodsAllowed HTTP methods (comma-separated)GET,POST,OPTIONS

Formula validation

These properties configure query formula validation for security. See Formula validation configuration for details.

PropertyDescriptionDefault
ColumnExpressionValidatorValidator type: parsed or method_nameparsed
ColumnExpressionValidator.allowedMethods.*Pointcut expressions for allowed methodsSee dh-defaults.prop
ColumnExpressionValidator.annotationSets.defaultDefault annotation sets to applybase,vector,function_library

Performance monitoring

PropertyDescriptionDefault
UpdatePerformanceTracker.reportingModePerformance reporting mode: NONE, LISTENER_ONLY, ALLLISTENER_ONLY
UpdatePerformanceTracker.reportIntervalMillisPerformance report interval60000