How does BackHub work?

Daniel Heitz | Last updated on May 17, 2022 | 2 minute read

BackHub does all the work of daily backups without you having to think about it. But how does BackHub actually work? Here is a quick read covering the basics – what BackHub is, what goes on in setup, installation, backup creation and updates, snapshots, cloud sync and what are the options for data recovery.

BackHub in a nutshell

Backhub is a cloud to cloud backup solution for GitHub repositories.

Backups include metadata, such as issues, and come with daily snapshots up to 30 days back in time.

With BackHub you can restore repositories and metadata to GitHub, clone from BackHub servers, as well as download your data.

Plans

You can purchase a plan for up to 1200 repository backups in GitHub Marketplace. Billing is handled through GitHub. If you need more backups or want to purchase an enterprise plan, contact us directly.

Each user/organization requires a separate plan.

Installation

BackHub is built as a GitHub App.

You install BackHub on each user/organization you want to create backups for.

During the installation, you grant read access to your repositories. Every repository you grant access to is backed up.

Once the installation is complete, you login to BackHub with your GitHub user.

If you have installed BackHub for your GitHub organization, each member with the permission level “owner” can access backups.

Backup creation, updates, snapshots and cloud syncing

Backup creation

For the initial backup, we clone the repositories and pull related metadata via the GitHub API.

Depending on the size of your repositories, and the number of repositories you granted access to (as well as API rate limits), initial backup can take up to a few hours.

The backup includes the complete git repository with all branches and commit history, as well as GitHub-related metadata associated with the repository, such as issues, milestones and so on.

Backup updates

To update the backup, we pull the repository and fetch new metadata. As an incremental update, the daily backup requires less time than the initial backup.

We update the backups once a day. Updates are done during the night, Pacific Time.

Backup snapshots

Once the backup is complete, a snapshot of all backups is created so you can always roll back to a previous state of a backup.

We make daily snapshots and keep them for a maximum of 30 days.

Cloud Sync to Amazon S3

Connecting an Amazon S3 bucket gives you an independent copy of all backups.

When you connect an S3 bucket, we sync all your data to the bucket on a daily basis.

Having your own copy lets you further customize and process your backups, e.g., store them locally, or keep snapshots longer than 30 days.

Another benefit is being able to access your data anytime, even if GitHub and BackHub were to be down.

Data Recovery

BackHub provides several ways to recover your data.

Restore to GitHub

Restore to GitHub is done via the BackHub restore app, which requires writing permissions to your GitHub account.

The restore app first creates a new repository in your account. It then pushes the repository and restores the metadata via the GitHub API.

Clone from BackHub

You can clone a repository directly from your backup on our servers, either from the current snapshot or from any previous snapshot available.

For authentication, we use the SSH public key attached to your GitHub user.

Download backups

You can download the repository and metadata backup from the BackHub user interface.

The repository download contains the full git repository, including all branches and commit history.

Metadata comes in JSON format.

Learn more about backups for Github today.


Profile picture of <a class=Daniel Heitz">