Add a Git account
You can connect a Git account to your team from the Integrations section in your team dashboard.
- In your team dashboard, click Integrations.
- Click Git.
- Click Link next to the Git service you want to connect.
- Follow the instructions for the Git service.
For GitHub, choose the user or organization account for the app installation. For Cursor Origin, choose the Cursor namespace and its repository access. For GitLab, Bitbucket, and Azure DevOps OAuth connections, Northflank connects the account you are signed in to.
Once connected, you can use repositories from the account to build and deploy services on Northflank.
Add a self-hosted VCS
You can connect a Git provider hosted on your own infrastructure.
You will need the following to get started:
- Permission to manage Git integrations in your Northflank team
- An HTTPS root URL, such as
https://git.example.com - Permission to create the provider's OAuth application or GitHub App
- Network access for Northflank to read the provider API and clone repositories
- Network access for the Git host to deliver webhooks to Northflank
Webhooks notify Northflank when repository events occur, so configured builds and workflows can run automatically.
- Open your team's Integrations → Git page.
- Select Add a self-hosted VCS.
- Enter a name for the integration.
- Enter your Git host's root URL under VCS provider URL.
Continue with your provider below. Once connected, you can build from your repositories and manage the integration.
Add a self-hosted GitLab instance
- Select GitLab Enterprise Edition or Community Edition in Northflank.
- Create an OAuth application on your GitLab host at
/-/user_settings/applications. Administrators can also use/admin/applications. - Give the application the
apiscope. - Enable its Confidential control.
- Set its redirect URI to the exact value shown in Northflank.
- Enter its Application ID and Secret in Northflank.
- Select Submit.
- Authorize Northflank with the GitLab account that can access your repositories.
See GitLab's OAuth application guide for more details.
Add Gitea or Forgejo
Gitea and Forgejo use the same connection flow. Northflank requests read and write access to repositories, including webhooks and commit statuses. The linked account needs repository owner or administrator access to manage webhooks.
Before authorizing access, review the permission behavior for Gitea or Forgejo .
- Select Gitea / Forgejo in Northflank.
- Create an OAuth2 application at
/user/settings/applicationson your Git host. - If the provider offers a client-type choice, select a confidential client.
- Set its redirect URI to the exact value shown in Northflank.
- Enter its OAuth client ID and OAuth client secret in Northflank.
- Select Submit.
- Authorize Northflank with the Git account that can access your repositories.
Add GitHub Enterprise Server
You need permission to create and install a GitHub App for the selected user or organization. App creation and repository installation are separate steps.
The app requests read and write permissions. Before approving installation, review the requested access on GitHub.
- Select GitHub Enterprise in Northflank.
- Choose User or Organisation under GitHub App location type.
- For Organisation, enter the organization name under Application namespace.
- Select Submit to start GitHub App creation.
- Complete app creation on your GitHub server.
- Return to your team's Integrations → Git page.
- On your self-hosted integration, select Link to start app installation on GitHub.
- Choose the repositories that the app can access.
- Complete the installation.
Self-hosted VCS settings
Open Integrations → Git in your team dashboard. Select the configuration button on your self-hosted provider.
To change the Git host address, edit VCS provider URL. Select Update self-hosted settings to save it.
For a verified integration, Edit application lets you replace its credentials. Changing Application ID requires the matching Client secret. Leave secret fields blank to keep their current values.
GitHub Enterprise also provides Webhook secret and PEM file, the GitHub App's private key.
- Select Edit application.
- Enter the changed credentials for your provider.
- Select Update self-hosted settings.
- If you changed the application ID or client secret, relink the affected Git accounts.
Troubleshoot a self-hosted connection
| Symptom | Action |
|---|---|
| OAuth authorization fails | Make sure that the redirect URI and application credentials match the values in Northflank. |
| GitHub App setup remains pending | Select Create GitHub App to resume setup. After creating the app, link the account to install it. |
| A repository is missing | Make sure that the linked account or app installation has access. Then refresh Connected repositories. |
| Automatic builds do not start | Inspect webhook delivery, repository permissions, and your build rules. |
For GitLab, Gitea, and Forgejo, the linked account page offers Repository webhooks controls to regenerate webhook tokens. GitHub Enterprise uses its GitHub App configuration instead.
Restrict repository access
You can restrict which repositories team members can access when connecting Git accounts to Northflank.
For GitHub and GitHub Enterprise Server, choose repository access when installing the GitHub App on a user or organization account.
For GitLab, self-hosted GitLab, and Bitbucket, you can restrict access to specific namespaces from the linked account's configuration in Northflank.
For Gitea and Forgejo, repository access follows the linked Git account's permissions. Northflank does not offer a namespace restriction control for these providers.
For Cursor Origin, choose all repositories or selected repositories during installation. Use Update installation to change access for the same Cursor namespace.