Manual:YAML settings file format

Settings files are used to configure a MediaWiki instance. They can be written in different formats, including YAML and JSON.

Settings files may contain the following sections (top level keys):

config
The config section contains configuration variables in the form of an associative array (aka an JSON object or dictionary). Each entry in the config section corresponds to on of the configuration settings supported by MediaWiki or an extension. The names of configuration variables are given without the "wg" prefix traditionally used when accessing them as global HP variables.

Configuration values specified in this section may be merged with the default value (or any values previously set from other settings files) using a merge strategy, see Manual:Extension.json/Schema. The merge strategy to use is determined by the schema defined for this config value, either explicitly or derived from the declared type.

Example: Add a link

config-overrides
The config-overrides section works much like the config section, except that values given here will replace any pre-existing values. Any merge strategies implied or explicit in the schema for the configuration variable are ignored.

includes
The includes section contains a list of other settings files to load. The location of these files is interpreted relative to the location of the current settings file. This is especially useful for sharing configuration between several wikis in a wiki farm.

Example:

php-ini
The php-ini section contains configuration for the PHP runtime environment. See https://www.php.net/manual/en/ini.list.php

Example:

extensions
The extensions section contains a list of extension names, each one specifying an extension to load. The extension must be located under the path given by the  configuration variable.

Example:

skins
The skins section contains a list of skin names, each one specifying a skin to enable. The skin must be located under the path given by the  configuration variable.

Example:

config-schema
The config-schema section can be used to define new configuration settings. It mostly useful internally in core or in extensions. There is generally no reason to use it when configuring a wiki site.

Each entry in the config-schema section provides a JSON schema for a configuration variable. In particular, the  and   keys are supported. In addition, the  key can be used to declare how to merge complex values, see Manual:Extension.json/Schema.

Example: Additional keys:


 * mergeStrategy: TBD
 * ignoreKeys: TBD