Skip to main content
Skip table of contents

Configuring Renovate

Introduction

There are a vast amount of ways that Renovate can be configured, and keeping your configurations organized is vital to successfully managing your repository’s configurations. Due to this, Renovate allows multiple different ways of storing configuration files for later use. Although there are multiple different options, only choosing a maximum of 2 or 3 of them for hosting your configuration is recommended to ensure easy troubleshooting. A good place to start is by getting an understanding of Renovate configurations from some examples.

The Default Configuration

Each setting has its own default in Renovate. To get the default for each setting, it is recommended to look up the setting itself in the Renovate Documentation Website where a table displays information on each setting. For instance:

image-20240815-205713.png

Here, the default value for gitAuthor is null, and will remain that way unless it is changed either via an environment variable, or a CLI flag.

The config.js file

For any self-hosted Renovate version, using a config.js file allows users to store configurations in the filesystem of the machine that runs Renovate, in the same directory where Renovate is run. This creates a global configuration and allows users to add base settings that cannot be changed by users who do not have access to the underlying machine.

This file typically looks like:

JS
module.exports = {
  // Renovate Settings
  key: "value"
}

More information on the config.js file can be found here.

Inherited Configuration

A default.json file inside of a repository that Renovate has access to can be accessed using the “extends" setting. This method of storing and accessing configurations is called a “Shareable Config Preset”. Read the documentation listed to understand how to host a Shareable config Preset on different platforms. When accessing the configuration users would typically specify:

CODE
(platform)>(repo-location)

If a default.json file is not used, but something else, then this would instead look like:

CODE
(platform)>(repo-location)//(file/location/and/name.json)

WARNING: If you are on a platform that is not in the list of supported systems in the documentation above, then use the local platform and then continue as normal. An example of this is shown in our documentation here.

Repository Configuration

The last form of configuration, is directly on the repository. This configuration is typically hosted at the root level of the repository, with the name renovate.json. This file provides information on how only that repository should be treated.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.