Gitea
Small development teams and hobbyists who want a lightweight, self-hosted Git platform that runs on minimal hardware without the complexity of GitLab
Pros
- Extremely lightweight — runs on a Raspberry Pi with 512MB RAM using a single binary, compared to GitLab's minimum 4GB RAM requirement for self-hosted instances
- Written in Go with a single binary deployment: download, set a config file, and run — no Ruby, Node.js, or Docker dependency chain required
- Built-in CI/CD with Gitea Actions using GitHub Actions-compatible YAML syntax, so existing workflows can be reused with minimal modification
- Migration tools import repositories, issues, pull requests, and labels from GitHub, GitLab, Bitbucket, and Gogs with a few clicks
- Completely free and open source under MIT license with no feature gating, user limits, or enterprise-only tiers
Cons
- Smaller ecosystem than GitHub or GitLab — no marketplace for third-party apps, and integrations with CI/CD tools like CircleCI or TravisCI require manual webhook configuration
- Gitea Actions is still maturing and lacks some GitHub Actions features like reusable workflows, larger runner support, and the breadth of third-party actions available
- No built-in container registry, package registry support is limited compared to GitLab's integrated Docker registry and npm/Maven/NuGet hosting
- Code review experience is basic — no inline suggestion commits, no required reviewers enforcement, and no merge queue like GitHub or GitLab offer
Key Features
- Git hosting with repository management, branch protection rules, and signed commits
- Issue tracking with labels, milestones, assignees, and Kanban project boards
- Pull requests with code review, merge options (merge, rebase, squash), and status checks
- Gitea Actions for CI/CD with GitHub Actions-compatible YAML workflow files
- Built-in wiki for project documentation with Markdown rendering
- OAuth2, LDAP, and SAML authentication with two-factor authentication support
- Webhook support for Slack, Discord, Telegram, Gitea, and custom HTTP endpoints