Memgraph LabConfiguration

Configuration

When running Memgraph Lab with Docker or Docker Compose, you can configure it using the environment variables.

Passing environment variables is not supported for Memgraph Lab desktop application. To customize Memgraph Lab, run it with Docker.

Changing configuration

When running Memgraph Lab with Docker, configure the environment variables using the docker run command:

docker run -d -p 3000:3000 --name lab -e QUERY_MAX_LEN=10000 -e MODULE_NAME_MAX_LEN=2500 memgraph/lab

For Docker Compose, define the same environment variables within the environment section of your service configuration in the docker-compose.yml file:

environment:
  - QUERY_MAX_LEN=10000
  - MODULE_NAME_MAX_LEN=2500

Adding Memgraph Enterprise license

Some Memgraph Lab features require a valid Memgraph Enterprise license configured on the Lab side. Ensure that you configure the following environment variables when running Lab with Docker:

VariableDescriptionType
ENTERPRISE_LICENSE_ORG_NAMEEnterprise license organization namestring
ENTERPRISE_LICENSE_KEYEnterprise license keystring

For example:

docker run \
  -p 3000:3000 \
  -e ENTERPRISE_LICENSE_ORG_NAME="My company" \
  -e ENTERPRISE_LICENSE_KEY="key..." \
  memgraph/lab

Once you’ve added the enterprise license key and organization name, and if everything is configured correctly, you should see the following log message from Memgraph Lab:

INFO: Enterprise license applied successfully. Enjoy the premium features.

Since Memgraph Lab is only configurable via Docker, features that require a valid Memgraph Enterprise license are available only in a Docker environment.

List of environment variables

VariableDescriptionTypeDefault
AUTH_NATIVE_IS_DISABLEDEnable or disable native authentication (username, password)booleanfalse
AUTH_OIDC_ENTRA_ID_IS_ENABLEDEnable or disable Entra ID SSO authentication via OIDCbooleanfalse
AUTH_OIDC_ENTRA_ID_DISPLAY_NAMEEntra ID OIDC display name “Sign in with <name>string"Entra ID"
AUTH_OIDC_ENTRA_ID_AUTHORIZATION_URLEntra ID OIDC authorization URLstring
AUTH_OIDC_ENTRA_ID_TOKEN_URLEntra ID OIDC token URLstring
AUTH_OIDC_ENTRA_ID_USER_INFO_URLEntra ID OIDC user info URLstring
AUTH_OIDC_ENTRA_ID_CLIENT_IDEntra ID OIDC client IDstring
AUTH_OIDC_ENTRA_ID_CLIENT_SECRETEntra ID OIDC client secretstring
AUTH_OIDC_ENTRA_ID_CALLBACK_URLEntra ID OIDC callback URLstring
AUTH_OIDC_ENTRA_ID_SCOPEEntra ID OIDC scopestring"openid profile"
AUTH_OIDC_OKTA_IS_ENABLEDEnable or disable Okta SSO authentication via OIDCbooleanfalse
AUTH_OIDC_OKTA_DISPLAY_NAMEOkta OIDC display name “Sign in with <name>string"Okta"
AUTH_OIDC_OKTA_AUTHORIZATION_URLOkta OIDC authorization URLstring
AUTH_OIDC_OKTA_TOKEN_URLOkta OIDC token URLstring
AUTH_OIDC_OKTA_USER_INFO_URLOkta OIDC user info URLstring
AUTH_OIDC_OKTA_CLIENT_IDOkta OIDC client IDstring
AUTH_OIDC_OKTA_CLIENT_SECRETOkta OIDC client secretstring
AUTH_OIDC_OKTA_CALLBACK_URLOkta OIDC callback URLstring
AUTH_OIDC_OKTA_SCOPEOkta OIDC scopestring"openid profile"
AUTH_OIDC_CUSTOM_IS_ENABLEDEnable or disable custom SSO authentication via OIDCbooleanfalse
AUTH_OIDC_CUSTOM_DISPLAY_NAMECustom OIDC display name “Sign in with <name>string"SSO"
AUTH_OIDC_CUSTOM_AUTHORIZATION_URLCustom OIDC authorization URLstring
AUTH_OIDC_CUSTOM_TOKEN_URLCustom OIDC token URLstring
AUTH_OIDC_CUSTOM_USER_INFO_URLCustom OIDC user info URLstring
AUTH_OIDC_CUSTOM_CLIENT_IDCustom OIDC client IDstring
AUTH_OIDC_CUSTOM_CLIENT_SECRETCustom OIDC client secretstring
AUTH_OIDC_CUSTOM_CALLBACK_URLCustom OIDC callback URLstring
AUTH_OIDC_CUSTOM_SCOPECustom OIDC scopestring"openid profile"
AUTH_SAML_ENTRA_ID_IS_ENABLEDEnable or disable Entra ID SSO authentication via SAMLbooleanfalse
AUTH_SAML_ENTRA_ID_DISPLAY_NAMEEntra ID SAML display name “Sign in with <name>string"Entra ID"
AUTH_SAML_ENTRA_ID_ENTRY_POINTEntra ID SAML entry pointstring
AUTH_SAML_ENTRA_ID_CALLBACK_URLEntra ID SAML callback URLstring
AUTH_SAML_ENTRA_ID_APP_IDEntra ID SAML application IDstring
AUTH_SAML_ENTRA_ID_SIGNATURE_ALGORITHMEntra ID SAML signature algorithmstring"sha256"
AUTH_SAML_OKTA_IS_ENABLEDEnable or disable Okta SSO authentication via SAMLbooleanfalse
AUTH_SAML_OKTA_DISPLAY_NAMEOkta SAML display name “Sign in with <name>string"Okta"
AUTH_SAML_OKTA_ENTRY_POINTOkta SAML entry pointstring
AUTH_SAML_OKTA_CALLBACK_URLOkta SAML callback URLstring
AUTH_SAML_OKTA_ISSUEROkta SAML issuerstring
AUTH_SAML_OKTA_SIGNATURE_ALGORITHMOkta SAML signature algorithmstring"sha256"
AUTH_SAML_CUSTOM_IS_ENABLEDEnable or disable Okta SSO authentication via SAMLbooleanfalse
AUTH_SAML_CUSTOM_DISPLAY_NAMECustom SAML display name “Sign in with <name>string"SSO"
AUTH_SAML_CUSTOM_ENTRY_POINTCustom SAML entry pointstring
AUTH_SAML_CUSTOM_CALLBACK_URLCustom SAML callback URLstring
AUTH_SAML_CUSTOM_ISSUERCustom SAML issuerstring
AUTH_SAML_CUSTOM_SIGNATURE_ALGORITHMCustom SAML signature algorithmstring"sha256"
BASE_PATHSet a custom base path for the Lab application (especially beneficial when using a reverse proxy)string/
CONFIG_URIDefines the location of the custom configuration file.string
ENTERPRISE_LICENSE_ORG_NAMEEnterprise license organization name. Refer to documentation for details on obtaining and configuring the licensestring
ENTERPRISE_LICENSE_KEYEnterprise license key. Refer to documentation for details on obtaining and configuring the licensestring
KEEP_ALIVE_TIMEOUT_MSMax time in milliseconds during which Lab will hold the connectioninteger65000
LOG_LEVELSet the log level: debug, info, warn, error.string"info"
LOG_IS_ENABLEDEnable or disable loggingbooleantrue
LOG_IS_PRETTY_PRINTPretty print logs and error stacktraces in multi-line JSON formatbooleantrue
LOG_CONTEXT_IS_ENABLEDEnable or disable logging of context information (e.g., identifiers, input data, output data)booleanfalse
LOG_STACKTRACE_IS_ENABLEDEnable or disable error stacktraces in the logsbooleanfalse
MODULE_CONTENT_MAX_LENMax length of a query module contentinteger50000
MODULE_NAME_MAX_LENMax length of the query module nameinteger1000
MODULE_VALIDATION_IS_ENABLEDState of module validationbooleanfalse
NODE_LABEL_MAX_LENMax length of the node labelinteger1000
NODE_LABEL_VALIDATION_IS_ENABLEDState of node label validationbooleanfalse
NODE_PROPERTY_MAX_LENMax length of the node propertyinteger1000
NODE_PROPERTY_VALIDATION_IS_ENABLEDState of node property validationbooleanfalse
QUERY_MAX_LENMax length of a Cypher queryinteger5000
QUERY_VALIDATION_IS_ENABLEDState of query validationbooleanfalse
QUICK_CONNECT_IS_DISABLEDState of quick connect featurebooleanfalse
QUICK_CONNECT_MG_HOSTHost address for quick connectstring"127.0.0.1"
QUICK_CONNECT_MG_PORTPort for quick connectinteger7687
QUICK_CONNECT_MG_IS_ENCRYPTEDTurn SSL on/off for quick connectbooleanfalse
PORTLab app default listening portinteger3000
REQUEST_BODY_LIMIT_MBLimit for request body size in MBinteger20
SSL_IS_ENABLEDEnable or disable SSLbooleanfalse
SSL_CERT_PATHPath to SSL certificate to be usedstring./ssl/cert.pem
SSL_KEY_PATHPath to SSL key to be usedstring./ssl/key.pem
SSL_PASSPHRASEPassphrase for the SSL key, required if the private key was generated with encryption (without the -nodes flag)string
STORAGE_MG_HOST(Enterprise only) Memgraph host for the Lab remote storagestring
STORAGE_MG_PORT(Enterprise only) Memgraph port for the Lab remote storagenumber
STORAGE_MG_IS_ENCRYPTED(Enterprise only) Memgraph SSL on/off for the Lab remote storageboolean
STORAGE_MG_DATABASE_NAME(Enterprise only) Memgraph database name for the Lab remote storagestring
STORAGE_MG_USERNAME(Enterprise only) Memgraph username for the Lab remote storagestring
STORAGE_MG_PASSWORD(Enterprise only) Memgraph password for the Lab remote storagestring
STORAGE_MG_CONNECT_TIMEOUT_MS(Enterprise only) Connection timeout in milliseconds for remote storageinteger10000
STREAM_NAME_MAX_LENMax length of the stream nameinteger500
STREAM_VALIDATION_IS_ENABLEDState of stream validationbooleanfalse