> ## Documentation Index
> Fetch the complete documentation index at: https://docs.synq.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Other Git Providers

> Add deploy keys to self-hosted and other SSH-based Git providers

## Overview

This guide covers how to add the generated public SSH key to self-hosted and other SSH-based Git providers, including:

* **Self-hosted Git** (Gitea, Gogs, GitBucket, etc.)
* **Any other SSH-based Git provider**

<Note>
  For GitHub, GitLab, Bitbucket, and Azure DevOps, see their dedicated setup guides:

  * [GitHub Integration](/code-integrations/github)
  * [GitLab Integration](/code-integrations/gitlab)
  * [Bitbucket Integration](/code-integrations/bitbucket)
  * [Azure DevOps Integration](/code-integrations/azure-devops)
</Note>

<Info>
  **Before you start:** Create your Git integration first by following the [integration form instructions](/code-integrations/overview#configuring-the-integration). You'll need the public SSH key from that integration.
</Info>

## Prerequisites

* Admin or appropriate access to configure SSH keys/deploy keys
* Public SSH key from your Git integration
* Git provider accessible over the internet via SSH

<Note>
  ⏱️ **Estimated time:** 10-15 minutes
</Note>

## Adding SSH Keys to Self-Hosted Git

The process for adding SSH keys to self-hosted Git instances varies by software, but generally follows this pattern:

### General Setup Steps

1. Navigate to your **repository settings** in your Git interface
2. Look for one of these sections:
   * **Deploy Keys** (most common)
   * **Access Keys**
   * **SSH Keys**
3. Click **Add key** or similar button
4. Configure the key:
   * **Title/Name:** Enter a descriptive name (e.g., `Coalesce Quality Integration`)
   * **Key:** Paste the complete public SSH key from your integration
   * **Permissions:** Select **Read-only** or equivalent
5. Save the key

<Warning>
  Always configure the key with **read-only permissions**. Coalesce Quality never needs write access to your repository.
</Warning>

### Common Self-Hosted Git Platforms

<Accordion title="Gitea">
  1. Go to your repository in Gitea
  2. Click **Settings** > **Deploy Keys**
  3. Add the title and paste the public key
  4. **Do not** check "Grant Write Access"
  5. Click **Add Deploy Key**

  For more details, see the [Gitea Documentation](https://docs.gitea.com/).
</Accordion>

<Accordion title="Gogs">
  1. Navigate to your repository
  2. Go to **Settings** > **Deploy Keys**
  3. Enter a key name and paste the public key
  4. Click **Add Deploy Key**

  [Gogs Deploy Keys Documentation](https://gogs.io/)
</Accordion>

<Accordion title="GitBucket">
  1. Open your repository settings
  2. Navigate to **Deploy Keys**
  3. Add the title and public key
  4. Set permission to **Read Only**
  5. Click **Add**

  [GitBucket Documentation](https://github.com/gitbucket/gitbucket)
</Accordion>

<Accordion title="Other Git Software">
  For other self-hosted Git software:

  1. Consult your Git software's documentation for SSH key or deploy key configuration
  2. Look for repository-level SSH key settings (preferred over user-level keys)
  3. Ensure the key is configured with read-only access
  4. Test the connection after adding the key

  Most Git software follows similar patterns to the examples above.
</Accordion>

### Requirements for Self-Hosted Git

Ensure your self-hosted Git instance meets these requirements:

* **Internet accessible:** Must be reachable from the Coalesce Quality IP addresses
* **SSH enabled:** SSH protocol must be enabled (typically port 22)
* **Firewall configured:** Allow connections from the Coalesce Quality egress IPs
* **Valid SSL certificate:** If using HTTPS for the web interface

## IP Whitelisting (If Required)

If your Git provider uses IP whitelisting, add the Coalesce Quality egress IP addresses for your region. For self-hosted Git instances, configure your firewall to allow connections from these IP addresses.

See [IP Whitelist](/security/ip) for the complete list.

## Troubleshooting

### Deploy key/SSH key not working

* Verify the **complete public key** was copied (including the `ssh-rsa` or `ssh-ed25519` prefix)
* Ensure the key was added to the **correct repository or account**
* Confirm the key has **read-only permissions**

### Connection refused

* Check that **IP whitelisting** (if configured) includes the Coalesce Quality egress IPs
* Verify the repository **SSH URL** is correct in the integration form
* For **self-hosted Git**, ensure the instance is accessible from the Coalesce Quality IP addresses

### Self-hosted Git issues

* Confirm your Git instance is accessible over the **internet**
* Verify **firewall rules** allow connections from the Coalesce Quality IPs
* Check that **SSH is enabled** and listening on the expected port (usually 22)
* Test SSH connectivity: `ssh -T git@your-hostname.com`

## Additional Resources

* [IP Whitelist](/security/ip)
* [Back to Integration Overview](/code-integrations/overview)
* [GitHub Integration Guide](/code-integrations/github)
* [GitLab Integration Guide](/code-integrations/gitlab)

## Need Help?

If you're having trouble connecting your Git provider, [contact support](/support/support) with:

* Your Git provider type (Bitbucket, Azure DevOps, self-hosted, etc.)
* The SSH URL format you're using
* Any error messages from the connection attempt
