Skip to content

Environment variables ​

The authoritative source is modules/commons/commons-config/src/main/java/org/eclipse/dirigible/commons/config/DirigibleConfig.java (the enum) plus Configuration.java (the allow-list). The list below covers the variables you typically set during install.

The full reference (every variable, every default) is at /help/reference/environment-variables.

Server ​

VariableDefaultPurpose
DIRIGIBLE_SERVER_PORT8080HTTP listen port.
DIRIGIBLE_HOME_URLservices/web/shell-ide/Where / redirects to.
DIRIGIBLE_BASIC_USERNAMEadminDefault basic-auth user.
DIRIGIBLE_BASIC_PASSWORDadminDefault basic-auth password.
DIRIGIBLE_SECURITY_LOGIN_PAGE-Application-owned login page for the OAuth2 profiles. Unauthenticated browsers are redirected there instead of the identity provider. See First-Party Sign-In.

CORS ​

Cross-origin access for frontends hosted outside the platform - a single-page application on static hosting, a mobile application, a desktop shell. Unset, the OAuth2 profiles answer no cross-origin request and the basic profile keeps allowing every origin without credentials. See External frontends.

VariableDefaultPurpose
DIRIGIBLE_CORS_ALLOWED_ORIGINS-Comma-separated origins or origin patterns that may call the platform cross-origin, e.g. https://app.example.com,https://*.example.com,capacitor://localhost,tauri://localhost. Setting it enables CORS on every profile. A port pattern is accepted (:[8080], :[*]). A multi-port list :[8080,8081] cannot be written, since the value is split on commas - list each port as its own pattern. A pattern must name a host to reach the STOMP handshake - a pattern whose host is only wildcards (*, https://*, https://**) serves bearer clients over HTTP only.
DIRIGIBLE_CORS_ALLOW_CREDENTIALSfalseWhether cross-origin requests may carry cookies. Refused together with a wildcard origin. Bearer-token clients do not need it. Does not govern the STOMP endpoint, which answers its own CORS with credentials - the origin list is what protects it.
DIRIGIBLE_CORS_ALLOWED_METHODSGET,HEAD,POST,PUT,PATCH,DELETE,OPTIONSHTTP methods granted to the listed origins.
DIRIGIBLE_CORS_ALLOWED_HEADERSAuthorization,Content-Type,Accept,X-Requested-With,X-Tenant-IdRequest headers granted to the listed origins. X-Tenant-Id names the tenant of a bearer request under TOKEN_GROUPS.
DIRIGIBLE_CORS_EXPOSED_HEADERSContent-DispositionResponse headers a cross-origin script may read.
DIRIGIBLE_CORS_MAX_AGE3600Seconds a browser may cache a preflight answer.

Bearer tokens (cognito, keycloak) ​

How the OAuth2 login profiles treat a token presented in the Authorization: Bearer header. ID tokens identify a user and are verified like a login. Access tokens keep the rules machine clients relied on before. See External frontends.

VariableDefaultPurpose
DIRIGIBLE_OAUTH2_JWT_TOKEN_KINDSid,accessKinds of tokens accepted: id (user identity, group roles) and access (client identity from sub, scope roles).
DIRIGIBLE_OAUTH2_JWT_PRINCIPAL_CLAIMProfile's user-name attribute (email on Cognito, preferred_username on Keycloak)Claim of an ID token the user name is read from. A token without it is refused.
DIRIGIBLE_OAUTH2_JWT_AUDIENCESThe profile's client idAudiences a token must be issued for. ID tokens are always checked. Access tokens only once this is set.
DIRIGIBLE_OAUTH2_JWT_ISSUER_URIThe profile's issuerIssuer every token must carry.
DIRIGIBLE_OAUTH2_JWT_JWK_SET_URIThe profile's JWKS endpointWhere the signing keys are fetched from.
DIRIGIBLE_OAUTH2_JWT_REQUIRE_VERIFIED_EMAILtrueAn ID token identified by email must also carry email_verified=true.

Repository ​

VariableDefaultPurpose
DIRIGIBLE_REPOSITORY_LOCAL_ROOT_FOLDER./target/On-disk registry root.
DIRIGIBLE_REGISTRY_EXTERNAL_FOLDERMount an external folder into the registry.
DIRIGIBLE_REGISTRY_EXTERNAL_FOLDER_AS_SUBFOLDERMount under a sub-path.
DIRIGIBLE_REGISTRY_EXTERNAL_FOLDER_IGNORED_FOLDERSComma-separated ignore list.

Data sources ​

VariableDefaultPurpose
DIRIGIBLE_DATASOURCE_DEFAULT_DRIVERH2 file driverJDBC driver class.
DIRIGIBLE_DATASOURCE_DEFAULT_URLlocal H2JDBC URL.
DIRIGIBLE_DATASOURCE_DEFAULT_USERNAMEJDBC user.
DIRIGIBLE_DATASOURCE_DEFAULT_PASSWORDJDBC password.
DIRIGIBLE_DATABASE_DATASOURCE_NAME_DEFAULTDefaultDBLogical name.
DIRIGIBLE_DATABASE_DATASOURCE_NAME_SYSTEMSystemDBLogical name of the system DB.
DIRIGIBLE_LEAKED_CONNECTIONS_CHECK_INTERVAL_SECONDSJDBC leak detection cadence.
DIRIGIBLE_LEAKED_CONNECTIONS_CHECK_MAX_IN_USE_SECONDSThreshold before logging a leak.

Multi-tenancy ​

VariableDefaultPurpose
DIRIGIBLE_MULTI_TENANT_MODEtrueMulti-tenant switch.
DIRIGIBLE_TENANT_RESOLUTION_STRATEGYSUBDOMAINHow a request's tenant is determined: SUBDOMAIN (a host per tenant) or TOKEN_GROUPS (one host, the tenant the signed-in user selected - or, for a bearer request, named in the X-Tenant-Id header).
DIRIGIBLE_TENANT_SUBDOMAIN_REGEXHost pattern the tenant subdomain is captured from, under the SUBDOMAIN strategy.
DIRIGIBLE_APP_IDThis deployment's application id in the group names <tenantId>.<appId>.<role>. Required under TOKEN_GROUPS, and it must not contain a dot.
DIRIGIBLE_TENANT_GROUPS_CLAIMcognito:groupsThe token claim the user's groups are read from. Set it explicitly on Keycloak.
DIRIGIBLE_TENANTS_PROVISIONING_FREQUENCY_SECONDS900Provisioning poll cadence, in seconds.
DIRIGIBLE_TENANT_PROVISIONING_API_ENABLEDfalseExposes the tenant provisioning API, through which an external service provisions tenants into this deployment. Off means absent, not closed.
DIRIGIBLE_TENANT_PROVISIONING_DEPROVISION_ACTIVATION_STALE_MINUTES30How long an open initialization holds a tenant removal off before it is taken as stuck, in minutes.
DIRIGIBLE_TENANT_USERS_ENABLEDfalseShows the Settings -> Users section, through which a tenant's owners invite, change and remove its users. Requires TOKEN_GROUPS.
DIRIGIBLE_TENANT_USERS_CHANGE_QUEUEThe global: queue the section publishes its change requests to. Replaced DIRIGIBLE_TENANT_USERS_REQUEST_QUEUE.

See Tenant resolution, Tenant provisioning API and Tenant users.

Debuggers ​

VariableDefaultPurpose
DIRIGIBLE_JAVASCRIPT_GRAALVM_DEBUGGER_PORT8081Graalium JS debugger port.
DIRIGIBLE_GRAALIUM_ENABLE_DEBUGfalseToggle JS debug.
DIRIGIBLE_JAVA_DEBUG_JDWP_PORT8000JDWP port for the Java debugger view.
DIRIGIBLE_JAVA_LSP_ENABLEDToggle JDT.LS.
DIRIGIBLE_JAVA_LSP_INSTALL_DIRJDT.LS install directory.
DIRIGIBLE_TSC_WATCH_SERVICE_ENABLEDtrueAllows the tsc --watch process that transpiles TypeScript sources. It runs only while the registry holds TypeScript sources; false keeps it off even then. See TypeScript.

Synchronizers ​

VariableDefaultPurpose
DIRIGIBLE_SYNCHRONIZER_FREQUENCYReconciliation cadence.
DIRIGIBLE_SYNCHRONIZER_CROSS_RETRY_COUNTRetry budget for cross-synchronizer dependencies.
DIRIGIBLE_SYNCHRONIZER_CROSS_RETRY_INTERVAL_MILLISRetry interval.

Messaging ​

VariableDefaultPurpose
DIRIGIBLE_MESSAGING_BROKER_URLExternal ActiveMQ broker to use instead of the embedded one, e.g. tcp://activemq:61616. Unset keeps the embedded broker.
DIRIGIBLE_MESSAGING_BROKER_USERNAMEBroker username. Unset connects anonymously.
DIRIGIBLE_MESSAGING_BROKER_PASSWORDBroker password.
DIRIGIBLE_MESSAGING_USE_DEFAULT_DATABASEtruePersist the embedded broker's messages in the system database. Ignored with an external broker.
DIRIGIBLE_MESSAGING_LISTENER_CONNECTIONSsharedHow listeners attach to the broker: shared opens one connection per tenant for the Java listeners (plus one for global: destinations and one for all .listener artefacts), each subscription a session on it; per-listener opens a connection per subscription per tenant. See Message listeners.

Point several nodes or deployments at one broker to share destinations between them. The broker has to be reachable when the server starts, and the Messaging perspective works only against the embedded broker. See Message listeners.

Mail / Flowable / SharePoint / S3 ​

VariablePurpose
DIRIGIBLE_MAIL_*SMTP defaults for the Mail SDK.
DIRIGIBLE_FLOWABLE_*Flowable engine config (datasource, mail).
DIRIGIBLE_MS_SHAREPOINT_*SharePoint CMS credentials.
DIRIGIBLE_CMS_INTERNAL_ROOT_FOLDERInternal CMIS root path.
DIRIGIBLE_S3_PROVIDERaws or localstack.

OAuth (GitHub profile) ​

VariablePurpose
DIRIGIBLE_GITHUB_CLIENT_IDGitHub OAuth client id.
DIRIGIBLE_GITHUB_CLIENT_SECRETGitHub OAuth client secret.
DIRIGIBLE_GITHUB_SCOPERequested scopes.

Activated only when the github Spring profile is active. See /help/setup/authentication/github-oauth.

Misc ​

VariablePurpose
DIRIGIBLE_EXEC_COMMAND_LOGGING_ENABLEDAudit shell-exec calls.
DIRIGIBLE_TRIAL_ENABLEDTrial-mode flag.

See also ​

Released under the EPL-2.0 License.