inventory.j2
Running Renovate
As end user, you can choose from these ways to run Renovate:
- You use the Mend Renovate app on GitHub, or
- You self-host Renovate, for example by running the pre-built Docker image, or
- Someone else is hosting Renovate, and you install/configure it for the repositories you choose
If you're using the Mend Renovate App on GitHub, or if someone else is hosting Renovate for you, skip ahead to the installing & onboarding page.
Self-Hosting Renovate
When self-hosting Renovate you're the "administrator" of the bot, this means you:
- provide the infrastructure that Renovate runs on,
- provision Renovate's global config,
- make sure Renovate bot runs regularly,
- make sure Renovate bot itself is updated
If you're self-hosting Renovate on Windows, read Self-hosting on Windows to prevent line endings from confusing Renovate bot.
Available distributions
npm package (CLI)
Renovate's Open Source CLI is built and distributed as the npm package renovate
.
You can run this package in any Node.js environment - even via npx
- and it will process all the repositories it is configured with, before exiting.
When installing Renovate via npm you are responsible for installing any third-party tools or languages like Ruby, Python, Composer, Bundler, Poetry, etc.
The renovate
npm package is compatible with all of Renovate's supported platforms.
Docker images
Renovate is also distributed as Docker images on Docker Hub (renovate/renovate
) and GitHub container registry (ghcr.io/renovatebot/renovate
).
These Docker images work on all the hosting platforms that Renovate supports.
Both linux/amd64
and linux/arm64
architectures are supported, but you may still find some bugs in the arm64
image.
You can't run the Docker images in a Windows or macOS container.
In general, you can run Renovate natively on Windows as long as you have all tools it will need (e.g. npm
, pipenv
, etc.) preinstalled before you run Renovate.
There are two Docker image flavors:
- The default image, which installs required tools at runtime (default for
latest
tag), - The
-full
image, which comes with latest or very recent versions of every tool pre-installed
slim
)
The default image (formerly The default image only comes with the Node.js environment.
Renovate will then install any needed tools when it runs.
Read the binarySource=install
documentation for more details.
We recommend this default image for most users.
Renovate supports a persistent cache for downloaded tools, so that it only needs to unpack the tools on later runs.
Use the containerbaseDir
config option to control where Renovate stores its containerbase cache.
If you want, you can map the Docker socket into the container so that Renovate can dynamically invoke "sidecar" images when needed.
You'll need to set binarySource=docker
for this to work.
Read the binarySource
config option docs for more information.
The full image
The -full
image comes with most package managers that Renovate supports, but not all package managers.
Update your Docker images regularly to keep the pre-installed tools up-to-date.
The full image is for users who don't want to download or install things at runtime. This image has some downsides, because it:
- Comes pre-installed with one version of each language/manager - usually the latest
- Weighs several gigabytes
GitHub Action
Renovate's npm tool is also provided as a GitHub Action on renovatebot/github-action
.
Details on how to use it can be found in the repository.