Wolfram Cloud Administration Reference

Configuration Properties
Configuration properties can be set in the configuration notebook using a Wolfram Language rule (e.g. "OrganizationName" "Icosahedron, Inc."), and can also be set in configvalues.json using JSON syntax (e.g. "OrganizationName": "Icosahedron, Inc."). In both cases, property names are always strings. In the configuration notebook, values are typically also strings, though some settings can be symbols (e.g. Automatic or None) or numbers, depending on the setting. These exceptions are noted in the reference. In the JSON file, all values are strings. Again, the reference for a property will indicate how to format the values where it is otherwise unclear.
Some properties in the configuration notebook have an Automatic setting, or something similar, and when the configuration is applied, it results in that property getting a specific setting value in configvalues.json. The next time the configuration notebook is synchronized from the JSON file (such as when the Wolfram Cloud is upgraded to the next version), the Automatic setting will be replaced with the automatically determined value.

AdditionalReadDirectories

If the kernel sandbox is enabled (i.e. when UseSandbox is set to "true"), this property configures a list of directories (possibly empty) that the kernel can read files from, beyond the standard set. The default value is "", indicating an empty list of directories. In the configuration notebook, the setting can be given as a list of directory path strings, to be converted to the single comma-separated list stored in configvalues.json.
Example:
    "AdditionalReadDirectories": "/opt/templates,/var/influx"

AdditionalExecuteDirectories

If the kernel sandbox is enabled (i.e. when UseSandbox is set to "true"), this property configures a list of files and directories (possibly empty) that the kernel allows running as an executable or loads as a library into the kernel, beyond the standard set. The default value is "", indicating an empty list. In the configuration notebook, the setting can be given as a list of file path strings, to be converted to the single comma-separated list stored in configvalues.json.
Example:
    "AdditionalExecuteDirectories": "/opt/templates,/var/influx"

AdditionalWriteDirectories

If the kernel sandbox is enabled (i.e. when UseSandbox is set to "true"), this property configures a list of directories (possibly empty) that the kernel allows writing files into, beyond the standard set. The default value is "", indicating an empty list. In the configuration notebook, the setting can be given as a list of file path strings, to be converted to the single comma-separated list stored in configvalues.json.
    "AdditionalWriteDirectories": "/var/tmp,/var/reports"

AllowedEmailDomains

User accounts can be created for email domains set in this property. The format of this setting is a comma-separated list of domains, possibly empty. The emails given here are taken together with the domains specified in AllowedEmailAddresses to determine the set of emails allowed when a new account is created.
The default setting in the configuration notebook is Automatic. When the Automatic setting is specified in the configuration notebook, the value written in configvalues.json will be the CloudBaseDomain. This property can be set to the empty string (""), which will prevent user accounts from being created unless they match an individual email set in AllowedEmailAddresses.
Example:
    "AllowedEmailDomains": "analytics.example.com"
Example with multiple domains:
    "AllowedEmailDomains": "analytics.example.com,example.com,exampleinc.com"

AllowedEmailAddresses

User accounts can be created for individual email addresses set in this property. The format of this setting is a comma-separated list of email addresses, possibly empty. The emails given here are taken together with the domains specified in AllowedEmailDomains to determine the set of emails allowed when a new account is created. You can also limit your Wolfram Enterprise Private Cloud (EPC) to only a select set of users by specifying emails here and setting AllowedEmailDomains to an empty string. The default value of this property is "".
Example:
    "AllowedEmailAddresses": "alex@example.edu"

AllowParallelComputing

This property sets whether or not to allow the Wolfram Cloud to connect to a Wolfram parallel computing cluster. The default setting in the configuration notebook is False, which is saved in configvalues.json as "false". The only other accepted value is True in the configuration notebook, or "true" in the JSON file. If this is set "true", then UseSandbox must be set to "false".
Example:
    "AllowParallelComputing": "true"

CloudBaseDomain

This is the internet domain (or subdomain) that will be used to reach your EPC. It will often be a subdomain of your corporate or enterprise domain, but can be any domain registered in DNS. The CloudBaseDomain should not contain the hostname. The value you choose will automatically be used to set the $CloudBase symbol in the EPC kernels. For example, if CloudBaseDomain is set to "analytics.example.com", then $CloudBase will be "https://www.analytics.example.com".
In Wolfram Desktop clients, authorized users can access EPC by setting $CloudBase or related CloudBase options to this domain.
Example:
    "CloudBaseDomain": "analytics.example.com"

ClusterNodeInformation

The cluster nodes are the machines that run the Wolfram Language kernels. This property specifies their hostnames and IP addresses.
The hostnames can either be simple names, which are automatically concatenated with the CloudBaseDomain, or they can be fully qualified hostnames.
In the configuration notebook, this property is given as an association of associations. In the JSON format, the master node is added automatically from other settings and the result is converted to a JSON object and then to a string.
The default value in the configuration notebook is .
An example in the configuration notebook for a cloud with two compute nodes:
Example:
    "ClusterNodeInformation": "{\"master.analytics.example.com\":{\"IPAddress\":\"10.0.3.223\",\"Services\":[\"haproxy\",\"mysql\",\"redis\",\"httpd\",\"nfs\"]},\"node1.analytics.example.com\":{\"IPAddress\":\"10.0.3.4\",\"Services\":[\"tomcat\",\"webapp\"]},\"node2.analytics.example.com\":{\"IPAddress\":\"10.0.3.5\",\"Services\":[\"tomcat\",\"webapp\"]}}"

DatabasePassword

This specifies the password for the database account used by the Wolfram Cloud application. It does not have a default value, and must be specified when configuring the Wolfram Cloud for the first time.
Example:
    "DatabasePassword": "breezy+Kit\Popcorn476"

DatabaseUsername

This specifies the username for the database account used by the Wolfram Cloud application. The default value is "db_user".
Example:
    "DatabaseUsername": "appuser"

DeploymentEvaluationMemoryLimit

This configures the maximum allowed memory in megabytes for a single evaluation in deployed APIs, forms, notebooks and similar deployed objects, as well as CloudEvaluate calls. The default value is "2048" (i.e. about 2 GB).
    "DeploymentEvaluationMemoryLimit": "2560"

DeploymentEvaluationTimeLimit

This configures the maximum allowed time in seconds for a single evaluation in deployed APIs, forms, notebooks and similar deployed objects, as well as CloudEvaluate calls. The default value is "3600".
Example:
    "DeploymentEvaluationTimeLimit": "1800"

DeploymentKernelInitializationDirectory

This property specifies a directory from which deployment pool kernels will read files with a .wl or .m extension when they launch. If the kernel sandbox is enabled, this directory will be readable to deployment pool kernels. The default value is "/wolframcloud/init/deployment", which is a directory that already in EPC. There are similar properties for the other kernel pools, and there is also InitializationDirectory, which is for initialization files loaded for all kernels regardless of their pools. Messages, timings and output from loading these files can be seen in /www/tomcat/logs/wolfram/KernelInit.log.
Example:
    "DeploymentKernelInitializationDirectory": "/opt/example/wolfram"

DeploymentPool

This sets the number of kernels to launch and keep running for evaluations associated with creating and accessing deployments such as APIs, forms and deployed notebooks. The default setting is "2". Note that the number can be set to an integer in the configuration notebook and will be turned into a string in configvalues.json.
Example:
    "DeploymentPool": "2"

DeploymentRequestQueueSize

For the deployment kernel pool, you can use this property to configure the maximum number of requests waiting for an available kernel. Any requests made after this limit is reached will get an immediate response indicating the server is busy. The default value is "10".
Example:
    "DeploymentRequestQueueSize": "250"

InitializationDirectory

This property specifies a directory from which kernels will read files with a .wl or .m extension when they launch. If the kernel sandbox is enabled, this directory will be readable to kernels in all pools. The default value is "/wolframcloud/init/common", which is a directory that already exists in EPC. There are similar properties specific to the kernel pools. The initialization files in the directory specified by this property are read first, before the pool-specific files. Messages, timings and output from loading these files can be seen in /www/tomcat/logs/wolfram/KernelInit.log.
Example:
    "InitializationDirectory": "/opt/example/wolfram"

JLinkAdditionalLibraries

This property configures a set of allowed native Java libraries, beyond the standard set always permitted. The format is a comma-separated list of packages, which can include a wildcard. The default value is "sun.security.*".
Example:
    "JLinkAdditionalLibraries": "sun.security.*"

JLinkAdditionalReadDirectories

This property configures a set of directories in which file read operations are permitted in the J/Link Java runtime, beyond the standard set always permitted. The format is a comma-separated list of directory paths. The default value is "".
Example, to allow J/Link to read from a collection of example files and a mounted SD memory card:
    "JLinkAdditionalReadDirectories": "/opt/example-data,/mnt/sd"

JLinkAdditionalWriteDirectories

This property configures a set of directories in which file write operations are permitted in the J/Link Java runtime, beyond the standard set always permitted. The format is a comma-separated list of directory paths. The default value is "".
Example, to allow J/Link to write to a data collection directory and a mounted SD memory card:
    "JLinkAdditionalWriteDirectories": "/var/ingress,/mnt/sd"

JLinkAllowedIPs

This property configures which destinations are permitted for network traffic coming from the J/Link Java runtime (which includes SendMail and DatabaseLink functions), if JLinkUseSandbox is enabled. It is a comma-separated list, possibly empty, of hostnames, domains or IP addresses, each of which can have an optional port number. Hostnames, domains and IP addresses may contain a wildcard character ("*"). The default value is "localhost:25". In order to use the SendMail function, this setting must at least allow port 25 on localhost ("localhost:25"). Setting this to an empty string will block all network activity from J/Link.
Example:
    "JLinkAllowedIPs": "localhost:25,db.example.com,10.11.*.*"

JLinkMaxHeapSize

This property configures the maximum allowed memory for the J/Link Java runtime memory heap, expressed in kilobytes. The default value is "524288".
Example:
    "JLinkMaxHeapSize": "1048576"

JLinkSecurityDirectory

This property configures a working directory utilized for J/Link runtime configurations. The default value is "/var/tmp/JLink".
Example:
    "JLinkSecurityDirectory": "/var/tmp/JLink"

JLinkUseSandbox

This property configures whether or not to enable the J/Link sandbox, which is the J/Link counterpart to the kernel sandbox. The default setting in the configuration notebook is True, which is saved in configvalues.json as "true". The only other accepted value is False in the configuration notebook, or "false" in the JSON file. The default behavior tightly restricts the directories from which Java can read and write files, including class definitions. It also does not allow any network connectivity by default, including the SendMail function. Typically, the UseSandbox and JLinkUseSandbox properties should be set to the same value.
Example:
    "JLinkUseSandbox": "false"

MasterHostname

The master node is the machine that controls any other nodes in your EPC. This property specifies its hostname.
The setting is a simple, unqualified hostname, like "master". The fully qualified hostname will be derived from this setting and the CloudBaseDomain. This property should be set to match the DNS hostname. The default value is "master".
Example:
    "MasterHostname": "head"

MasterIPAddress

This is the IP address of your EPC's master node. By default, it will be set to the IP address for the machine running the configuration notebook, but can be set to a different machine or to an address for a different network interface than the one automatically detected.
The default setting in the configuration notebook is Automatic. When the Automatic setting is specified in the configuration notebook, the master node's IP address is detected automatically and that detected value is written as the new setting in configvalues.json.
Example:
    "MasterIPAddress": "192.168.33.4"

OrganizationName

This configures a name that will appear at the top of all Wolfram Cloud web app pages. This can be set to an empty string (""), in which case no organization name will be displayed. The default value is "".
Example:
    "OrganizationName": "Icosahedron, Inc."

ParallelComputeNodes

If parallel computing is enabled (i.e. the AllowParallelComputing property is "true"), this property configures where to run parallel computation; otherwise, its setting is ignored. The default value is "localhost". The setting "localhost" enables parallel subkernels to run on the master node only. Otherwise, it can be set to a sequence of hostnames to use for the parallel subkernels, separated by commas.
Example:
    "ParallelComputeNodes": "grid1.example.edu, grid2.example.edu"

ParallelKernelsPerNode

If parallel computing is enabled (i.e. the AllowParallelComputing property is "true"), this property configures the number of kernels to launch per node by default; otherwise, its setting is ignored. The default value is "4".
Example:
    "ParallelKernelsPerNode": "8"

ParallelLinkHost

If parallel computing is enabled (i.e. the AllowParallelComputing property is "true"), this property configures the hostname that parallel nodes should use when contacting the controlling node; otherwise, its setting is ignored. If the controlling node in the parallel cluster has more than one network address, this configures the hostname of the interface to be used for communication with the compute nodes. A setting of Automatic in the configuration notebook lets the WSTP library choose an interface. The default value in the configuration notebook is Automatic, in which case the automatically determined hostname is written as the value in configvalues.json.
Example:
    "ParallelLinkHost": "gridhead.example.edu"

PrivacyPolicy

You can add links to your own terms of use and privacy policy for your EPC. These links will appear in the About item in the Profile & Settings menu on EPC session pages. The setting is either a URL string or "" to indicate no link should be displayed. In the configuration notebook, None is the default value, and is stored as "" in configvalues.json.
Example:
    "PrivacyPolicy": "https://resources.example.com/privacy"

RedisCachePassword

This specifies the password for the Redis service. The default setting in the configuration notebook is Automatic. When the Automatic setting is specified in the configuration notebook, a random password is generated and that random value is written as the new setting in configvalues.json.
Example:
    "RedisCachePassword": "vkA8fQDc82sZnw7w"

RestrictTasks

This setting controls whether the scheduled task system using the service pool should run in a restricted or unrestricted fashion. The default setting in the configuration notebook is False, which is saved in configvalues.json as "false". The only other accepted value is True in the configuration notebook, or "true" in the JSON file. If this is set to "true", it disables ContinuousTask and limits scheduled tasks to run no more frequently than once an hour.
Example:
    "RestrictTasks": "true"

SendMailHost

The Wolfram Cloud uses a mail system for the Wolfram Language SendMail function, as well as for features such as scheduled task notifications and forgotten password recovery. This property sets the mail server hostname. This field does not have a default value and must be configured.
Example:
    "SendMailHost": "mail.example.com"

SendMailPassword

The Wolfram Cloud uses a mail system for the Wolfram Language SendMail function, as well as for features such as scheduled task notifications and forgotten password recovery. This property sets the mail server password, or an empty string if the mail server does not require authentication. The default value is "".
Example:
    "SendMailPassword": "#$FromTheirAppointedRounds&20260"

SendMailUsername

The Wolfram Cloud uses a mail system for the Wolfram Language SendMail function, as well as for features such as scheduled task notifications and forgotten password recovery. This property sets the mail server username, or an empty string if the mail server does not require authentication. The default value is "".
Example:
    "SendMailUsername": "cloud"

ServiceEvaluationMemoryLimit

This configures the maximum allowed memory in megabytes for a single evaluation related to a scheduled task. The default value is "2048" (i.e. about 2 GB).
Example:
    "ServiceEvaluationMemoryLimit": "2560"

ServiceEvaluationTimeLimit

This configures the maximum allowed time in seconds for a single evaluation related to a scheduled task. The default value is "3600".
Example:
    "ServiceEvaluationTimeLimit": "1800"

ServiceKernelInitializationDirectory

This property specifies a directory from which session pool kernels will read files with a .wl or .m extension when they launch. If the kernel sandbox is enabled, this directory will be readable to session pool kernels. The default value is "/wolframcloud/init/service", which is a directory that already exists on EPC. There are similar properties for the other kernel pools, and there is also InitializationDirectory, which is for initialization files loaded for all kernels regardless of their pools. Messages, timings and output from loading these files can be seen in /www/tomcat/logs/wolfram/KernelInit.log.
Example:
    "ServiceKernelInitializationDirectory": "/opt/example/wolfram"

ServicePool

This sets the number of kernels to launch and keep running for scheduled tasks and similar background services. The default setting is "2". Note that the number can be set to an integer in the configuration notebook and will be turned into a string in configvalues.json.
Example:
    "ServicePool": "2"

SessionEvaluationMemoryLimit

This configures the maximum allowed memory in megabytes for a single evaluation in an interactive notebook. The default value is "2048" (i.e. about 2 GB).
Example:
    "SessionEvaluationMemoryLimit": "2560"

SessionEvaluationTimeLimit

This configures the maximum allowed time in seconds for a single evaluation in an interactive notebook. The default value is "3600".
Example:
    "SessionEvaluationTimeLimit": "1800"

SessionKernelInitializationDirectory

This property specifies a directory from which session pool kernels will read files with a .wl or .m extension when they launch. If the kernel sandbox is enabled, this directory will be readable to session pool kernels. The default value is "/wolframcloud/init/session", which is a directory that already exists on EPC. There are similar properties for the other kernel pools, and there is also InitializationDirectory, which is for initialization files loaded for all kernels regardless of their pools. Messages, timings and output from loading these files can be seen in /www/tomcat/logs/wolfram/KernelInit.log.
Example:
    "SessionKernelInitializationDirectory": "/opt/example/wolfram"

SessionPool

This sets the number of kernels to launch and keep running for interactive sessions associated with cloud notebooks. The default setting is "2". Note that the number can be set to an integer in the configuration notebook and will be turned into a string in configvalues.json.
Example:
    "SessionPool": "2"

SupportEmailAddress

This sets a username or complete email address to display as a support contact within the web interface. If this is set to just a username, without an @ sign and domain, the CloudBaseDomain will be used to construct the full email address. Note that the Wolfram Cloud does not itself send email using this address; rather, it is displayed for the benefit of cloud users as a point of contact. The default value is "support".
Example:
    "SystemEmailFromAddress": "cloud-support"
The actual email address with this example setting, assuming a CloudBaseDomain setting of "analytics.example.com", will be cloud-support@analytics.example.com.
Example with a full email:
    "SystemEmailFromAddress": "cloud-support@example.com"

SystemEmailFromAddress

This sets the "From" username that should appear in automated system emails. If this is set to just a username, without an @ sign and domain, the CloudBaseDomain will be used to construct the full email address. The default value is "admin".
Example:
    "SystemEmailFromAddress": "cloud-admin"
The actual email address with this example setting, assuming a CloudBaseDomain setting of "analytics.example.com", will be cloud-admin@analytics.example.com.
Example with a full email:
    "SystemEmailFromAddress": "cloud-admin@example.com"

TermsOfUse

You can add links to your own terms of use and privacy policy for your EPC. These links will appear in the About item in the Profile & Settings menu on EPC session pages. The setting is either a URL string or "" to indicate no link should be displayed. In the configuration notebook, None is the default value, and is stored as "" in configvalues.json.
Example:
    "TermsOfUse": "https://resources.example.com/cloud-terms-of-use"

UseSandbox

This property sets whether or not to enable the kernel sandbox. The default setting in the configuration notebook is True, which is saved in configvalues.json as "true". The only other accepted value is False in the configuration notebook, or "false" in the JSON file. Typically, the UseSandbox and JLinkUseSandbox properties should be set to the same value.
Example:
    "UseSandbox": "false"