How does BackHub work?
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.
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.
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
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.
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.
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.
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.
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.