GitLab.com Backup Strategy?

I’m new to GitLab via gitlab.com and am wondering two things:

  1. What is GitLab’s snapshot/backup practice for gitlab.com?
  2. How can I most easily generate full backups of all projects along with any wikis, issues, etc.?

For #2, I assume I’ll tie something to cron from a separate web server that can rotate archives in a remote location. I’m only wondering about the best way to generate backup archives, like the rake backup scheme but for gitlab.com.

Is this a super dumb question? I know I’m currently one of the free tier jerks, but I suspect others are considering backup schemes for gitlab.com accounts…

:grin:

jokes aside, that’s not a dumb question at all. It’s just that GitLab admins do not lurk in the forum.
Reading https://about.gitlab.com/2015/03/09/moving-all-your-data/ you can see among others that

We do file-based backups every week where we take a block device snapshot, mount the snapshot and send it across with Rsync.

Also read Sytse’s answer https://about.gitlab.com/2015/03/09/moving-all-your-data/#comment-1902024358

Maybe @jacobvosmaer cah shed more light.

Thanks again, @axil!

I’m happy with “there is one” as a backup policy, since I can’t really demand anything for free. Repositories are obviously easy to replicate for backup, I’m just wondering if/how others deal with wikis and issues and all that. The CE backup seems like a lovely thing, but that it naturally needs to be run along with a CE install.

I found this thread via a Google search for gitlab.com” backup and then later discovered a pretty simple way to generate a backup/archive of a project.

Use the “Export project” feature from your project’s “General” settings; from the info for that feature on the relevant settings page:

The following items will be exported:

  • Project and wiki repositories
  • Project uploads
  • Project configuration including web hooks and services
  • Issues with comments, merge requests with diffs and comments, labels, milestones, snippets, and other project entities
  • LFS objects

The following items will NOT be exported:

  • Job traces and artifacts
  • Container registry images
  • CI variables
  • Any encrypted tokens

The export project feature is also available via the GitLab API (so you can automate backing-up your projects):

1 Like

Aha, this is great! Thanks for posting Kenny, I had no idea you could export projects via API.