--- id: ssh-config title: SSH Configuration for Git Repo Manager --- To configure a Git Manager with ToolJet using GitSync, you need the SSH URL from the Git Manager and then deploy the SSH key generated by ToolJet. You can use any Git Manager (cloud-based or self-hosted) that follows standard Git protocols. In this guide, we will cover the configuration for GitHub, GitLab, and Gitea. ## Generating SSH URL ### GitHub 1. **Create a New Repository**
Create a new repository on your GitHub. The repository can be public or private. You can also use an existing repository. Make sure that the repository is empty and the default branch name should be **master**. GitSync 2. **Obtain the SSH URL**
When a repository is created, GitHub shows a screen with the SSH URL. GitSync OR If you are using an existing repository, then you can obtain the URL by clicking on the **Code** button. GitSync ### GitLab 1. **Create a New Repository**
Create a new repository on your GitLab. The repository can be public or private. You can also use an existing repository. Make sure that the repository is empty and the default branch name should be **master**. GitSync 2. **Obtain the SSH URL**
On GitLab, you can obtain the URL by clicking on the **Clone** button and selecting the **SSH** option. GitSync ### Gitea 1. **Create a New Repository**
Create a new repository on your Gitea. You can also use an existing repository. Make sure that the repository is empty and the default branch name should be **master**. GitSync 2. **Obtain the SSH URL**
When a repository is created, Gitea shows a screen with the SSH URL. GitSync ## Deploy the SSH Key ### GitHub 1. Go to the **Settings** tab of the GitHub repository, and click on the **Deploy keys** tab. Click on the **Add deploy key** button. GitSync 2. Enter a title for the SSH key in the **Title** field. 3. Paste the SSH key generated from the ToolJet. 4. Make sure that the **Allow write access** checkbox is checked, especially when configuring the GitSync feature to [push changes to Git](/docs/development-lifecycle/gitsync/push). However, it is not mandatory to check this option when setting up the GitSync feature for [pulling changes from Git](/docs/development-lifecycle/gitsync/pull). 5. Finally, click on the **Add key** button. GitSync ### GitLab You have two options for adding the SSH key to GitLab, you can either add it globally to access all your repositories or deploy it for a specific repository. #### Option 1: Add as a User-Wide SSH Key Use this option for access to all your repositories. 1. Click on your avatar in the top-left corner and select **Edit Profile**. 2. Navigate to the **SSH Keys** tab and click the **Add new key** button. GitLab SSH Key 3. In the **Key** field, paste the SSH key you generated from the ToolJet. 4. Give your key a descriptive title. 5. Set **Usage type** to **Authentication & signing**. 6. Optionally, set an expiration date. 7. Click **Add key** to save. GitLab SSH Key #### Option 2: Add as a Deploy Key Use this option for access to a specific repository only. 1. Navigate to the repository you want to add the key to. 2. Click on the **Settings** tab and select **Repository**. 3. Once you are in the **Repository Settings**, expand the **Deploy Keys** section. 4. Click on the **Add new deploy key** button. 5. Give your key a descriptive title. 6. In the **Key** field, paste the SSH key you generated in ToolJet's Configure Git tab during the previous step. 7. Enable the **Grant write permissions to this key** checkbox. We need this permission to push changes to the repository. 8. Click **Add key** to save. GitLab Deploy Key ### Gitea 1. Go to the **Settings** tab of the Gitea repository, and click on the **Deploy keys** tab. Click on the **Add deploy key** button. GitSync 2. Enter a title for the SSH key in the **Title** field. 3. Paste the SSH key generated from the ToolJet. 4. Make sure that the **Allow write access** checkbox is checked, especially when configuring the GitSync feature to [push changes to Git](/docs/development-lifecycle/gitsync/push). However, it is not mandatory to check this option when setting up the GitSync feature for [pulling changes from Git](/docs/development-lifecycle/gitsync/pull). 5. Finally, click on the **Add Deploy key** button. GitSync