System Requirements

.NET Core

SCM Backup is written in .NET Core, the cross-platform version of .NET.

The available releases are framework-dependent deployments, which means that the same download should work on any Windows, Linux and MacOS machine, as long as .NET Core is installed on it.

If it’s not on your machine, you can get it from the official download page. The exact version you need is version 3.1 of the .NET Core runtime.


So far, SCM Backup has been written and tested on Windows only. Technically, it should run on Linux and MacOS as well, but this has not been tested yet.

Source control software

SCM Backup doesn’t come with its own versions of Git and/or Mercurial, so the respective SCM needs to be installed on your machine if you have at least one repository of the given type.

By default, SCM Backup expects all source control software to be in your path, so it just needs to execute git, hg etc. without a complete path, although it’s possible to specify the path to the executable in the config.

Note that at runtime, SCM Backup checks the presence of all required SCMs on your system. It will stop if you have repositories needing a SCM which is not present on your system.


At the moment, there are only .zip downloads.

Download the .zip file from the latest release and unzip it into a folder of your choice.

How to run


You should edit the configuration file before running SCM Backup for the first time!

Read the guide for more information.

Run the actual application by executing ScmBackup.exe

Windows Task Scheduler

To run SCM Backup via Windows Task Scheduler, you need to specify the path to the exe and the directory (in “Start in”) in the “Edit Action” screen:


Omitting the directory can cause problems.


It’s possible to run SCM Backup via Docker, but I (SCM Backup maintainer) don’t have much Docker experience.

Here are some example Dockerfiles from people who managed to get it to run. I’m not able to provide support for this - use at your own risk!