Gitea

developer toolsindie hacker

Regularly cited as the best self-hosted Git server for lightweight deployments. Single Go binary with repositories, issues, pull requests, CI/CD via Gitea Actions, and a package registry

#git#code-hosting#devops#ci-cd#github-alternative#self-hosted#go
Alternative to GitHubGitLabBitbucket

Quick Start

docker run -d -p 3000:3000 -p 222:22 -v gitea:/data gitea/gitea:latest

Overview

Gitea is a self-hosted Git service written in Go. It covers the full developer workflow — repositories, branches, code review, pull requests, issues, milestones, wikis, and project boards — in a single binary that installs in minutes and runs comfortably on hardware that would struggle with GitLab.

The resource footprint is the headline distinction. GitLab requires several gigabytes of RAM and substantial CPU even at idle. Gitea runs on a Raspberry Pi 4 with 256MB of RAM allocated and still responds quickly. For individuals, small teams, or homelabs where the overhead of a full GitLab installation is not worth it, Gitea covers most of what people actually use.

Gitea Actions brings CI/CD using the same YAML workflow syntax as GitHub Actions. Most GitHub Actions workflows can be moved to Gitea with minimal changes, and the runner ecosystem is compatible. The package registry handles Docker images, npm packages, PyPI distributions, Helm charts, and Maven artifacts, so code and artefacts can live in the same place.

The MIT licence means all features are available in the self-hosted version without any paid tier. Forgejo is a community fork of Gitea with a more distributed governance model — worth evaluating if you want a project where no single company controls the roadmap.

One practical note: treat your Gitea instance like any other critical service and back up the data directory and database. A self-hosted Git server with no offsite backup is a single point of failure for your entire codebase.

Gitea: Pros & Cons

Pros (The Wins)Cons (The Friction)
Minimal resources:
Single binary; runs on a
Raspberry Pi with 256MB RAM.
Smaller ecosystem:
Fewer integrations than GitHub
or GitLab out of the box.
GitHub Actions compat:
Gitea Actions uses the same
YAML syntax; workflows migrate.
Actions maturity:
Newer than GitHub Actions;
some runners have gaps.
Package registry:
Docker, npm, PyPI, Helm,
Maven all in one place.
Forgejo competition:
Community fork may be preferable
for governance-conscious teams.
MIT, no open core:
All features free;
no paid tier required.
Backup responsibility:
No offsite backup by default;
you own the disaster recovery.

Use Cases

Specific ways to use Gitea for your workflow.

01
Host private Git repositories on your own server without paying GitHub or GitLab per-seat fees
02
Run a self-contained CI/CD pipeline with Gitea Actions using existing GitHub Actions workflows
03
Give a small team a full code review and issue tracking workflow without a cloud dependency
04
Store code on a Raspberry Pi or low-spec VPS where GitLab's resource requirements are prohibitive

Deployment Strategy

Recommended ways to host Gitea in your own environment.

docker
self-hosted
binary