Global Settings
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:
Root level settings
In the root level section, that is those without a seperate sub section like SMTP, you can configure
Reserved urls
Key: ReservedUrls
Type: string
(default: ~/.well-known,
)
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.
Reserved paths
Key: ReservedPaths
Type: string
(default: ~/app_plugins/,~/install/,~/mini-profiler-resources/,~/umbraco/,
)
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.
Timeout
Key: TimeOut
Type: string
(default: 00:20:00
)
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.
Default UI language
Key: DefaultUILanguage
Type: string
(default: en-US
)
The default language to use in the backoffice if a user isn't explicitly assigned one.
Hide top level nodes from path
Key: HideTopLevelNodeFromPath
Type: bool
(default: true
)
If you are running multiple sites, you don't want the top level node in your URL and can disable it with this setting.
Use https
Key: UseHttps
Type: bool
(default: false
)
Makes sure that all of the requests in the backoffice are called over HTTPS instead of HTTP when set to true.
Version check period
Key: VersionCheckPeriod
Type: int
(default: 7
)
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.
Icons path
Key: IconsPath
Type: string
(default: umbraco/assets/icons
)
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.
Umbraco CSS path
Key: UmbracoCssPath
Type: string
(default: ~/css
)
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
Umbraco scripts path
Key: UmbracoScriptsPath
Type: string
(default: ~/scripts
)
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
Umbraco media path
Key: UmbracoMediaPath
Type: string
(default: ~/media
)
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
Umbraco media physical root path
Key: UmbracoMediaPhysicalRootPath
Type: string
(default: ~/media
)
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
Install missing database
Key: InstallMissingDatabase
Type: bool
(default: false
)
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.
Disable election for single server
Key: DisableElectionForSingleServer
Type: bool
(default: false
)
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.
Database factory version
Key: DatabaseFactoryServerVersion
Type: bool
(default: false
)
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"
Main dom lock
Key: MainDomLock
Type: string
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 amaximumCount
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
.
Main dom key discriminator
Key: MainDomKeyDiscriminator
Type: string
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.
Main dom release signal polling interval
Key: MainDomReleaseSignalPollingInterval
Type: string
Gets or sets the duration (in milliseconds) for which the MainDomLock release signal polling task should sleep. The default value is 2000ms.
Id
Key: Id
Type: string
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.
No nodes view path
Key: NoNodesViewPath
Type: string
(default: ~/umbraco/UmbracoWebsite/NoNodes.cshtml
)
This setting specifies what view to render when there is no content on the site.
SMTP settings
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.
From
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>"
Host
Address of the SMTP host used to send the email from.
Port
The port of the SMTP host, port 25 is a common port for SMTP.
Username
The username used to authenticate with the specified SMTP server, when sending an email.
Password
The password used to authenticate with the specified SMTP server, when sending an email.
Secure socket options
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.
Delivery method
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.
Pickup directory location
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.
Database server registrar settings
It's unlikely that you will have to change these settings unless you're using a load balanced setup.
Wait time between calls
Key: DatabaseServerRegistrar.WaitTimeBetweenCalls
Type: string
(default: 00:01:00
)
Sets a value for the amount of time to wait between calls to the database on the background thread.
Stale server timeout
Key: DatabaseServerRegistrar.StaleServerTimeout
Type: string
(default: 00:02:00
)
Sets a value for the time span to wait before considering a server stale, after it has last been accessed.
Database server messenger
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.
Max processing instruction
Key: DatabaseServerMessenger.MaxProcessingInstructionCount
Type: string
(default: 1000
)
Sets a value for the maximum number of instructions that can be processed at startup; otherwise the server cold-boots (rebuilds its caches).
Time to retain instructions
Key: DatabaseServerMessenger.TimeToRetainInstructions
Type: string
(default: 2.00:00:00
)
Sets a value for the time to keep instructions in the database; records older than this number will be pruned.
Time between sync operations
Key: DatabaseServerMessenger.TimeBetweenSyncOperations
Type: string
(default: 00:00:05
)
Sets a value for the time to wait between each sync operation.
Time between prune operations
Key: DatabaseServerMessenger.TimeBetweenPruneOperations
Type: string
(default: 00:01:00
)
Sets a value for the time to wait between each prune operation.
Distributed Locking Mechanism
Key: DistributedLockingMechanism
Type: string
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"
Distributed Read Lock DefaultTimeout
Key: DistributedLockingReadLockDefaultTimeout
Type: string
(default: 00:01:00
)
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.
Distributed Write Lock DefaultTimeout
Key: DistributedLockingWriteLockDefaultTimeout
Type: string
(default: 00:00:05
)
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.
Last updated