Frequently asked Question (FAQ)

Installation


You can try all our plans free for 14 days. Before installing you first choose a plan.

To choose a plan:

  1. Open GitHub Marketplace
  2. Click "Set up a new plan".
  3. Choose a plan that suits your needs. Set up a plan on GitHub Marketplace Choose a plan

    By default BackHub creates backups of all repositories in your account but you can also choose to backup only select repositories.

Next, you will see a summary of your order.

To start installing BackHub:

  1. Under "Billing information" choose the billing account for which you want to install BackHub and start creating backups.
  2. When everything is correct, click "Complete order and begin installation".

    Choose account

    Next you will manage repository access and permissions.

    Access. BackHub creates backups for all repositories you grant access to. If you grant access to "All repositories" then backups for all current and future repositories will be automatically created. If you want to backup only select repositories, choose "Only select repositories" and enter the names of the repositories you want to backup.

    Permissions. BackHub requires read access to code. For backing up the metadata and to manage access to backups, read access to administration, issues, members, metadata, pull requests, and repository projects is also required.

  3. Grant access and permissions as appropriate.

    Set access to GitHub repositories
  4. Click "Install" to start installation.

    GitHub may ask for your password to confirm the installation.

    Start installation

To sign into BackHub:

After the installation of BackHub for your account is complete, you verify your identity on GitHub with your personal GitHub user. This allows for login on backhub.co and management of your installations.

  1. Click on "Authorize backhub".

    You are redirected to backhub.co.

    Authorize BackHub and verify your identity on GitHub

To create backups for your GitHub repositories:

On backhub.co an initial dialog displays with the number of repositories you granted access to, and the account for which you have installed BackHub.

  1. To start creating backups, click "Create backups".

    Create backups

    A list of all backups displays. Backups are marked either in grey with the status "… pending" or already "… in progress" with a yellow border. Depending on the size and number of your repositories, creating the backups can take between a couple of minutes or up to a few hours.

    Pending backups

    Once the backups are successfully created, a timestamp with a green border displays.

  2. Return to this page later if you want to check the status of your backups.

    Example of a successful GitHub repository backup

Backups

Yes, it’s possible to have BackHub create automatic backups for new repositories in your GitHub account.

BackHub creates backups of all repositories it gets access to. A backup for new repositories is automatically created when you set access to “All repositories”. This action applies to all current and future repositories.

Back up all current and future GitHub repositories

If you have set access to “Only select repositories” you need to manually add the repository name to create a backup for it.

Back up only select GitHub repositories

To add a repository for backup creation, or change the overall setting, open the user menu on the top right of the BackHub UI and choose “configure access” or “manage settings” for your BackHub installations directly from your GitHub account.

Yes, it’s possible to back up only select repositories.

By default, BackHub creates backups of all repositories it gets access to. If you want to back up only select repositories, you can simply limit access to those repositories.

In the installation dialog, you choose whether to give access to all repositories, or to only select repositories. Choose “select repositories” and enter the names of the repositories to back up.

Backup only select repositories

If you have already installed BackHub, you can edit the permissions by managing your installations on GitHub.

After the access to an existing backup has been revoked, it is archived automatically and can then be deleted manually.

Yes, you can use BackHub to archive your GitHub repositories. Once a backup is complete, you can delete the original repository in GitHub. Since the upstream for creating further backups from the original repository will no longer be available, the backup is archived automatically and listed in a separate section at the bottom of the page.

You can restore the repository back to GitHub from an archived backup anytime.

Archived GitHub repository backup

Note: Not all data can be restored to GitHub directly. The data might come in a different format. Learn more about what you can restore here.

No. Git Large File Storage (LFS) is currently not supported.

When you include an image or another attachment such as ZIP-Files, the file is uploaded to GitHub’s CDN and then referenced by the URL in the issue or comment. The URL for the attachment is included in the backup, but the file itself is fetched from GitHub’s CDN.

A backup can only be deleted after it has been archived.

A backup is archived automatically when BackHub can no longer access the original repository at GitHub. This occurs when (1) access is revoked for the installation, (2) access is revoked for this specific repository, or (3) if the original repository has been deleted on GitHub. Archived backups are listed in a separate section at the bottom of the page and indicated by a dashed outline.

Archived GitHub repository backup with delete button

When you delete a backup it’s removed permanently and can no longer be restored. The Delete button is in the footer section of the backup panel.

BackHub creates daily snapshots and keeps snapshots of the last 30 days.

Snapshots cannot be kept longer than 30 days because of compliance rules in our GitHub partner agreement.

If you want to keep an older version of your backup we recommend downloading the data from BackHub and keeping an offline copy of it.

You can download or restore from any of the snapshots.

Note: Once a backup loses connection to its original repository (e.g., when the repository is deleted or the access token revoked), snapshots age out. After 30 days all snapshots will contain the same data.

Backups are updated on a daily basis.

The timestamp of the latest complete backup of your GitHub repository displays when you open the panel of a backup.

GitHub repository backup timestamp

We also create daily snapshots of each backup up to 30 days back in time.

When a backup fails, automatic retries are made until the backup is successful. If the backup continues to fail, our technical support is automatically notified. A failing backup displays in the backup panel of user interface with an error message and a red border.

GitHub repository backup error

When you delete a repository at GitHub, the backup of that repository can no longer be updated, and is therefore archived.

Archived backups are indicated by a dashed outline.

Archived GitHub repository backup

The backup includes the complete git repository plus GitHub related metadata associated with the repository, such as issues, milestones and so on.

We include most data available via the GitHub API associated with the repository. This currently includes:

Code
Commits
Branches
Releases
Issues
Pull Requests
Milestones
Wiki
When a backup is "inactive" it is marked with a yellow border. Inactive GitHub repository backup There are two possible reasons for an inactive backup.

a) A backup for this repository hasn't been created yet

This is the case when you have set the installation for access to select repositories only, and you later add new repositories to the list of repositories the installation can access. BackHub checks each installation for new repositories every 24 hrs. This means that backups for the new repositories will be automatically created during a 24 hr cycle. Created repositories are listed in the "active" section with a green border.

b) The backup routine for this repository has been stopped

This occurs when you have reached the quota of your current plan and new repositories have been added either to your GitHub account for this installation, or to the list of repositories this installation can access. Note: If you have inactive backups, either purchase a larger plan, or limit access to select repositories for this installation for the maximum amount of your current plan.

To prevent loss of data

There are many reasons for keeping an extra offsite backup of your repositories. The number one cause of data loss is directly from users. Here are a few scenarios that can lead to loss of data in a GitHub repository:
  • A repository has been deleted accidentally from GitHub.
  • The history of a repository was changed with git-reset or git-rebase and therefore has led to loss of data with a forced push.
  • The contents of an issue or milestone etc. has been changed or deleted accidentally.
  • GitHub accidentally loses your data
  • Rogue employee destroys your data
There are many other scenarios that could potentially lead to loss of data. We therefore strongly recommend backing up all your data. With BackHub you can restore your current backup directly back to GitHub or rollback to a previous state of your repository and metadata from any of the backup snapshots up to 30 days back in time.

For compliance

Many of our customers also need backups for compliance. If you are going through a SOC2 audit, for example, you will need a backup of your cloud data.

Why use a cloud to cloud backup service?

Outsourcing backup creation has the following benefits:
  • No need to write your own backup script
  • No need to ensure your backup script is up-to-date with GitHub API changes
  • No need to monitor your own backup script
  • No need to create your own documentation on backup and recovery procedures
A backup is archived automatically when the connection to its original repository is lost. There are two possible causes of a lost connection:
  • the repository was deleted at GitHub
  • access to this particular repository was removed by changing permissions
Archived backups are listed in a separate section on the page and indicated with a dashed outline. Archived GitHub repository backup

Restore

Yes, you can clone any repository backup snapshot available for your backup directly from BackHub servers.

For this feature to work, you must have

  1. An SSH key stored in your GitHub account
  2. “Clone from BackHub” activated in the user settings of your account (activated by default).

Note: All accounts created after Oct 5, 2018 have “Clone from BackHub” switched on by default.

To activate/deactivate the “Clone from BackHub” feature:

  1. Choose “Settings” in the User menu.
  2. Click “Clone from BackHub” to toggle on or off.

After the feature has been switched on, BackHub fetches the SSH key into your GitHub account within 24 hours.

Clone repository backup from BackHub servers

To clone a repository backup from BackHub servers:

  1. Open the panel of a backup.
  2. Choose the snapshot to clone (default: “current”).
  3. Copy the clone URL.
  4. Open Terminal.
  5. Change the current working directory to the location where you want the cloned directory to be made.
  6. Type git clone and then paste the URL you copied in Step 3.
  7. Press Enter. Your local clone is created.

Copy backup clone URL

Yes, you can download the GitHub repository backup from any snapshot available for your backup.

Download it directly either from BackHub through the user interface, or by cloning from our servers.

To download the GitHub repository backup:

  1. Open the panel of a GitHub backup.

  2. Choose “current” for the latest backup or any of the snapshots available.

  3. Click “download GitHub repository”.

The download contains the complete GitHub repository, including the git history and all its branches.

Download GitHub repository backup

Yes, you can download the metadata of any backup or backup snapshot directly from BackHub.

To download metadata for a backup:

  1. Open the panel of a backup.

  2. Choose “current” for the latest backup or choose any of the available snapshots. The download contains all available metadata in JSON format.

  3. Click “download metadata”.

Download GitHub issues and metadata of a repository backup

Yes, you can use BackHub to export GitHub issues.

GitHub repository backups include not only the repository itself, but also the metadata, such as GitHub issues, milestones and so on.

Create a full repository backup

To export GitHub issues, you must first create a full backup of your repository. If you haven’t already, follow the instructions on how to install BackHub here. Once installed, wait until the backup of your GitHub repositories is completed.

Download GitHub issue export

Open the panel of the repository backup that contains the issues to export. If you have installed BackHub a while ago, you can either choose from older snapshots or keep the current one. Click “Download Metadata”.

Export GitHub issues with BackHub

The download comes as a ZIP file. The ZIP file older “issues” lists the export of your GitHub issues. Each issue comes as a JSON file with a filename equivalent to the issue ID.

The GitHub issue export contains all sorts of information. Besides the author, assignee and labels of the GitHub issue, the title and body are important. Search for “title”: and “body”: to quickly find what you are looking for.

You can use the GitHub issue export to archive a repository you are no longer working on, or to process the data for any other purpose.

Yes, with BackHub you can export a GitHub wiki.

A GitHub wiki is actually nothing more than a separate repository with markdown files containing your wiki pages. Wikis are included in the backup of your GitHub repository.

Here is a list of what is included in a GitHub repository backup.

Backup your repository

First, create a full backup of your repository. If you haven’t already, follow the instructions on how to install BackHub. Once installed, wait until the backup of your GitHub repositories is completed.

Download GitHub wiki

After the backup is created, open the panel of the repository that contains the wiki to export. Click “Download Wiki”. If you have installed BackHub a while ago, you can choose from older snapshots.

Export GitHub wiki

The BackHub restore app must be installed before you can restore a backup.

For restoring a backup, write permission to your GitHub account is necessary. The BackHub restore app is installed separately so that you can remove the app and its permissions after the restore has been completed.

Install BackHub Restore app

  1. Go to the GitHub App directory and start the installation.
  2. During the installation process, allow access to "All repositories". This is the only way to get instant access to a newly created repository. Allow access to all repositories

Initiate restore

  1. In BackHub, search for the repository to restore.
  2. Click the panel to open the details.
  3. In the panel footer, choose the snapshot to restore from.
  4. Click "Restore". Choose a snapshot of a GitHub repository backup to restore
  5. Open your GitHub account and check the restored repository.

    It may take a couple of minutes up to an hour for the restore to complete, depending on the size of your repository.

    Dialog with settings to restore GitHub repository backup

Remove Restore app

After the restore has been completed, you can remove the BackHub restore app and its permission. This increases the security of your account.

  1. Open the app settings at GitHub.
  2. Choose the organization from which to remove the app.

You can choose an earlier version of your backup from the popup menu by clicking the Restore button.

Follow the instructions on how to restore a repository.

Choose a snapshot of a GitHub repository backup to restore

Our service works with GitHub OAuth and is dependent on the GitHub API. You can check the GitHub API status here. If GitHub is not available, you cannot login to the BackHub user interface. However, if you have a ssh key added to your GitHub account and haven’t turned off the “Clone From Backhub” feature in your account settings, you can clone your repositories directly from BackHub servers.

If you have an enterprise plan with enterprise SLA, you can also contact us to perform a disaster recovery of your data.

Because wikis are just Git repositories, you can make changes locally and push them to your repository using a Git workflow.

To restore a wiki:

  1. Open the panel of the backup, click “download wiki” and choose “current” for the latest backup or any of the snapshots available. The download contains the complete wiki repository.

Download GitHub wiki

  1. Clone the empty wiki of the repository you want to restore into, following the instructions on the GitHub documentation.

Clone GitHub wiki locally

Now that you have a local copy of your empty wiki and a local copy from the wiki of your backup, you can simply copy the files from the backup into the empty wiki and commit them.

The BackHub restore app must be installed before you can restore a backup.

For restoring a backup, write permission to your GitHub account is necessary. The BackHub restore app is installed separately so that you can remove the app and its permissions after the restore has been completed.

Install BackHub Restore app

  1. Go to the GitHub App directory and start the installation.

  2. During the installation process, allow access to “All repositories”. This is the only way to get instant access to a newly created repository.

Allow access to all repositories

Initiate restore

To learn how to initiate a restore, follow the instructions on this page.

Remove Restore app

After the restore has been completed, you can remove the BackHub restore app and its permission. This increases the security of your account.

  1. Open the app settings at GitHub.

  2. Choose the organization from which to remove the app.

You can restore everything that is included in the backup. However, due to limitations of the GitHub API, some data either cannot be restored directly or else it comes in a different format for practical reasons:

  • Wikis cannot be restored directly back to GitHub. See these instructions if you want to restore a wiki.
  • Pull requests can only be restored as issues.
  • When restoring, all issues are filed by the user and have the current date stamp. The original author and issue date are included as text in the issue description.
  • We do not link @mentions in issues or comments. This prevents flooding the participating users with notification emails.
  • We do not assign issues when restoring in order to avoid email notifications. The information about the original assignee displays in the issue description.

Security

Yes. Backups are encrypted both in transit and at rest using the AES-256 encryption algorithm.

Yes, we provide a Data Processing Agreement.

To sign the agreement:

  1. Download and review the Data Processing Agreement.

  2. Fill in the information on Page 1 (controller) and Page 11 (Persons with instructional authority).

  3. Sign on Page 8.

  4. Send the signed document to support@backhub.co

We adhere to the following technical and organizational measures for data protection under Art. 32 GDPR:
Electronic access control
  • ✓ Assignment of user rights
  • ✓ Password assignment
  • ✓ Authentication with user name / password
  • ✓ Create user profiles
  • ✓ Assignment of user profiles to IT systems
  • ✓ Use of VPN technology
  • ✓ Encryption of mobile data carriers
  • ✓ Encryption of data carriers in laptops/notebooks
  • ✓ Use of a software firewall
Access level control
  • ✓ Create an authorization concept
  • ✓ Number of administrators reduced to “essential only”
  • ✓ Encryption of data carriers
  • ✓ Administration of rights by system administrator ✓ Password policy, including password length, password change
Relay control
  • ✓ Facilities of leased lines or VPN tunnels
  • ✓ E-mail encryption
Input control
  • ✓ Traceability of input, modification and deletion of data by individual user names (not user groups)
  • ✓ Assignment of rights to input, change and deletion of data based on an authorization concept
Order control
  • ✓ Selection of the contractor with due diligence (especially regarding data security)
  • ✓ Written instructions to the contractor (e.g., by order processing contract)
  • ✓ Obligation of contractor employees regarding data confidentiality
Availability control
  • ✓ Create a backup & recovery concept
Separation control
  • ✓ Defining database rights
  • ✓ Separation of productive and test system
**Update:** Our terms and privacy policy are also compliant with the GDPR regulations that came into effect on May 25, 2018. The new regulations stipulate that if a company handles any data of private persons, and stores that data on someone else’s computer (i.e., a sub-processor, such as google drive, github, or backhub), the company must ensure that all sub-processors are GDPR-compliant by signing a Data Processing Agreement (DPA). We now provide a DPA that customers can download and sign.
BackHub runs on Amazon Web Services and the data is stored in the region EU Frankfurt (eu-central-1). GitHub runs their own data center so that your backups are stored in a different, independent location. In case one system fails, the other is still available.

Organizations

To create backups for your organization, you need to install BackHub on your GitHub organization account.

Follow the steps in the installation guide and make sure to choose your organization as the billing account.

Organization members with the permission level "Owners" can create, access and restore all backups of an organization. See permission levels for organizations on GitHub for more details.

Plans & Pricing

Yes, archived backups count against your quota. We recommend downloading the repository and metadata for long term storage of repositories you no longer work on.

Note: Restoring back to GitHub is only possible for backups inside BackHub.

Payments and billing schedule are governed by the GitHub Marketplace Terms of Service.

Marketplace purchases are billed in advance on a monthly or yearly basis respectively and are non-refundable. There are no refunds or credits for partial months of service, downgrade refunds, or refunds for months unused; however, the service will remain active for the length of the paid billing period.

Your payment schedule is determined by the payment schedule you chose for your GitHub account. You are automatically billed annually for our service when you choose annual billing for your GitHub account. See the GitHub Marketplace Terms of Service for further details.

Yes, we do offer the following Service Level Agreement for customers on an enterprise plan:

Availability

(1) In addition to § 8 IV, the Service Provider shall guarantee 99.9% availability of its services.

(2) Excluded from the aforementioned availability are failures for which the Service Provider is not responsible, as well as necessary maintenance work.

Support

(1) The support hotline is available to customers around the clock for backup and recovery tasks. A response time of 24 hours is guaranteed. A personal support employee is available to the customer.

(2) The response time defines the time between the receipt of a request and the first response to it. This reaction does not necessarily represent the solution or the answer to the question, but can include questions for further analysis. This further analysis can go beyond the agreed reaction time.

Contact options

The Service Provider can be contacted by email: support@backhub.co

Additional agreements

The customer can make individual agreements with the Service Provider regarding security assessments, order processing and general service agreements. Within the framework of the service level agreement, the compatibility of these additional agreements with the general terms and conditions of the Service Provider is checked and agreed upon if compatibility exists.

The Service Level Agreement is part of our terms of use.

Yes, we do offer enterprise plans starting at 140 USD/mo on a 1-year contract.

Enterprise plans cover everything that regular plans do. In addition, enterprise plans offer:

  • Premier customer support, including recovery and restore assistance
  • 99.9% availability
  • 24/7 Support with 24 hrs response time
  • Custom contracts (Client DPA, MSA, etc.)
  • Individual security assessment
  • Personal support contact

A detailed description can be found in the enterprise service level agreement.

Plans with more than 600 repository backups are not listed in the GitHub marketplace. Please contact us for Enterprise Pricing if you want to purchase a larger plan.

Note: We currently support up to 3000 repository backups for enterprises.

Sync to Amazon S3

No, you don’t need an Amazon S3 account to back up your repositories.

Backup sync to Amazaon S3 is optional. It is an additional copy to the cloud backup available for you at BackHub. Keeping an additional copy of your backups can be handy to:

  • easily access or download all repository backups and metadata at once
  • access your backups anytime, even if GitHub or BackHub were to be unavailable
  • extend the backup retention beyond the 30 days covered by backup snapshots
  • further process your data

We sync the files from our storage to your S3 bucket. We always sync from the current snapshot. The current snapshot contains all your data.

The number of the folder name is your installation ID. The subfolders are named after the unique repository ID. Each subfolder contains a file REPOSITORY_FULLNAME containing the repository name, along with JSON files, which contain the metadata.

The repository itself is in repository.git. It is a bare repository. Basically, it is the .git folder of a repository and contains all data, including all branches. It just doesn’t contain a working copy of any branch and that’s why you don’t see the files directly. You can clone from this repository to get a working copy with files. Follow the instructions here.

You can sync all your GitHub repository backups to Amazon S3 if you activate Cloud Sync. Backups are synced on a daily basis.

To set up Cloud Sync for Amazon S3:

  1. In BackHub, click on the menu item “Cloud Sync”
  2. Follow the 3 step instructions on the Cloud Sync Setup modal.

Account

To change your notification email address, please contact support. It is currently not possible to change the notification email through the user interface.

You can change your plan in the GitHub Marketplace.

To change your plan:

  1. Click “Edit your plan”.
  2. Choose the account’s plan you want to change. Edit GitHub Marketplace plan
  3. In the “Edit your plan” dialog choose another plan that suits your needs.
  4. Click on “Issue plan changes”. Change GitHub Marketplace plan

Note: If you have more backups in your account than your plan allows, backups that exceed the quota will be deactivated.

To cancel your account, first cancel your plan on GitHub Marketplace, then uninstall BackHub GitHub, and lastly revoke access as appropriate.

Note: When you cancel a plan, it stays active until the end of the current billing cycle.

Cancel your GitHub Marketplace plan

  1. Open GitHub Marketplace.
  2. Click “Edit your plan”.
  3. Choose the account’s plan to cancel. GitHub Marketplace edit plan
  4. In the “Edit your plan” dialog, click “Cancel this plan” and choose the plan to cancel. GitHub Marketplace plan cancellation Your canceled plan will stay active until the end of the current billing cycle.

Note: When your plan has expired, any existing backup in your account is deleted.

Uninstall the BackHub GitHub app

Next, uninstall the BackHub GitHub app.

Uninstall BackHub GitHub app

Note: When you uninstall the BackHub GitHub app, any existing backup in your account is deleted after 24 hrs.

Revoke access

If you have no other BackHub installations, you can now revoke access for your personal GitHub user. This user was the one needed to manage BackHub installations.

  1. Open the settings of your GitHub user.
  2. Click “Revoke” for BackHub. Revoke access for BackHub

To cancel your plan:

  1. Open your GitHub Marketplace.
  2. Click “Edit your plan”.
  3. Choose the account’s plan to cancel. GitHub Marketplace edit plan GitHub Marketplace plan cancellation

A canceled plan stays active until the end of the current billing cycle.

Note: When your plan has expired, any existing backup in your account is deleted.

You must have a paid subscription in order to receive free backups. Free backups are added to the quota of your subscription.

Note: Free private repository backups cannot be retroactively applied to an account.

Inviting users

In your BackHub account there is a unique invitation link to invite new users to BackHub.

For each new user who signs into BackHub for the first time with your invitation link, you receive 10 free repository backups as long as the new user (1) purchases a paid plan, and (2) the new account stays active for at least 1 month after the 14 day free trial.

Being invited

To receive 10 free private repository backups when signing up with an invitation link, the user must purchase a paid plan and have cookies activated when opening the invitation link. After opening the invitation they start installation from there.

When you reach the quota of your current plan, an email alert is sent to your notification email address. Additionally, an alert displays in the BackHub UI. See instructions in change your plan. If you have more backups in your account than your plan allows, backups that exceed the quota will be deactivated. To reactivate the backups, choose a larger plan.
We contact you at your notification email address for the following situations:
  • Scheduled maintenance
  • When the quota of your plan has been reached
  • When the quota of your plan is exceeded, and we cannot create backups for new repositories that you are adding to your account
  • When a backup continues to fail after all automatic retries
  • General support issues
  • Updates for terms of use, etc.