For the complete documentation index, see llms.txt. This page is also available as Markdown.

Restoring a Backup

Step-by-step guide to restoring your Cloudback backups to GitHub, Azure DevOps, Linear, or GitLab, including cross-platform restore between GitHub and GitLab.

Cloudback allows you to restore your backups to any supported platform. You can also perform cross-platform restores between GitHub and GitLab.

All restore operations - whether for a single item or multiple items - use the same Restore Wizard. The only difference is how you trigger it and how many items are selected. For restoring multiple items at once, see Bulk Restore.

Platform-Specific Restore Guides

For detailed information about what gets restored, platform-specific requirements, and entity mapping for each platform, see:

Initiating a Restore

There are two ways to start the Restore Wizard:

From the Repository Details Page

Open the Cloudback Dashboard and navigate to the repository/workspace details page. Open the Backups tab, find the backup you want to restore, and click the Restore icon:

Restore a backup from backups list

From the Dashboard Toolbar

On the Cloudback Dashboard, select one or more items using the checkboxes, then click the Restore button in the toolbar. Selecting a single item starts a single restore; selecting multiple items starts a Bulk Restore:

Restore a backup from dashboard

Restore Permissions

Backups require only read access, but restores need write access. Cloudback uses separate integrations for backup and restore, following the principle of least privilege. Write permissions are requested only when you initiate a restore:

The Cloudback Backup Application has read-only access. For restores, you need to install the separate Cloudback Restore Application which has read and write access. You can uninstall it after the restore is complete. See GitHub: Restoring Data for details.

If this is your first time restoring to an organization, you will be prompted to grant Cloudback write access via a separate OAuth authorization. You can revoke access after the restore is complete. See Azure DevOps: Restoring Data for details.

Linear restore requires a separate OAuth authorization with write permissions (scopes: read, write, issues:create, comments:create, initiative:write). A popup guides you through authorization when you initiate the restore.

Important: The target Linear workspace must be empty before restore can proceed - no projects, no custom views, no more than one team, and no labels. Create a new workspace at linear.app/join before starting the restore. See Linear: Restoring Data for details.

GitLab restore requires a separate OAuth authorization with api scope (full read-write access). You will be prompted to authorize when you initiate the restore. See GitLab: Restoring Data for details.

Encrypted Backups

If a backup is protected by an RSA Lockbox encryption key, the Restore Wizard includes an additional step that prompts you to paste your RSA private key. Cloudback decrypts the archive password in memory and discards your private key immediately.

For bulk restores with multiple encryption providers, the wizard asks for each provider's private key once.

Backups using the built-in Secure Random Key provider do not require extra input during restore.

Restore Wizard

The Restore Wizard guides you through the same steps regardless of whether you're restoring one item or many. The number of steps depends on whether you're restoring within the same platform or across platforms.

Azure DevOps and Linear Restore

The restore wizard has 3 steps:

  1. Select source: Choose the backup(s) you want to restore.

  2. Select target: Choose where to restore.

  3. Restoring: Monitor the restoration progress.

GitHub and GitLab Restore

GitHub and GitLab restores always include a platform selection step, enabling cross-platform restore between the two. The restore wizard has 4 steps:

  1. Select source: Choose the backup(s) you want to restore.

  2. Select platform: Choose the target platform (GitHub or GitLab).

  3. Select target: Choose the target account/namespace.

  4. Restoring: Monitor the restoration progress.

For details on cross-platform data conversion, see Cross-Platform Restore.

Step 1: Select Source

Choose the backup you want to restore from the list of available backups. For bulk restores, you can change the backup snapshot for each item using the dropdown. Click Next:

Select a backup

Step 2: Select Target

Choose where to restore the backup:

Enter the target GitHub account name and click Start Restore. The repository name and visibility are carried over from the backup automatically.

Enter the target organization name and project name, then click Start Restore.

Note: A new repository will be created in the target project. You cannot restore to an existing repository.

Follow the guided steps to authorize the Cloudback Restore app in the target workspace via OAuth. Cloudback verifies the workspace is empty before proceeding. If the workspace has existing data, you will need to create a new empty workspace first. There is no manual team selection - Cloudback uses the workspace's existing team automatically.

Select the target namespace (personal account or group) by clicking on it from the list of connected GitLab accounts. The project name is carried over from the backup automatically.

Select repository for restore

Step 3: Restoring

The restore process starts and you can monitor the progress. You can wait for completion or return to the dashboard - the restore continues in the background. Once complete, you will see a notification with the restore status.

The restoration includes source code (via git push --mirror), branches, tags, and backed-up metadata: issues (with issue types and sub-issues), issue comments, milestones, labels, collaborators, commit comments, unmerged pull requests, projects (legacy and ProjectV2), releases (with assets), webhooks, and repository settings (description, homepage, merge methods, topics).

Note: Merged pull requests are skipped during restore. Wiki pages are not restored.

The restoration includes source code (via git push --mirror), pull requests with review threads and comments, labels, and attachments. See Azure DevOps: Restoring Data for details and limitations.

The restoration includes teams, labels, projects (with milestones and external links), cycles, initiatives, issues (with parent-child hierarchy), comments (with threading), documents, attachments, custom views, templates, issue relations, project/initiative updates, and embedded files (re-uploaded with URL rewriting). See Linear: Restoring Data for the full entity list and restore order.

The restoration includes the Git repository (via git push --mirror), project settings, labels, milestones, issues (with time tracking), issue comments, issue links, merge requests, MR comments, and boards. See GitLab: Restoring Data for details.

Viewing the Restored Repository

Once complete, view the restored repository by opening the repository details page, clicking the Restores tab, and clicking the repository link:

Open restored repository from restores list

Learn More

Last updated

Was this helpful?