In this guide we will show you how you can enable the Github integration on your on self-hosted Lightdash server.

Create a new Github app

Go to app settings in Github, either organization or account developer settings and click New Github App Github Create App Pn Settings:
  1. Set the app name: must be unique across Github
  2. Add a description
  3. Homepage URL: e.g. https://lightdash.com
  4. Callback URL: https://<your-domain>/api/v1/github/oauth/callback
  5. Enable Expire user authorization tokens
  6. Enable Request user authorization (OAuth) during installation Github Oauth Refresh Token Pn
  7. Deactivate webhooks Github Deactivate Webhooks Pn
Repository Permissions:
  • Checks: Read and write
  • Contents: Read and write
  • Pull requests: Read and write
  • Workflows (optional): Read and write
Account Permissions: None Where can this GitHub App be installed? Any account

Generate Certificate and Secret

After creating your Github account you will need to generate a Client Secret. Copy it and keep it safe, this will get used for the GITHUB_CLIENT_SECRET environment variable. Github Generate Client Secret Pn And a Private Key. Convert the contents of the private key file into base64 , this will get used for the GITHUB_PRIVATE_KEY environment variable. Github Generate Private Key Pn
You should save both the Client Secret and the Private Key in a safe place as you might need them at a later time.

Adding credentials to your local environment

Now you need to add the following environment variables to your Lightdash server.
  • GITHUB_PRIVATE_KEY : This is the base64 string of the Private Key generated for your Github app
  • GITHUB_CLIENT_SECRET : This is the client secret generated for your Github app
  • GITHUB_CLIENT_ID: Copy this from your Github app settings > General
  • GITHUB_APP_ID: Copy this from your Github app settings > General
  • GITHUB_APP_NAME: This is the name you set for your app, you can find it in app settings.