Information on the global settings section
Global settings contains at set of global settings for the CMS such as default UI language, reserved urls, and much more. All of these, except for SMTP settings contains default values, meaning that all configuration is optional, unless you wish to send emails from your site.
The following snippet contains all the available options, with default values, and some example values for the required keys From
, Host
and Port
keys of the SMTP settings:
In the root level section, that is those without a seperate sub section like SMTP, you can configure
A comma-seperated list of files to be left alone by Umbraco, these files will be served, and the Umbraco request pipeline will not be triggered.
A comma-separated list of all the folders in your directory to be left alone by Umbraco. If you have folders with custom files, add them to this setting to make sure Umbraco leaves them alone.
Adding additional values to the Reserves URLs and Reserved Paths will overwrite default/current values. This causes performance issues as well.
Configure the session timeout to determine how much time without a request being made can pass before the user is required to log in again. The session timeout format needs to be set as HH:MM:SS
. Any activity within the backoffice will reset the timer.
Long session timeouts raise data exposure and unauthorized access risks. Thus, it's vital to establish a reasonable timeout to mitigate security risks.
The default language to use in the backoffice if a user isn't explicitly assigned one.
If you are running multiple sites, you don't want the top level node in your URL and can disable it with this setting.
Makes sure that all of the requests in the backoffice are called over HTTPS instead of HTTP when set to true.
When this value is set above 0, the backoffice will check for a new version of Umbraco every 'x' number of days where 'x' is the value defined for this setting. Set this value to 0 to never check for a new version.
By adding this value you can specify a new/different folder for storing your icon resources. It's important to be aware of NetCore's limitations regarding serving static file content. By default, static content will only be served from the wwwroot
folder.
By adding this you can specify a new/different folder for storing your CSS files, and still be able to edit them within Umbraco. It's also important to be aware of NetCores limitations regarding serving static file content here as well, by default, static content will only be served from the wwwroot folder. For more info see Extending filesystem
By adding this you can specify a new/different folder for storing your script/js files, and still be able to edit them within Umbraco. It's also important to be aware of NetCores limitations regarding serving static file content here as well, by default, static content will only be served from the wwwroot folder. For more info see Extending filesystem
By adding this you can specify a new/different folder for storing your media files, and still be able to edit them within Umbraco. It's also important to be aware of NetCores limitations regarding serving static file content here as well, by default, static content will only be served from the wwwroot folder. For more info see Extending filesystem
By adding this you can specify a new/different folder for storing your media files elsewhere on the server. Unlike UmbracoMediaPath
, this does not change the relative path that media is served from (e.g. /media) but allows for files to be stored outside of the wwwroot folder. Both relative paths (../../Shared/Media) and absolute server paths (X:/Shared/Media) are supported. For more info see Extending filesystem
This is not a setting that commonly needs to be configured.
If enabled Umbraco will try to automatically install the database when it's missing. This is primarily used in conjuction with unattended installs.
This is not a setting that commonly needs to be configured.
This value is primarily used on Umbraco Cloud for a small startup performance optimization. When this is true, the website instance will automatically be configured to not support load balancing and the website instance will be configured to be the 'primary' server for scheduling so no primary election occurs. This will save 1 database call during startup.
This is not a setting that commonly needs to be configured.
This setting is used to specify which sql server version that the database is running, this setting is only required if you use SqlServer 2008, if this is the case set the setting to "SqlServer.V2008"
Specifies the implementation of IMainDomLock to be used.
IMainDomLock
is used to synchronize access to resources like the Lucene indexes.
Available options:
"FileSystemMainDomLock"
- Available cross-platform, uses lock files written to LocalTempPath to control acquisition of MainDom status.
"MainDomSemaphoreLock"
- Windows only, uses a named system Semaphore with a maximumCount
of 1 to control acquisition of MainDom status.
"SqlMainDomLock"
- Available cross-platform, uses the database to control acquisition of MainDom status.
The default implementation unless configured otherwise is FileSystemMainDomLock
.
For advanced use cases e.g. deployment slot swapping on Azure app services.
When using SqlMainDomLock a MainDomKey is used to identify an instance of a running application.
The MainDomKey is by default comprised of the server's machine name & the application id.
This is generally all that is required to control MainDom status as starting a new process for the same application on the same server will result in a matching MainDomKey. This will then require that an existing instance yields MainDom status to the new process.
Deployment slots for a given Azure App Service share the same machine name. Without additional configuration, they will share a MainDomKey and therefore compete for MainDom status. This can be undesirable if attempting to deploy to a deployment slot followed by a swap with the production slot as once traffic has switched to the new instance the old production instance reboots and can re-acquire MainDom status. See What happens during a swap.
To prevent this from occurring you can specify a MainDomKeyDiscriminator which should be set as a slot-specific configuration to prevent the slots from competing for MainDom status.
It's worth noting that during the swap operation there is a period where both instances will share the same configuration and at this point, the old instance will yield MainDom status to the new instance.
Gets or sets the duration (in milliseconds) for which the MainDomLock release signal polling task should sleep. The default value is 2000ms.
This setting doesn't need to be configured.
This setting contains a unique ID used to identify your project, and is populated the first time your site runs, you shouldn't change this setting.
This setting specifies what view to render when there is no content on the site.
By adding this settings to the appsettings.json you will be able to send out emails from your Umbraco installation. This could be notifications emails if you are using content workflow, or you are using Umbraco Forms you also need to specify SMTP settings to be able use the email workflows. The forgot password function from the backoffice also needs a SMTP server to send the email with the reset link.
Specifies the default address emails will be sent from, this setting may be overridden some place, such as when inviting a user, where the email of the user sending the invite will be used instead. The format of the address follows the RFC 822 standard so you can include a friendly name using the format "Friendly Name <your@emailaddress.com>"
Address of the SMTP host used to send the email from.
The port of the SMTP host, port 25 is a common port for SMTP.
The username used to authenticate with the specified SMTP server, when sending an email.
The password used to authenticate with the specified SMTP server, when sending an email.
Allows you to specify what security should be used for the connection sending the email.
The options are:
None - No SSL or TLS encryption should be used.
Auto - Allow the IMailService to decide which SSL or TLS options to use (default). If the server does not support SSL or TLS, then the connection will continue without any encryption.
SslOnConnect - The connection should use SSL or TLS encryption immediately.
StartTls - Elevates the connection to use TLS encryption immediately after reading the greeting and capabilities of the server. If the server does not support the STARTTLS extension, then the connection will fail and a NotSupportedException will be thrown.
StartTlsWhenAvailable - Elevates the connection to use TLS encryption immediately after reading the greeting and capabilities of the server, but only if the server supports the STARTTLS extension.
Specifies what delivery method should be used for emails, most of the time you'd want to use the default "Network"
option to send emails over the network. It might be useful during development to use "SpecifiedPickupDirectory"
to place the email messages in a folder on disk, instead of trying to send them over the network.
If you're using the "SpecifiedPickupDirectory"
option on as the delivery method, this setting allows you to specify what folder the emails should be saved to.
It's unlikely that you will have to change these settings unless you're using a load balanced setup.
Sets a value for the amount of time to wait between calls to the database on the background thread.
Sets a value for the time span to wait before considering a server stale, after it has last been accessed.
It's unlikely that you will have change these settings, unless you're using a load balanced setup. These settings are all about how load balancing instructions from the database are processed and pruned.
Sets a value for the maximum number of instructions that can be processed at startup; otherwise the server cold-boots (rebuilds its caches).
Sets a value for the time to keep instructions in the database; records older than this number will be pruned.
Sets a value for the time to wait between each sync operation.
Sets a value for the time to wait between each prune operation.
Gets or sets a value indicating whether TinyMCE scripting sanitization should be applied.
The default value is false
.
This is not a setting that commonly needs to be configured.
Gets or sets a value representing the DistributedLockingMechanism to use.
Valid values:
"SqlServerDistributedLockingMechanism"
"SqliteDistributedLockingMechanism"
Gets or sets a value representing the maximum time to wait whilst attempting to obtain a distributed read lock.
The default value is 60 seconds.
Gets or sets a value representing the maximum time to wait whilst attempting to obtain a distributed write lock.
The default value is 5 seconds.