RunCloud’s Git Provider Integration connects your RunCloud dashboard directly to your cloud Git hosting providers (GitHub, GitLab, and Bitbucket) via secure OAuth authentication.
Once authenticated, RunCloud communicates directly with the Git provider’s API. When creating or configuring a web application, you can browse and search your repositories and branches in real time through interactive dropdowns. RunCloud automatically:
- Generates and provisions an isolated SSH Deploy Key inside your repository.
- Registers and activates a deployment Webhook on your Git provider.
- Enables push-to-deploy automation, pulling the latest commits and executing custom deployment scripts whenever you push code to your selected branch.
For teams managing private servers, self-hosted Git instances (e.g., Self-Hosted GitLab, Gitea, SourceHut), or alternative platforms like Azure DevOps, RunCloud continues to support Custom Git Servers via traditional SSH deployment keys and manual webhooks.
From Manual Deployment Keys to Automated OAuth
Deploying code to a server should be fast, reliable, and secure. The table below illustrates the key differences between the manual deployment process and the new Git Provider OAuth workflow:
| Feature & Workflow | Legacy Manual Deployment (Deployment Keys) | New Git Provider OAuth Workflow |
|---|---|---|
| Authentication Model | Manually copying and pasting server-generated SSH public keys into repository settings. | One-click OAuth authentication and connection for web applications deployed via Git. |
| Repository Selection | Manual entry of repository paths, such as username/repository-name, which can be prone to typos. | Dynamic, searchable dropdown listing all accessible repositories (personal and organizational). |
| Branch Selection | Manual entry of the branch name, such as main, master, or staging. | Dynamic dropdown populated directly from the Git provider API. |
| SSH Deploy Key Provisioning | Manual creation, naming, and permission configuration in GitHub, GitLab, or Bitbucket. | Fully automated, RunCloud generates and registers a scoped, read-only deploy key (RunCloud (<app-name>)). |
| Webhook Configuration | Manually copying and pasting webhook endpoint URLs, selecting application/json, and configuring push events. | Fully automated, RunCloud instantly creates and verifies the repository webhook payload. |
| Repository Switching & Updates | Complex manual key rotations and webhook updates across platforms. | One-click reconfiguration via Edit Git Repo in the RunCloud Web App settings. |
| Supported Platforms | Any Git server (GitHub, GitLab, Bitbucket, Azure DevOps, Custom Git, etc.). | GitHub, GitLab, and Bitbucket |
FAQs and Troubleshooting
Which Git providers support automated one-click OAuth integration?
RunCloud currently supports automated one-click OAuth integration for web applications deployed via Git with GitHub, GitLab, and Bitbucket. All other Git providers (including Self-Hosted GitLab, Azure DevOps, Gitea, and custom VPS remotes) are supported via the Custom Git Server deployment key workflow.
What permissions does the RunCloud GitHub App require?
The RunCloud GitHub App requests two primary permissions:
Read access to code and metadata: Enables RunCloud to list repositories and branches and clone code onto your server.
Read and write access to administration and repository hooks: Allows RunCloud to automatically register read-only Deploy Keys and configure push Webhooks for your repository.
Can I connect multiple GitHub or GitLab accounts to one RunCloud user?
Yes. You can connect multiple accounts and organizations under Settings > Integrations. When creating or updating a web application, the account dropdown lets you choose which account to deploy from.
How does Auto Deploy work?
When Auto Deploy is enabled, RunCloud registers a webhook with your Git provider. Whenever you push changes to the configured branch, the Git provider notifies RunCloud, which signals your server to pull the latest changes and execute your custom deployment script.
Why is my repository not appearing in the dropdown list?
This usually happens when the RunCloud GitHub App was installed with access limited to selected repositories. To fix this, go to GitHub > Settings > Applications > Installed GitHub Apps > RunCloud. Under Repository access, add the repository or switch to All repositories, then return to RunCloud and refresh the repository dropdown.