Before you start
- A GitHub account and the repo you want to deploy. Repos you own, collaborate on or have access to as an organization member are listed.
- A server added to Kule with Dokploy installed
- GitHub is only needed for this path. You don’t need to connect it to deploy a folder on your computer or a ready-made app.
1Start the connection
You can connect GitHub from two places: the Bağlantılar (Connections) section in Ayarlar (Settings), or the GitHub’daki bir proje (A project on GitHub) option when you start a new deploy. Both open the same flow.
Kule shows a short code on screen and opens the github.com/login/device page in your browser. Type the code there and approve the permission. Kule notices the approval on its own; you don’t need to come back and click anything.
2Requested permissions
On the approval screen, Kule asks for two permissions: repo and read:user. read:user is for seeing who you are. repo is needed to read your private repos and to add a deploy key and a webhook to a repo.
GitHub’s OAuth apps have no read-only permission for private repos. The narrowest permission that can add a deploy key and a webhook is repo. The deploy key added to your repo, on the other hand, is read-only.
3Choose the repo
Once connected, your repos are listed by their last push date; archived repos aren’t shown. Select one or more repos and click İncele (Review).
Kule doesn’t clone the repo. It reads the file tree and a few files through GitHub’s API, works out what the project is and shows the deploy plan. The deploy is made from the repo’s default branch.
4Deploy and automatic updates
When you approve the plan, Kule generates a key pair for each repo. The public half is added to the repo as a read-only deploy key; the private half goes to Dokploy, which pulls the code with it. Then a webhook is added to the repo: on every push, GitHub notifies Dokploy on your server, and the app is deployed again.
You can see both in the repo’s GitHub settings: an entry like Kule · aktar under Deploy keys, and a push webhook pointing to your server’s address under Webhooks.
5Removing the connection
When you remove the GitHub connection in Ayarlar, the token is deleted from the Keychain. Live apps keep running, and deploys on push continue too, because the deploy key and the webhook stay in the repo.
If you want to remove those as well, delete the deploy key and the webhook from the repo’s settings. To fully revoke the permission on GitHub’s side, you can remove Kule from the list of authorized OAuth apps in your GitHub account settings.