You can tell a system is healthy when builds trigger instantly and logs make sense. When they don’t, it’s usually a broken handshake between your source control and CI engine. That handshake is exactly what Drone Gitea fixes when configured right.
Drone is the lightweight CI/CD platform that runs straight from your repository, treating pipelines like code and containers like disposable workers. Gitea is the lean Git server written in Go, favored by teams who want control without complexity. Together they create a self-hosted automation loop that behaves like an owned version of GitHub Actions—fast, private, predictable.
Getting Drone and Gitea talking starts with authentication. Gitea handles identity; Drone consumes tokens. When a push or pull request arrives, Gitea calls Drone through webhook events, Drone spins up ephemeral runners, and builds flow without manual triggers. Permissions are inherited naturally. You can trust Gitea’s user map to define who can run or view pipelines, avoiding messy role duplication across services.
A clean Drone Gitea integration depends on three simple principles:
- Centralize identity. Use OAuth or an OIDC provider such as Okta if you want SSO to propagate cleanly.
- Contain secrets. Store build credentials in Drone’s encrypted store or an external vault, rotate them monthly.
- Separate runners. Don’t mix staging and production runners. Isolation keeps the audit trail simple and SOC 2 friendly.
If builds occasionally fail with permission errors, confirm the Gitea OAuth URL and callback match Drone’s server origin. Gitea’s admin panel exposes webhook logs—if events vanish, that’s the first place to look. One missed slash in a URL can cost an afternoon.
Featured snippet answer: To connect Drone and Gitea, register Drone as an OAuth application in Gitea, set the server and RPC secrets, and enable webhook events. Once linked, pushes to Gitea automatically trigger your Drone pipelines with inherited identity from the Git user.