Zum Hauptinhalt springen
Self-Hosting & Privatsphäre

Gitea vs. Forgejo vs. GitLab CE im Vergleich

Gitea und Forgejo laufen mit deutlich unter 1 GB RAM; GitLab CE dokumentiert ein Minimum von 4 GB. Dieser Vergleich deckt echten Ressourcenbedarf, CI-Runner-Reife (Gitea/Forgejo Actions vs. GitLab CI) und GitHub-Migrationsreibung für Homelab-Hardware ab.

milanbuha0017. August 20269 Min. LesezeitRead in English
TeilenXin
Gitea vs. Forgejo vs. GitLab CE im Vergleich

GitLabs eigene Dokumentation nennt 4 GB RAM als Minimum, nur um eine kleine selbst verwaltete Instanz zu betreiben — mehr als das Vierfache dessen, was ein Gitea- oder Forgejo-Container im Leerlauf braucht. Allein diese Zahl sollte bestimmen, welches der drei Sie installieren, noch bevor Sie eine einzige Feature-Liste vergleichen.

Wenn Sie private Repos von einem Drittanbieter auf Ihre eigene Hardware verlagern, haben Sie drei realistische selbst gehostete Optionen: Gitea, dessen community-geführten Fork Forgejo und GitLab Community Edition. Sie sind nicht austauschbar. Zwei davon sind leichtgewichtige Go-Binaries, die bequem auf einen kleinen Mini-PC oder eine einzelne Proxmox-LXC passen. Der dritte ist eine vollständige DevOps-Plattform mit einer kostenlosen Stufe, die aber ein echtes Stück RAM verlangt, bevor sie flüssig läuft.

TL;DR

  • Gitea und Forgejo sind leichtgewichtig — beide basieren auf Go, teilen sich eine gemeinsame Codebasis und laufen bequem mit deutlich unter 1 GB RAM.
  • Forgejo ist ein harter Fork von Gitea, 2022 aus Governance-Bedenken abgespalten und heute von der gemeinnützigen Codeberg e.V. betreut.
  • GitLab CE ist eine andere Klasse von Werkzeug — eine vollständige DevOps-Plattform (CI/CD, Container-Registry, Issue-Boards) mit dokumentiertem Minimum von 4 GB RAM und empfohlenen 8 GB.
  • Gitea Actions und Forgejo Actions nutzen beide YAML im GitHub-Actions-Stil, und die meisten Workflows laufen mit wenig oder keiner Anpassung — eine garantierte 1:1-Kompatibilität ist das aber nicht.
  • Die Migration von GitHub ist bei allen dreien machbar über eingebaute Importer, aber Actions-Marketplace-Schritte und GitHub-spezifische Integrationen ziehen nicht automatisch mit um.

KEY-STAT: 4 GB — GitLabs dokumentiertes RAM-Minimum für eine kleine selbst verwaltete Instanz, gegenüber deutlich unter 1 GB bei Gitea oder Forgejo im Leerlauf

Drei Forges, ein gemeinsamer Vorfahre

Gitea und Forgejo sind enge Verwandte. Beide sind in Go geschrieben, beide kommen als einzelnes kleines Binary oder Container, und beide liefern Repos, Issues, Pull Requests, ein Wiki und eine Paket-Registry, ohne viel Hardware dafür zu verlangen. Wer schon mal ein Gitea-Tutorial gelesen hat, kann das meiste davon eins zu eins auf Forgejo übertragen — UI und Workflows sind nahezu identisch.

GitLab CE ist ein völlig anderes Tier. Es ist die kostenlose, selbst verwaltete Stufe desselben GitLab, das große Engineering-Organisationen einsetzen, und trägt das Gewicht dieses Anspruchs: eine gebündelte PostgreSQL-Datenbank, Redis, Background-Worker, eine vollständige CI/CD-Engine, Container-Registry, Security-Scanning-Hooks und Issue-Boards, alles Teil einer Omnibus-Installation (oder eines noch schwereren Container-Sets, wenn Sie es so betreiben). Nichts davon ist schlecht — es ist nur für eine andere Größenordnung gebaut als ein Regal im Homelab.

Der Fork: Warum es Forgejo gibt

Forgejo spaltete sich Ende 2022 von Gitea ab, nachdem Bedenken gewachsen waren, dass sich ein gewinnorientiertes Unternehmen um das Gitea-Projekt bildete und wie viel Kontrolle das einem kommerziellen Interesse über eine Community-Codebasis gab. Was als weicher Fork begann — der Gitea eng folgte und Upstream-Änderungen übernahm — wurde 2024 zu einem harten Fork, was bedeutet, dass Forgejo jetzt bewusst eigene Wege geht, statt nur hinterherzulaufen. Betreut wird es von Codeberg e.V., einer gemeinnützigen Organisation, mit dem erklärten Ziel, community-kontrolliert und GPL-lizenziert zu bleiben und (anders als Gitea) aktiv an ActivityPub-basierter Föderation zu arbeiten, damit separate Forgejo-Instanzen künftig miteinander interagieren können. Gitea wiederum wird weiterhin von einem kommerziellen Unternehmen (Gitea Ltd) unterstützt, das neben dem Open-Source-Projekt eine kostenpflichtige Enterprise-Edition anbietet — genau die Dynamik, auf die Forgejos Abspaltung eine Reaktion war.

In der Praxis ist der Alltag mit Gitea und Forgejo für eine einzelne selbst gehostete Instanz ohne andere Forges zum Föderieren immer noch sehr ähnlich. Der Unterschied, der für die meisten Homelabber am meisten zählt, ist Governance und langfristige Ausrichtung, nicht ein fehlender Button.

Ressourcenbedarf auf echter Homelab-Hardware

Genau hier wird es in den meisten SERP-Ergebnissen still, und genau diese Zahl sollte Ihre Wahl bestimmen, wenn Sie das auf einem Raspberry Pi, einem alten Mini-PC oder einer einzelnen LXC aus einer größeren Box betreiben.

Gitea und Forgejo sind beide dafür dokumentiert, sehr wenig zu brauchen — ein einzelner CPU-Kern und deutlich unter einem Gigabyte RAM reichen für die Repos, Issues und Pull Requests eines kleinen Teams, das die meiste Zeit zwischen Pushes im Leerlauf verbringt. Dieser Spielraum bedeutet, dass Sie eines davon neben anderen selbst gehosteten Diensten auf derselben stromsparenden Box betreiben können, ohne eine dedizierte Maschine dafür einzuplanen — genau wie Sie jeden anderen Dienst dimensionieren würden, wenn Sie gerade lernen, ein Homelab aufzubauen.

GitLab CE ist eine andere Budgetklasse. Die eigene Dokumentation nennt ein RAM-Minimum von 4 GB für kleine selbst verwaltete Instanzen (bis etwa 500 Nutzer), mit 8 GB empfohlen bei Annäherung an 1.000 Nutzer, und einem speicherbegrenzten Fallback-Pfad von rund 2 bis 2,5 GB RAM plus Swap — vor dem GitLab selbst warnt, dass er Funktionalität und Performance eher verschlechtert als sauber läuft.

Warning

GitLab CEs RAM-Anforderung überrascht viele Homelab-Nutzer. Versuchen Sie nicht, es auf dieselbe stromsparende Box zu quetschen, auf der Sie problemlos Gitea oder Forgejo betreiben würden — planen Sie stattdessen eine dedizierte VM mit echtem Spielraum, oder greifen Sie zu einer der leichteren Forges.

Wenn Sie noch entscheiden, ob diese VM eine Proxmox-LXC, eine vollständige VM oder ein Docker-Container obendrauf sein soll, ist das derselbe Trade-off wie in unserem Vergleich Proxmox vs. Docker — gerade GitLab CE profitiert von der zusätzlichen Isolation und der einfacheren Ressourcenbegrenzung, die eine VM gegenüber einem Container bietet, der sich den Host-Kernel teilt.

Die Vergleichstabelle

So schneiden die drei auf den Dimensionen ab, die Ihren Deployment-Plan tatsächlich verändern:

DimensionGiteaForgejoGitLab CE
RAM im LeerlaufDeutlich unter 1 GB; laut Doku nutzbar ab ~256 MB MinimumWie Gitea (gemeinsame Codebasis) — deutlich unter 1 GB4 GB dokumentiertes Minimum, 8 GB empfohlen bei Wachstum
CPU-Bedarf1 Kern bequem für kleine Teams1 Kern bequem für kleine TeamsMehrere Kerne empfohlen; schwerere Background-Worker
Eingebautes CI/CDGitea Actions — YAML im GitHub-Actions-Stil, Opt-in-RunnerForgejo Actions — gleiche Abstammung wie Gitea Actions, YAML im GitHub-Actions-StilGitLab CI/CD — ausgereift, first-party, eigene YAML-Syntax, eingebautes SAST/DAST
Container-/Paket-RegistryEingebaute OCI-kompatible Paket-RegistryEingebaute OCI-kompatible Paket-RegistryEingebaute Container-Registry, tief in CI integriert
Migration von GitHubEingebauter Importer für Repos, Issues, PRs, Labels, ReleasesEingebauter Importer für Repos, Issues, PRs, Labels, ReleasesGitHub-Importer per URL-Import verfügbar
LizenzMIT (Kern), separate kostenpflichtige Enterprise-EditionGPL (Community-Edition), vollständig offenOpen-Core; CE ist frei und offen, EE ist kostenpflichtig
GovernanceVon einer kommerziellen Firma getragen, Gitea LtdCommunity-geführt über die gemeinnützige Codeberg e.V.Getragen von GitLab Inc., einem börsennotierten Unternehmen
Am besten fürSolo-Devs und kleine Teams, die eine leichte, schnelle Forge wollenGleicher Ressourcenbedarf wie Gitea, für alle, die Community-Governance priorisierenTeams, die volles DevOps-Tooling wollen und das RAM dafür übrig haben

Das Muster ist eindeutig: Gitea und Forgejo sind bei Ressourcenkosten nahezu identisch und bei den Features nah beieinander, sodass die eigentliche Entscheidung zwischen ihnen ist, wer das Projekt steuern soll. GitLab CE tauscht diese Leichtigkeit gegen eine wirklich vollständigere Plattform — wer eingebautes Security-Scanning, Issue-Boards und eine tief integrierte CI-Pipeline von Haus aus braucht, bekommt für dieses Gewicht auch echten Gegenwert.

CI/CD: Gitea Actions, Forgejo Actions und GitLab CI

Alle drei Forges können Ihre automatisierten Builds, Tests und Deploys ausführen, ohne ein separates CI-Tool anzuflanschen — sie kommen nur unterschiedlich dorthin.

Gitea Actions und Forgejo Actions nutzen beide eine YAML-Workflow-Syntax nach Vorbild von GitHub Actions, und Forgejo Actions baut auf derselben zugrundeliegenden Architektur auf, die Gitea Actions eingeführt hat, da Forgejo das Feature zusammen mit dem Rest der Codebasis forkte. In der Praxis laufen viele bestehende GitHub-Actions-Workflow-Dateien mit wenig oder gar keiner Anpassung, sobald Sie sie auf einen kompatiblen Runner zeigen lassen. Allerdings beansprucht keines der beiden Projekte vollständige Drop-in-Kompatibilität — manche Actions aus dem GitHub Marketplace stehen nicht zur Verfügung, und Edge-Case-Syntax braucht eventuell kleine Anpassungen, planen Sie also einen Nachmittag zum Testen ein, statt eine Zero-Touch-Migration anzunehmen.

Note

"GitHub-Actions-kompatibel" ist ein Spektrum, keine Garantie. Testen Sie Ihre tatsächlichen Workflows auf einem Gitea- oder Forgejo-Actions-Runner, bevor Sie irgendetwas bei GitHub löschen — das meiste funktioniert, aber "das meiste" heißt nicht "alles".

GitLab CI/CD ist ein separates, älteres und ausgereifteres System mit eigener `.gitlab-ci.yml`-Syntax statt GitHub-Actions-Kompatibilität. Das ist eine echte Stärke, wenn Sie neu starten statt zu migrieren: eingebautes Security-Scanning (SAST, Dependency-Scanning), engere Integration mit GitLabs Container-Registry und eine CI-Engine, die Jahre Zeit hatte zu reifen. Der Preis dafür ist derselbe, den Sie überall sonst bei GitLab CE zahlen — mehr RAM, mehr bewegliche Teile und eine steilere Lernkurve, wenn Sie eigentlich nur "meine Tests bei jedem Push laufen lassen" gebraucht hätten.

Der Umzug weg von GitHub: die echte Migrationsreibung

Egal für welche Forge Sie sich entscheiden, keine der drei zwingt Sie, Ihre Historie von Hand nachzubauen. Gitea und Forgejo liefern beide einen eingebauten "Von GitHub migrieren"-Importer, der das Repo selbst zusammen mit Issues, Pull Requests, Labels, Meilensteinen und Releases übernimmt. GitLab CE bietet einen GitHub-Importer per URL-Import, der ähnliche Arbeit leistet.

Was nicht automatisch mitkommt, ist alles GitHub-Spezifische: GitHub-Actions-Schritte, die auf im Marketplace verfügbare, andernorts nicht vorhandene Actions setzen, GitHub Pages, Dependabot-Alerts und jede Drittanbieter-App-Integration, die an GitHubs Webhook- und API-Oberfläche angebunden ist. Die müssen auf der Plattform, für die Sie sich entscheiden, neu aufgebaut werden, nicht nur umgebogen.

Tip

Migrieren Sie zuerst ein Repo mit geringem Risiko — ein persönliches Projekt, nicht Ihre Hauptcodebasis — und lassen Sie dessen CI-Workflow einmal komplett durchlaufen, bevor Sie irgendetwas verschieben, auf das Sie wirklich angewiesen sind. Das ist der schnellste Weg, Syntaxlücken zu finden, ohne echte Kosten, falls etwas nicht funktioniert.

Wenn Sie noch abwägen, ob die Forge selbst in einem Container oder einer vollständigen VM laufen soll, sobald Sie sich entschieden haben, gelten dieselben Überlegungen wie bei jedem anderen selbst gehosteten Dienst — siehe unseren Vergleich Docker vs. VM dazu, wie Sie Isolation gegen Overhead abwägen, wenn es um etwas geht, das Ihren privaten Code hält.

Was ich tatsächlich betreibe, und warum

Mein Setup ist eine Forgejo-Instanz in einer LXC auf meiner Proxmox-Box, direkt neben einer Handvoll anderer selbst gehosteter Dienste, auf Hardware, die kein Rechenzentrum sein will — die Art bescheidener Mini-PC oder umfunktionierter Box aus unserer Übersicht zur Home-Server-Hardware. Ich habe mich vor allem aus Governance-Gründen für Forgejo statt Gitea entschieden: Ich wollte, dass das Projekt, das die Steuerung über meine privaten Repos hat, einer gemeinnützigen Organisation und ihrer Community verpflichtet ist, statt einem Unternehmen, das unter kommerziellem Druck die Richtung ändern könnte — genau das Szenario, das Forgejos Abspaltung vermeiden sollte. Der Alltag fühlt sich fast identisch zu Gitea an, weil er es auch ist — dasselbe Interface-Muskelgedächtnis, derselbe geringe Ressourcenbedarf, dasselbe Actions-Setup.

Ich habe mir GitLab CE angesehen und es für diese Box gezielt wegen der RAM-Zeile aus der Tabelle oben ausgeschlossen, nicht weil es ein schlechteres Produkt wäre. Wenn ich ein kleines Team betreiben würde, das eingebautes Security-Scanning und Issue-Boards wollte und eine dedizierte VM übrig hätte, wäre GitLab CE eine vernünftige Wahl. Für ein Homelab, das nur privates, zuverlässiges Git-Hosting plus leichtgewichtiges CI braucht, war es mehr Plattform, als der Job verlangte.

Was zu Ihrem Setup passt

Wählen Sie Gitea, wenn Sie die leichtgewichtige Option wollen und keine starke Meinung zur Projekt-Governance haben — es ist schnell, gut dokumentiert und hat die größere Community der beiden leichten Forges.

Wählen Sie Forgejo, wenn Sie derselbe geringe Ressourcenbedarf anspricht, Sie aber lieber wollen, dass Ihre Git-Forge einer gemeinnützigen Community Rechenschaft schuldet als einem kommerziellen Unternehmen, oder Sie sich für die Föderationsarbeit interessieren, die dort entsteht.

Wählen Sie GitLab CE, wenn Sie eine wirklich vollständige DevOps-Plattform brauchen — eingebautes Security-Scanning, Issue-Boards, ausgereiftes CI/CD — und eine dedizierte Maschine mit echtem RAM dafür haben, statt einer geteilten stromsparenden Box.

FAQ

Ist Forgejo besser als Gitea?

Keines ist strikt besser — im Alltag sind sie nahezu feature-gleich, da sie sich eine Codebasis teilen. Der Unterschied, der zählt, ist Governance: Forgejo wird community-geführt über die gemeinnützige Codeberg e.V., während Gitea von einem kommerziellen Unternehmen getragen wird. Entscheiden Sie danach, welchem Governance-Modell Sie Ihr Code-Hosting eher anvertrauen wollen.

Wie viel RAM braucht GitLab CE zum Selbsthosten?

GitLabs eigene Dokumentation nennt ein RAM-Minimum von 4 GB für eine kleine selbst verwaltete Instanz, mit 8 GB empfohlen bei Annäherung an 1.000 Nutzer. Es gibt einen speicherbegrenzten Fallback von rund 2 bis 2,5 GB plus Swap, vor dem GitLab selbst aber warnt, weil er Performance und Funktionalität verschlechtern kann.

Kann Forgejo Actions GitHub-Actions-Workflows ausführen?

Größtenteils ja — Forgejo Actions nutzt YAML im GitHub-Actions-Stil, und viele Workflows laufen mit wenig bis keiner Anpassung. Als garantierter Drop-in-Ersatz ist es aber nicht gedacht, testen Sie also Ihre tatsächlichen Workflows, bevor Sie sich darauf verlassen, da manche GitHub-Marketplace-Actions und Edge-Case-Syntax Anpassungen brauchen können.

Reicht Gitea aus, um GitHub für private Repos zu ersetzen?

Für persönliche Projekte, kleine Teams und Homelab-Nutzung ja — Gitea deckt Repos, Issues, Pull Requests, ein Wiki, eine Paket-Registry und CI über Gitea Actions ab, alles mit einem Bruchteil der Hardware, die GitHub-nahe Alternativen wie GitLab CE verlangen. Was es nicht nachbildet, sind GitHubs öffentliche Auffindbarkeit, das Marketplace-Ökosystem und die sozialen Features.

Hat GitLab CE eine Container-Registry?

Ja — GitLab CE bringt eine eingebaute Container-Registry mit, die in die CI/CD-Pipeline integriert ist. Gitea und Forgejo enthalten ebenfalls beide eine eingebaute OCI-kompatible Paket-Registry, sodass das kein klares Unterscheidungsmerkmal mehr zwischen den leichten Forges und GitLab CE ist, wie es früher einmal war.

Ähnliche Artikel

Mehr aus Self-Hosting & Privatsphäre

Bleiben Sie auf dem Laufenden

Erhalten Sie die neuesten Artikel direkt in Ihr Postfach. Kein Spam, jederzeit abbestellbar.

Als Nächstes lesen

Reddit selbst hosten: Lohnt sich Redlib?

Redlib ist der aktiv gepflegte Fork des archivierten Libreddit — ein selbst hostbares Reddit-Frontend ohne Werbung, Tracker oder JavaScript im Docker-Container. Öffentliche Instanzen werden von Reddit jedoch regelmäßig rate-limitiert, und Self-Hosting verschiebt dieses Risiko nur, statt es zu beseitigen.

Weiterlesen