Skip to content

GitLab

Back up your GitLab repositories to your own cloud storage.

GitLab is a Git hosting and DevOps platform available as both a cloud service and self-hosted instance. SimpleBackups connects to GitLab using a personal access token to export your repositories on a schedule. This guide covers token creation, backup setup, and how to restore from a backup.

Create your GitLab access token

Go to the token management page

Navigate to your user settings by clicking on your profile picture in the top-right corner of the left navigation panel, then select Edit Profile.

GitLab user settings navigation

In the left-hand menu, click on Access Tokens. This takes you to the Access Tokens page.

Generate a new token

On the Access Tokens page, click Add New Token to open the token configuration window.

GitLab add new token

In the Token Name field, enter a descriptive name for your token. Under Select scopes, select read_api. Once configured, click Create personal access token to generate it.

Copy your token

GitLab displays the new access token on screen after generation. Copy it and store it in a safe place — you will not be able to retrieve it later.

GitLab copy token

Understanding backup errors: 401 vs 403

When performing GitLab backups, two error codes may appear, and they have different impacts on the backup process.

A 401 Unauthorized error means your authentication credentials (personal access token or API key) are invalid or missing. This error halts the entire backup because SimpleBackups cannot interact with the GitLab API without valid credentials.

Restore a GitLab backup

To restore a bare clone from a backup to a new GitLab repository:

  1. Create a new empty repository on GitLab. Do not initialize it with a README or .gitignore, as this can cause conflicts.
  2. On your local machine, navigate to the directory where your bare clone is stored.
  3. Push the bare clone to GitLab:
    bash
    cd /path/to/myrepo.git
    git remote add origin https://gitlab.com/username/new-repository-name.git
    git push --mirror origin
    The --mirror option ensures that all branches, tags, and refs are pushed exactly as they were in the bare repository.
  4. Verify the repository on GitLab by checking that all branches, tags, and commits have been restored.