Importing from Self-Hosted GitLab

Prerequisites

  • Access to a self-hosted GitLab instance (version 14.0 or later recommended)
  • Admin access to that GitLab instance to register an OAuth application or a Personal Access Token for your account

Option A — OAuth (Recommended)

Step 1 — Register an OAuth App on Your GitLab Instance

  1. On your self-hosted GitLab, go to User Settings → Applications (or Admin Area → Applications for an instance-wide app)
  2. Fill in:
    • Name: GitBlixt
    • Redirect URI: https://git.yourdomain.com/oauth/gitlab_self_hosted/callback
    • Scopes: read_user, read_api, read_repository
  3. Save and copy the Application ID and Secret
  4. Set these on your GitBlixt instance:
    GITLAB_SH_CLIENT_ID=your-application-id
    GITLAB_SH_CLIENT_SECRET=your-secret
    Restart the container.

Step 2 — Connect

  1. Go to Dashboard → Import Repository
  2. Select Self-Hosted GitLab
  3. Enter your GitLab instance URL (e.g. gitlab.yourcompany.com)
  4. Click Connect — you'll be redirected to your GitLab instance to authorize
  5. After authorizing, your projects will be listed

Step 3 — Import

Select your projects and click Import Selected. Progress is shown in real time.

Option B — Personal Access Token

If you can't register an OAuth application, you can import using a Personal Access Token.

  1. On your self-hosted GitLab, go to User Settings → Access Tokens
  2. Create a token with the following scopes: read_user, read_api, read_repository
  3. Copy the token
  4. In GitBlixt, go to Import → Self-Hosted GitLab → Use token instead
  5. Enter your GitLab instance URL and paste your token

Network Accessibility

GitBlixt needs to be able to reach your self-hosted GitLab instance over HTTP/HTTPS to clone repositories and call its API. If your GitLab is on a private network, make sure your GitBlixt server can reach it (VPN, peering, etc.).

Self-Signed Certificates

If your self-hosted GitLab uses a self-signed certificate, you'll need to add that certificate to GitBlixt's trust store. Contact your administrator or see the Troubleshooting page.