···11+---
22+title: Gitea Setup
33+description: Connect Kaneo to a Gitea instance (issues, pull requests, webhooks).
44+---
55+66+## Overview
77+88+The Gitea integration links a Kaneo project to a repository on your Gitea instance. Tasks sync with issues, and webhooks keep Kaneo updated when issues, pull requests, or pushes change.
99+1010+You need:
1111+1212+- **Gitea base URL**: e.g. `https://git.example.com`.
1313+- **Personal access token** with permission to read/write issues and repository contents for the target repo.
1414+- **Repository owner and name**: same as in the Gitea UI.
1515+1616+## Personal access token
1717+1818+1. In Gitea, open **Settings → Applications → Generate New Token** (paths may vary slightly by version).
1919+2. Enable scopes for **repository** and **issues** (write access where needed).
2020+3. Copy the token and store it securely; paste it into Kaneo’s Gitea integration settings.
2121+2222+## Webhook in Gitea
2323+2424+Kaneo verifies incoming webhooks with a **HMAC SHA256** secret stored per integration.
2525+2626+### Where to create the webhook in Gitea
2727+2828+1. Log in to Gitea and **open the same repository** you linked in Kaneo (`owner/repo`).
2929+2. Open the repository **Settings**.
3030+3. In the **left sidebar**, open **Webhooks** (sometimes grouped under a “Repository” section).
3131+ - If you do not see it, you need **admin** access to that repository (owner or collaborator with admin).
3232+4. Click **Add Webhook** and choose **Gitea**.
3333+3434+**Direct URL pattern** (replace host, owner, and repo):
3535+3636+`https://<your-gitea-host>/<owner>/<repo>/settings/hooks`
3737+3838+Example: `https://git.example.com/acme/my-app/settings/hooks`
3939+4040+### Configure the webhook
4141+4242+1. Connect the repository in Kaneo **Project → Integrations → Gitea** and save.
4343+2. Copy the **Webhook URL** and **Secret** shown in Kaneo (after saving).
4444+3. In Gitea: **Add Webhook → Gitea**.
4545+4. Set **Payload URL** to the Kaneo webhook URL.
4646+5. Set **Secret** to the exact value from Kaneo.
4747+6. Enable **Content type**: `application/json`.
4848+7. Enable events:
4949+5050+ - **Push**
5151+ - **Pull requests**
5252+ - **Issues** (open, close, label, edit, etc.)
5353+ - **Issue comments**
5454+ - **Create** (used for label creation events on some Gitea versions)
5555+5656+8. Save and use **Test Delivery** to confirm a `200` response from Kaneo.
5757+5858+The webhook URL includes your integration id, for example:
5959+6060+`https://your-kaneo-host/api/gitea-integration/webhook/<integrationId>`
···1111- [Quick Start](/core/index) for the fastest path to a running instance
1212- [Installation Guide](/core/installation/index) to choose drim vs Docker Compose
1313- [GitHub Integration Setup](/core/integrations/github/setup) for repo sync
1414+- [Gitea Integration Setup](/core/integrations/gitea/setup) for self-hosted Gitea
1415- [Outgoing webhooks](/core/integrations/outgoing-webhooks) for Slack, Discord, and custom HTTP notifications
1516- [API Introduction](/api-reference/introduction) for authenticated API usage
1617