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 created automatically when you set access to “All repositories”. This action applies to all current and future repositories.

Backup 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.

Backup 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 backup only select repositories.

BackHub creates backups of all repositories it gets access to by default. If you want to backup only select repositories you can simply limit access to those repositories.

In the installation dialog, you choose whether to give access to all or to only select repositories. Choose “select repositories” and type in the names of the repositories to backup.

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 already 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. You can learn more about what you can restore here.

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. If you have inactive backups, you may need to either purchase a larger plan or limit access to select repositories. 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 has access to. To solve this issue, purchase a larger plan or limit access to select repositories for this installation for the maximum amount of your current plan.
There are many reasons why you should consider 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. Since there is no versioning for metadata, it is gone forever without a backup.
There are many other scenarios that could potentially lead to loss of data. We therefore strongly recommend to backup 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.
Backups are archived automatically when the connection to its original repository is lost. This happens when:
  • 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

Security

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 according to 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 incl. 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
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 don’t work on any longer.

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.

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.

Restore

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. Here are the contents of a GitHub repository backup.

Backup repository

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 you would like 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 not working any longer or to process the data for any other purpose.

Yes, with BackHub you can export a GitHub wiki. In fact, a GitHub wiki is 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.

1. 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

2. 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

3. 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 when you click 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. If GitHub is not available, you can neither restore nor access your backups. You can check the GitHub API status here.

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

First, download the wiki of your backup. Please open the panel of a 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

Next, 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 over 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.

1. 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

2. Initiate restore

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

3. 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 can't 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 in order to avoid email notifications when restoring. The information about the original assignee displays in the issue description.

Account

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.

1. 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”.
  5. 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.

2. 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.

3. 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 have cookies activated when opening the invitation link and start installation from there.

When you reach the quota of your current plan, 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.

Basic / GitHub Marketplace

Yes, you can continue using BackHub basic for the time being. However, we highly recommend using BackHub on GitHub Marketplace for various reasons.

Note: BackHub basic will be discontinued in late 2019.

Existing backups in BackHub basic can’t be transferred to BackHub on GitHub Marketplace.

For active backups you can simply create a new account with BackHub on GitHub Marketplace and cancel the old one in BackHub basic.

For inactive or archived backups of repositories that no longer exist in your GitHub account, first restore them. They will then be automatically backed up on BackHub on GitHub Marketplace.

For the time being, you can also keep the archived backups in BackHub basic with an ongoing account. However, we recommend using BackHub on GitHub Marketplace for various reasons.

Note: Backhub basic will be discontinued in late 2019.

“Old account” refers to any accounts created before the launch of BackHub on GitHub Marketplace on December 5th 2017. We refer to those as BackHub basic, which is an independently operating service built on a separate infrastructure.

Login to your account following this link, or use the login link in the footer of our homepage.

Note: Backhub basic will be discontinued in late 2019.

BackHub basic is the service we have developed and run since 2014. It will be discontinued in late 2019. BackHub on GitHub Marketplace is a new service, available since December 5th 2017 on GitHub Marketplace and built using the GitHub apps integration. Here are the main differences between the two: 1) BackHub on GitHub Marketplace creates snapshots of up to 30 days back in time, whereas BackHub basic can only create one backup that is updated on a daily basis. 2) BackHub on GitHub Marketplace is available through GitHub Marketplace, which means the service is billed on your GitHub invoice. There is no need for a separate billing account with BackHub. 3) BackHub basic is built as a GitHub OAuth application, whereas BackHub on GitHub Marketplace uses the GitHub apps integration. This has numerous benefits because of how BackHub works on an operational level. A few of these benefits are:
  • GitHub apps allow more fine-grained permissions that enable us to only request the permissions needed to create and restore backups.
  • GitHub apps get a dedicated token while an OAuth app must apply the user token. Creating backups through user tokens can cause problems, especially in the context of an organization. For example, when an organization admin has created the account but is no longer admin of that organization, backups cannot be updated.
There are many benefits to using BackHub on GitHub Marketplace as opposed to Backhub basic. Here are the most important benefits:
  • it can create snapshots for your backups up to 30 days back in time. That means you can rollback to a previous state of your backup.
  • you can pay for your plan with your GitHub account, which means no extra effort to set up another account and simple bookkeeping with a unified invoice.
  • it's faster and built on a more scalable infrastructure.
  • it has a simpler and cleaner UI.
  • it's built as a GitHub app with it's own token, and is therefore independent of the user installing it.