Gitea
Painless self-hosted Git service
What is Gitea?
Gitea is a lightweight self-hosted Git service with issue tracking, pull requests, wikis and package registries. It runs comfortably on a small VPS and is a common self-hosted alternative to GitHub and GitLab for personal projects and small teams.
Best for
Developers wanting their own GitHub without the resource cost
Why choose Gitea
Gitea is what happens when someone says the obvious thing out loud: a self-hosted Git service does not need to be heavy. It provides repositories, issues, pull requests, a wiki, a package registry and CI, all in a single binary that runs comfortably on a small VPS or a Raspberry Pi. For a personal code archive, a small team, or a company that cannot send source code to a third-party host, it removes an entire category of dependency for almost no cost.
Replaces
- GitHub
- GitLab
- Bitbucket
Key features
- Repositories, issues and pull requests
- Built-in CI via Actions
- Package registry
- Runs on low-resource hardware
What to watch out for
Gitea's signature strength — being small and simple — is also what limits it. The CI system is capable but nowhere near as flexible as a dedicated runner ecosystem, and the marketplace of integrations is thin compared to the large platforms. The project also went through a governance split that produced a fork, Forgejo, and some contributors moved there; both are healthy, but it is worth knowing which community you are joining and where the feature work is happening. Migrating away from a large host is easy; migrating a large history back out is less so.
How to deploy
- Docker
- Binary
- Package managers
Getting started
Install from the binary or a container and put the repositories on a dedicated disk or volume from the start, because moving them afterwards means copying the whole data directory carefully. Configure a real database — SQLite works for personal use, but Postgres is the right call the moment more than a couple of people push to it. Back up both the database and the repository directory; they are separate pieces of state and a restore needs both. Set up HTTPS and disable open registration before you announce it to anyone, since a public signup form on a private Gitea is a quick way to host strangers' repositories.
Typical setup
It runs on almost anything — a small VPS, a home server, a Raspberry Pi — as a single binary or container with a database behind it. Personal instances use SQLite and a couple of gigabytes of disk; team instances move to Postgres and a dedicated volume for repositories. Access from outside is usually through a VPN or a reverse proxy, and open registration is switched off immediately, so the instance stays a private code host rather than an accidental public service.
Who should look elsewhere
If you need advanced CI/CD pipelines, deep code-review tooling, extensive marketplace integrations or security scanning, the large hosted platforms are genuinely better and worth their cost. Gitea's strength is being small; teams that need a heavyweight enterprise Git platform will spend more time extending it than they would have spent on a licence.
Project health
- GitHub stars: 58,245
- Last code push: 2026-10-01
- Open issues: 2,468
- Status: actively developed
Figures pulled from the GitHub API and refreshed periodically.