If you don't want to use the GitHub App, you can run Kodiak on your own infrastructure.
We recommend watching the Kodiak repo for releases, so that you can get bug fixes and avoid issues with GitHub API changes.
These instructions describe setting up Kodiak on Heroku using a Docker container, but you should be able to adapt this for other container platforms.
More information on creating a GitHub app can be found at: https://developer.github.com/apps/building-github-apps/creating-a-github-app/
The necessary event subscriptions are:
event name check run pull request pull request review pull request review comment push status
- For the homepage URL any link should work.
- A GitHub App secret is required for Kodiak to run.
- Download your private key for later and copy your GitHub app ID and secret key for later.
- Use your Heroku app hostname for the webhook URL with
/api/github/hookappended. Something like
Setup container on Heroku
Kodiak depends on Redis v5 for persistence.
a unique name for the heroku app export APP_NAME='kodiak-prod' create app with container stack heroku apps:create $APP_NAME heroku stack:set container -a $APP_NAME login to registry heroku container:login download latest release from docker hub and tag for push to heroku docker pull cdignam/kodiak docker tag cdignam/kodiak registry.heroku.com/$APP_NAME/web push tagged image to Heroku docker push registry.heroku.com/$APP_NAME/web create gihub app at https://developer.github.com/apps/building-github-apps/creating-a-github-app/ The APP_ID and PRIVATE_KEY are needed to run the app. You must also set a SECRET_KEY to pass to the app. configure app environment (this can also be done through the Heroku web ui) heroku config:set -a $APP_NAME GITHUB_APP_ID='<GH_APP_ID>' SECRET_KEY='<GH_APP_SECRET>' GITHUB_PRIVATE_KEY="$(cat github_private_key.pem)" GITHUB_APP_NAME='<GH_APP_NAME>' Redis v5 is required and provided by RedisCloud heroku addons:create -a $APP_NAME rediscloud:30 --wait release app heroku container:release web -a $APP_NAME