Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Sync your files and folders simply


Clone and run for a quick way to see ODrive (OpenSource Drive) in action.

Supported Operating Systems

Snap Status Travis Status Dependencies Status devDependency Status Code Status

To Use

To clone and run this repository you'll need Git and Node.js (which comes with npm) installed on your computer.

The first thing you need is the source code, in your command line:

# Clone this repository
git clone

This will download all the source code in a "ODrive" folder in the current directory. Alternatively, you can download and extract the zip from github's interface.

The steps below (Setup, Build, Run) are to execute in order to ready everything.


This step is only needed once, in order to install the necessary environment on your computer for ODrive to run.

# Needed for electron 1.7+ to run, as it's based on chrome
sudo apt install libgconf-2-4

Note: If you're using Linux Bash for Windows, see this guide or use node from the command prompt.


This step is to execute every new version of the source code.

In the project directory:

npm install

Note: If you're using Ubuntu and you get an error message about a missing node binary, you may want to try this:

sudo ln -s `which nodejs` /usr/bin/node

If you are working on the code yourself and editing some files in app/assets/, you will need to run npm run webpack (or npm install) for those changes to have an impact on the application.


In the project directory:

npm start

On Windows, you can make a .bat file with start cmd /k npm start that then you can double click to launch the program.

The launch-on-startup functionality is only available on bundled releases. See the Deployment section.


To make sure the code is ok and run some sanity checks on it:

npm test



There are currently three "release" formats supported: nsis (Windows installer) for Windows, AppImage for Linux, and DMG for Mac. You can generate them like this:

npm run release-windows
npm run release-linux
npm run release-mac

To create a different format, like a deb or rpm package for example:


npm run release-linux deb


sudo yum install rpm-build -y
npm run release-linux rpm

The releases are generated in the dist folder.

All formats supported by electron-builder are available, such as 7z, zip, tar.gz, deb, rpm, freebsd, pacman, p5p, apk, dmg, pkg, mas, nsis, appx, msi...

Permissionless deployment

An appimage on linux already runs permissionless. Anyway, you can just do:

# Permissonless deployment
npm run release-windows dir # or zip, 7zip, tar.xz, tar.7z, ...

This will create a folder in dist that you can just copy to a Windows machine.


GPL v3