> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# GitHub Synchronisation

<Info>
  This feature is developed by [ayaka-notes/ayakaleaf-pro](https://github.com/ayaka-notes/ayakaleaf-pro), modified by [yu-i-i/overleaf-cep](https://github.com/yu-i-i/overleaf-cep). It is introduced from v6.2.0 and later. It's still in beta status. We need your feedback if you have any problem.
</Info>

<Columns cols={2}>
  <Column>
    <Frame>
      <img src="https://mintcdn.com/ayakaleaf-pro/x9kfDjtWlyyhG_mR/images/on-premises/image-35.png?fit=max&auto=format&n=x9kfDjtWlyyhG_mR&q=85&s=e901d54b071a78ae8de0efbb66fb000a" alt="" width="2738" height="1568" data-path="images/on-premises/image-35.png" />
    </Frame>

    <Frame>
      <img src="https://mintcdn.com/ayakaleaf-pro/x9kfDjtWlyyhG_mR/images/on-premises/image-38.png?fit=max&auto=format&n=x9kfDjtWlyyhG_mR&q=85&s=90e4cb5dcaa49bd81983dcb8c770056c" alt="" width="2988" height="1980" data-path="images/on-premises/image-38.png" />
    </Frame>
  </Column>

  <Column>
    <Frame>
      <img src="https://mintcdn.com/ayakaleaf-pro/x9kfDjtWlyyhG_mR/images/on-premises/image-34.png?fit=max&auto=format&n=x9kfDjtWlyyhG_mR&q=85&s=aa73e00b277a4d01a5339c8a6f91a189" alt="" width="2738" height="1568" data-path="images/on-premises/image-34.png" />
    </Frame>

    <Frame>
      <img src="https://mintcdn.com/ayakaleaf-pro/x9kfDjtWlyyhG_mR/images/on-premises/image-39.png?fit=max&auto=format&n=x9kfDjtWlyyhG_mR&q=85&s=26d47eb61da2e7acfab8f5951e3cd67e" alt="" width="2988" height="1980" data-path="images/on-premises/image-39.png" />
    </Frame>
  </Column>
</Columns>

### Setup GitHub Synchronisation

<Warning>
  You need to enable [git-bridge](/on-premises/configuration/overleaf-toolkit/git-integration) first before using GitHub Synchronisation.

  ```dotenv title="config/overleaf.rc" theme={null}
  GIT_BRIDGE_ENABLED=true
  ```
</Warning>

Visit [developers settings](https://github.com/settings/developers) to create your GitHub OAuth application, and copy your `CLIENT_ID` and `SECRET`.

**Notes**: your OAuth callback URL is: `${OVERLEAF_SITE_URL}/user/github-sync/oauth2/callback`.

Then, add the following settings to your overleaf env var files.

```dotenv title="config/variables.env" wrap theme={null}
# used to encrypt the user's GitHub access token.
# How to generate: `openssl rand -hex 32`
GITHUB_TOKEN_CIPHER_PASSWORD=0123456789ABCDEFG # changed to yours

# Github Sync Settings
GITHUB_SYNC_ENABLED=true
GITHUB_SYNC_CLIENT_ID=
GITHUB_SYNC_CLIENT_SECRET=

# OAuth callback is: ${OVERLEAF_SITE_URL}/user/github-sync/oauth2/callback
# (Optional) GITHUB_SYNC_PROXY_URL=http://10.0.0.1:10808
```

<Warning>
  Before configuring the GitHub OAuth callback URL, make sure `OVERLEAF_SITE_URL` is set correctly.
</Warning>

If you are located in mainland China, you may need to configure a proxy to access GitHub. Set the following environment variable: `GITHUB_SYNC_PROXY_URL=http://10.0.0.1:10808`.

<Warning>
  Do not use `127.0.0.1` for proxy host. If the proxy is running on host server, use the server’s LAN IP (like `192.168.1.xx`) address and make sure the proxy is configured to accept connections from devices on the local network.
</Warning>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.