This guide walks you through the step-by-step process of connecting your GitHub, GitLab, and Bitbucket accounts to RunCloud using OAuth integrations for seamless repository management and automated deployments.

Accessing Integrations in RunCloud

Git provider connections are managed centrally at the account or workspace level. To access your integration settings:

  1. Log in to the RunCloud Dashboard and navigate to Settings in the left sidebar.
  2. In the Settings menu, click the Integrations submenu to view all available provider connections.
  3. Select the Git provider you want to connect to your RunCloud account.
RunCloud Integrations tab

Connecting a GitHub Account

RunCloud integrates with GitHub via the official RunCloud GitHub App. This allows you to easily manage permissions and limit the repositories that RunCloud can access. Follow the steps below to integrate GitHub with RunCloud:

  1. Go to Settings > Integrations > All Integrations and locate the GitHub card under the Git Provider section.
  2. Click the Connect button on the GitHub card.
  3. This will open a confirmation modal. Click Connect GitHub Account to start the integration process. 
Github integration in RunCloud
  1. Sign in to GitHub (if not already logged in). You will be redirected to GitHub’s authorization and installation portal.
  2. Select the personal GitHub account or organization where you want to install the RunCloud GitHub App.
Github authorization screen
  1. After that, you need to configure the list of repositories that RunCloud can access. You have two options here:

    • All repositories: This option grants RunCloud access to all current and future public and private repositories owned by the selected user/organization.

    • Only select repositories: Restricts RunCloud access to specific repositories you choose from a dropdown list.

Connecting RunCloud app to Github account

RunCloud requests the following two permissions for your GitHub account:

  • Read access to code and metadata (required to fetch repository files, commits, and branches).

  • Read and write access to administration and repository hooks (required to automatically create Deploy Keys and configure Webhooks).

Note: You can modify repository access or revoke these permissions at any time directly through your GitHub account settings.

  1. After configuring the list of repositories, click Install & Authorize. GitHub will redirect you back to the RunCloud dashboard, and you will be able to see your newly connected account under the “Your Integrations” tab.

You can connect multiple accounts across different Git providers or multiple organizations under a single provider (e.g., a personal GitHub account, a company GitHub organization, and a client GitLab workspace) by repeating the steps above for each account. When deploying a web application, RunCloud provides an Account dropdown menu to let you select the appropriate provider identity.

Connecting a GitLab Account

Connecting your GitLab account to RunCloud is quick and easy. Follow the steps below to grant RunCloud the necessary permissions to manage your repositories and deployments seamlessly: 

  1. Navigate to Settings > Integrations > All Integrations and search for the GitLab card.
  2. Click the Connect button on the GitLab card to open a new modal. 
  3. In the modal, click Connect GitLab Account.
GitLab Integration for RunCloud
  1. You will be redirected to GitLab. If prompted, log in with your GitLab credentials.
  2. Review the requested OAuth permissions and click Authorize to complete the integration setup.

Connecting a Bitbucket Account

RunCloud integrates directly with Bitbucket Cloud (Atlassian) using OAuth authentication. Follow the steps below to connect your account:

  1. In Settings > Integrations > All Integrations, locate the Bitbucket card and click Connect.
  2. This will open a new modal. In this modal, click Connect Bitbucket Account. You will be redirected to Atlassian / Bitbucket.
Bitbucket integration for RunCloud
  1. Review the requested scopes (Account read, Repositories read/write, Webhooks read/write) and click Grant Access.
  2. Once the integration is complete, you will be redirected back to the RunCloud dashboard where you can see your active connections under the “Your Integrations” tab.

Connecting to Custom Git Servers & Generic Third-Party Git Providers 

If you use a self-hosted Git server or a third-party Git provider that isn’t listed above, you can connect your repositories using the Deployment Key. For step-by-step instructions, refer to our detailed guides:

Managing Connected Integrations

To review all active provider connections, navigate to Settings > Integrations > Your Integrations. The details table contains the following columns:

View existing integrations in RunCloud

Modifying Repository Scopes (GitHub)

If you initially set up GitHub using the “Only select repositories” scope and need to grant access to a newly created repository, follow these steps:

  1. In your GitHub account, navigate to Settings > Applications > Installed GitHub Apps.
  2. Click Configure next to the RunCloud Git Deployment.
Configure integrations in GitHub dashboard
  1. Under Repository Access, add the new repository to the list and click Save.
  2. The newly selected repository will immediately become available in RunCloud’s repository selection dropdown.

Disconnecting / Revoking Integrations

Follow the steps below to disconnect a Git provider integration from your RunCloud account:

  1. Log in to your RunCloud account and navigate to Settings > Integrations > Your Integrations and locate the provider connection you wish to remove.
  2. Click the “” button next to the Git provider and select the Delete option from the menu.
Deleting Integration in RunCloud
  1. This will open a confirmation box. Once you click Delete, RunCloud will securely remove the stored OAuth credentials from your RunCloud account.
  2. After the credentials are deleted, existing web applications deployed on your server will remain unaffected, but automatic repository browsing and webhook triggers will be paused until the integration is reconnected.

If you have any other questions or need help, please feel free to get in touch with our 24/7 support team. We’re here to help!