Introduction
Laravel Cloud deploys from GitHub, GitLab, and Bitbucket. If your organization runs its own GitLab instance, Private Cloud can deploy from that instance as well. You connect the two by registering Laravel Cloud as an OAuth application inside your GitLab instance, then giving Cloud the resulting credentials. Cloud uses them to read your repositories and receive push events, deploying your applications just as it does for GitLab.com. The connection belongs to your Cloud organization, so you configure it once and everyone in the organization can import repositories from your instance.Self-hosted GitLab is only available with Private Cloud. If you do not see Self-hosted GitLab under your organization’s integrations, contact us.
Requirements
Before you begin, make sure the following are in place:- You have administrator access to your GitLab instance. You need it to register an instance-wide application.
- Cloud can reach your GitLab instance over HTTPS to read repositories and complete the OAuth flow.
- Your GitLab instance can reach Cloud to deliver push events. If your instance sits behind a firewall, allow outbound traffic to Cloud.
- Your GitLab instance is running v16.4 or later.
Connecting your instance
You will switch between Cloud and GitLab during setup, so keep the Cloud dialog open while you create the application in GitLab.1
Open the integration in Cloud
Navigate to Settings > Integrations > Self-hosted GitLab and click Connect GitLab instance. A dialog appears with a callback URL. Copy it.
2
Create an application in GitLab
In your GitLab instance, open Admin from the menu in the top right, then select Applications in the sidebar and click Add new application.
3
Configure the application
Give the application any name you like, such as “Laravel Cloud”, and paste the callback URL you copied into the Redirect URI field. Then configure the following settings:
- Confidential: checked
- Device authorization grant: checked
- Scopes:
api
4
Finish the connection in Cloud
Return to the dialog in Cloud and enter the URL of your GitLab instance, the application ID, and the secret. Click Connect.

