Kostenvergleich Apps Preise Blog Termin buchen

Gitea vs. GitHub vs. GitLab: Code-Hosting selbst betreiben oder in die Cloud geben?

Gitea vs. GitHub vs. GitLab: Code-Hosting selbst betreiben oder in die Cloud geben?

Quellcode ist das wertvollste digitale Asset eines Unternehmens. Wo dieser Code liegt — und wer darauf Zugriff hat — ist eine strategische Entscheidung. GitHub dominiert den Markt (gehört zu Microsoft), GitLab bietet die umfangreichste Self-Hosting-Option, und Gitea ist der ressourcenschonende Newcomer mit überraschend vielen Features. Welche Plattform passt zu Ihrem Team?

In diesem Vergleich analysieren wir alle drei Plattformen aus der Perspektive einer Agentur, die ihre Code-Infrastruktur selbst kontrollieren möchte. Wenn Sie grundsätzlich über digitale Souveränität nachdenken, empfehlen wir unseren Artikel über digitale Souveränität durch Self-Hosting.

Die drei Kandidaten im Überblick

Merkmal Gitea GitHub GitLab CE
Lizenz MIT (100 % Open Source) Proprietär MIT (CE) / proprietär (EE)
Self-Hosting Ja Enterprise Server (kostenpflichtig) Ja (CE kostenlos)
Sprache Go (Single Binary) Ruby/Go Ruby/Go
RAM idle 50–150 MB N/A (Cloud) 2–4 GB Minimum
Empfohlener RAM 512 MB – 1 GB N/A 8 GB+
Aktuelle Version 1.25 (März 2026) Cloud (fortlaufend) 17.x (2026)
Preis Kostenlos Free Tier + $4–21/User/Monat CE kostenlos, EE ab $29/User/Monat

Der auffälligste Unterschied: Gitea braucht 20–40x weniger RAM als GitLab CE. Ein Raspberry Pi kann Gitea betreiben — für GitLab brauchen Sie mindestens 4 GB adressierbaren Speicher.

Features im Detail

CI/CD

Gitea Actions (seit Version 1.19) sind nahezu vollständig kompatibel mit GitHub Actions. Das bedeutet: Sie können Ihre bestehenden .github/workflows-Dateien 1:1 in Gitea übernehmen. Der eigene Runner (act_runner) benötigt Docker auf dem Host.

GitLab CI/CD nutzt ein eigenes YAML-Format und gilt als das mächtigste CI/CD-System aller drei Plattformen. Integrierte Container Registry, SAST, DAST und Dependency Scanning sind in der CE-Version enthalten.

GitHub Actions ist der De-facto-Standard mit dem größten Marketplace an vorgefertigten Actions.

Package Registry

Alle drei bieten Package-Registries:

  • Gitea: 20+ Formate (Docker/OCI, npm, Maven, PyPI, Composer, Helm, Debian, Go, Cargo, NuGet u. v. m.)
  • GitHub Packages: Docker, npm, Maven, NuGet, RubyGems
  • GitLab: Docker, npm, Maven, PyPI, Composer, NuGet, Conan und weitere

Issues, Pull Requests, Code Review

Alle drei Plattformen bieten vollwertige Issue-Tracker mit Labels, Milestones und Assignees. Pull Requests (Gitea/GitHub) bzw. Merge Requests (GitLab) mit Code-Review-Workflows sind Standard. GitLab bietet zusätzlich Boards und Epics für Projektmanagement.

GitHub-Mirroring: Das Beste aus zwei Welten

Ein Killer-Feature von Gitea: Bidirektionales GitHub-Mirroring. Sie können:

  • Pull Mirror (GitHub → Gitea): Repos automatisch von GitHub nach Gitea synchronisieren — als Backup oder für interne CI/CD
  • Push Mirror (Gitea → GitHub): Änderungen automatisch an GitHub pushen — für Open-Source-Projekte oder Zusammenarbeit mit externen Teams

So nutzen Sie Gitea intern als primäre Plattform, während öffentliche Repos auf GitHub gespiegelt werden. Die Einrichtung erfolgt über Repository-Einstellungen und benötigt einen GitHub Personal Access Token.

Docker-Setup: Gitea in 5 Minuten

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

volumes:
  gitea-data:

SQLite als Datenbank reicht für kleine bis mittlere Teams. Für größere Instanzen (50+ User) empfiehlt sich PostgreSQL als externer Container.

Gitea Actions einrichten

Um CI/CD zu nutzen, starten Sie den act_runner als separaten Container:

services:
  runner:
    image: docker.gitea.com/act_runner:latest
    environment:
      - GITEA_INSTANCE_URL=http://gitea:3000
      - GITEA_RUNNER_REGISTRATION_TOKEN=<token>
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    depends_on:
      - gitea

Danach können Sie GitHub-Actions-kompatible Workflows in .gitea/workflows/ ablegen.

DSGVO: Warum Self-Hosted Code-Hosting relevant ist

GitHub speichert Daten in den USA (Microsoft Azure). Seit dem Schrems-II-Urteil ist die DSGVO-Konformität von US-Cloud-Diensten umstritten. Für Unternehmen mit strengen Datenschutzanforderungen — Behörden, Finanzdienstleister, Gesundheitswesen — ist Self-Hosting oft die einzige Option.

Gitea auf eigenem Server bedeutet:

  • Quellcode verlässt nie die eigene Infrastruktur
  • Volle Kontrolle über Backups, Zugriffsrechte und Löschung
  • Kein Vendor-Lock-in — MIT-Lizenz, keine proprietären Abhängigkeiten
  • Standortwahl: Deutscher Hoster, eigenes Rechenzentrum, oder Hybrid

Wann welche Plattform?

Gitea empfehlen wir wenn:

  • Sie einen ressourcenschonenden Git-Server für 2–100 Entwickler brauchen
  • GitHub-Actions-Kompatibilität wichtig ist
  • Budget und Serverressourcen begrenzt sind
  • DSGVO-Konformität zwingend ist

GitLab CE empfehlen wir wenn:

  • Sie ein All-in-One-DevOps-Tool mit integriertem SAST/DAST brauchen
  • Kubernetes-Integration ein Muss ist
  • Sie mindestens 8 GB RAM für den Git-Server bereitstellen können
  • Compliance-Features (Audit-Logs, Approval-Workflows) gefragt sind

GitHub empfehlen wir wenn:

  • Open-Source-Sichtbarkeit entscheidend ist
  • Das Team bereits GitHub Actions intensiv nutzt
  • Keine Self-Hosting-Anforderung besteht
  • Das größte Ökosystem an Integrationen benötigt wird

Managed Gitea: Self-Hosting ohne Ops-Aufwand

Gitea ist leichtgewichtig und wartungsarm — aber auch ein Git-Server braucht regelmäßige Updates, Backups und Monitoring. Bei netzspitze.tech betreiben wir Gitea als Teil Ihrer Managed-Infrastruktur:

  • Gitea + act_runner als Docker-Stack
  • Automatische Backups der Repositories und Datenbank
  • SSL via Traefik mit automatischer Zertifikatserneuerung
  • GitHub-Mirroring-Setup auf Wunsch
  • Integration mit Ihren bestehenden Diensten (SSO, Monitoring)

Jetzt Beratungstermin buchen — wir helfen Ihnen, die richtige Code-Hosting-Lösung zu finden.

Bereit für eigene Infrastruktur?

15 Minuten Call – wir klären ob Self-Hosting für euch passt.

Termin buchen