Skip to main content
Logo
Overview
Why I Use Gitea Instead of GitHub

Why I Use Gitea Instead of GitHub

November 15, 2025
5 min read

Introduction

Let me be clear upfront: I still use GitHub. It’s where the open-source community lives, where collaboration happens at scale, and where most developers expect to find your work. For public projects, it’s unmatched.

But for my private repositories? That’s a different story.

I self-host Gitea for everything that isn’t meant for public consumption—and the reasons go far beyond preference. It comes down to privacy, data ownership, and refusing to let my code become training data for AI models I never consented to.


The GitHub Copilot Problem

In 2021, GitHub launched Copilot, an AI-powered code completion tool trained on public repositories hosted on their platform. The implications were immediate and uncomfortable:

  • Code you wrote is now part of a commercial AI product
  • Your contributions help train a tool you may never use
  • The licensing implications remain murky at best

Even if you’re fine with your public code being used this way, the precedent is concerning. Today it’s public repos. Tomorrow? The line between public and private data has a way of blurring when there’s money involved.

GitHub’s parent company, Microsoft, has made AI the centerpiece of its strategy. Every product, every service, every interaction is being optimized for data collection and model training. Your code is valuable to them—not just as a product feature, but as training data.


Why Gitea?

Gitea is a lightweight, self-hosted Git service written in Go. It’s fast, resource-efficient, and surprisingly full-featured for something you can run on a $5/month VPS.

What I love about it:

  • Complete data ownership — Your repositories live on your server, period
  • No telemetry — Gitea doesn’t phone home or track usage
  • Familiar interface — If you know GitHub, you’ll feel right at home
  • Lightweight — Runs happily on minimal hardware
  • Active development — Regular updates and a healthy community
  • MIT licensed — True open source with no strings attached

Features that matter:

  • Repository mirroring (I mirror public repos from GitHub)
  • Issue tracking and project boards
  • Pull requests and code review
  • CI/CD integration via Gitea Actions or external runners
  • OAuth and 2FA support
  • Webhooks for automation

For a solo developer or small team, Gitea provides everything you need without the overhead of GitLab or the privacy concerns of GitHub.


My Setup

I run Gitea on a small VPS alongside my other self-hosted services. The setup is straightforward:

docker-compose.yml
services:
gitea:
image: gitea/gitea:latest
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=sqlite3
restart: unless-stopped
volumes:
- ./gitea:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "3000:3000"
- "2222:22"

Behind a reverse proxy with SSL, and you’ve got a production-ready Git server in minutes. SQLite works fine for personal use; swap in PostgreSQL or MySQL if you need more scale.


The Privacy Argument

Here’s the thing about cloud services: if you’re not paying, you’re the product. And even when you are paying, your data is often still being monetized in ways you didn’t anticipate.

GitHub’s terms of service grant them broad rights to your content. While they claim not to train AI on private repositories currently, terms change. Companies get acquired. Priorities shift.

With Gitea:

  • Your code never leaves your server
  • No third party has access unless you explicitly grant it
  • No terms of service that could change without notice
  • No corporate parent with conflicting incentives

This isn’t paranoia—it’s just good data hygiene. The same reason you might self-host your email, your notes, or your photos.


When I Still Use GitHub

I’m not suggesting everyone abandon GitHub entirely. I still use it for:

  • Open source projects — That’s where the community is
  • Collaboration — When working with others who expect GitHub
  • Discoverability — Public projects benefit from GitHub’s reach
  • GitHub Actions — The CI/CD ecosystem is genuinely excellent

The key is being intentional about what goes where. Public code that I want people to find and use? GitHub. Private projects, client work, personal experiments? Gitea.


Alternatives Worth Considering

Gitea isn’t the only option for self-hosted Git:

  • Forgejo — A community fork of Gitea with even stronger commitment to open governance
  • GitLab CE — More features, but significantly heavier resource usage
  • Gogs — Gitea’s predecessor, still maintained but less active
  • cgit — Minimal, read-only web interface for the truly spartan

For most people, Gitea or Forgejo hits the sweet spot of features, performance, and simplicity.


Conclusion

The decision to self-host isn’t about being anti-GitHub or anti-cloud. It’s about maintaining control over your work and making conscious choices about where your data lives.

GitHub changed the game for open source collaboration. But that doesn’t mean it needs to hold all your code. For private repositories—the stuff that’s just for you—there’s real value in keeping it close.

Gitea gives me:

  • Peace of mind about privacy
  • Confidence my code isn’t training AI models
  • A fast, clean interface I actually enjoy using
  • Complete ownership of my development workflow

If you’ve been thinking about self-hosting your Git repos, give Gitea a try. You might be surprised how liberating it feels to have your code truly be yours again.


Resources