Zum Hauptinhalt springen
50 % Rabatt alle Pläne, begrenzte Zeit. Ab $2.48/mo
14 min left
Developer Tools und DevOps

Gitea vs Forgejo vs OneDev: Die Wahl einer selbst gehosteten Git-Plattform

B Von Bill 14 Min. Lesezeit
Gitea vs Forgejo vs OneDev: choosing between a lightweight self-hosted git server and an all-in-one dev platform.

Bei einem Vergleich von Gitea, Forgejo und OneDev betrachten Sie drei Tools, die zwei unterschiedliche Fragen beantworten. Gitea und Forgejo sind Git-Server, denen Projektmanagement angeflanscht ist. OneDev ist eine Projektmanagement-und-CI-Plattform, die nebenbei Git wirklich gut hostet. Die Entscheidung lautet also nicht "welches der drei ist das beste", sondern "möchte ich einen kleinen Git-Server oder eine All-in-one-Plattform, und kann ich mir den RAM leisten, den das All-in-one-Paket kostet?"

Der letzte Teil ist der Knackpunkt. OneDev leistet von Haus aus mehr, und die Tests von nodatools.com maßen im Leerlauf etwa das Dreifache des Speicherverbrauchs einer nackten Forgejo-Installation, was auf einem kleinen VPS Ihre monatliche Rechnung verdoppeln kann. Dieser Kompromiss ist der ganze Kern der Sache. (Und nein, GitLab ist nicht Teil dieses Vergleichs. Wenn Sie GitLabs Ressourcenbedarf gewollt hätten, würden Sie nicht über diese drei lesen.)

Ich habe alle drei betrieben. Im Folgenden geht es um das, was wirklich zählt, wenn Sie eine Lösung für ein Team auswählen: die Unterschiede bei Verwaltung und Lizenz, die Gitea von Forgejo trennen, die Funktionen, die OneDevs Existenz rechtfertigen, die getesteten RAM-Zahlen und ein klares "nehmen Sie das, wenn…" für jede Option.

Kurzfassung

  • Möchten Sie einen leichtgewichtigen Git-Server mit Actions-artigem CI? Gitea oder Forgejo. Wählen Sie Gitea, wenn engere GitHub-Actions-Kompatibilität wichtig ist; wählen Sie Forgejo, wenn eine GitHub-ähnliche Workflow-Syntax mit einigen Migrationsanpassungen akzeptabel ist.
  • Ist Ihnen eine gemeinnützige Verwaltung oder eine Copyleft-Lizenz wichtig? Forgejo. Das ist der von der Community verwaltete Fork, und für die meisten Teams meine Standardwahl.
  • Möchten Sie die MIT-Lizenz, die größte Forge-Community oder eine kostenpflichtige Enterprise-Stufe mit SLA/SSO? Gitea.
  • Möchten Sie eingebautes Projektmanagement, gebündeltes CI und Code-Intelligence in einer einzigen Installation, und haben Sie RAM übrig? OneDev. Bedenken Sie nur, dass es mindestens etwa 4 GB benötigt, während Forgejo mit 1 GB zufrieden ist.

Kurzes Fazit: Für die meisten Teams ist Forgejo die richtige ressourcenschonende Standardwahl: derselbe Kern wie Gitea, klarere Verwaltung und Forgejo Actions mit GitHub-ähnlicher Workflow-Syntax. Greifen Sie nur dann zu OneDev, wenn Sie wirklich die gebündelte PM-plus-CI-Erfahrung in einer Box wollen und keinen Berg bestehender GitHub-Actions-Workflows migrieren müssen.

Die zwei Fragen, die diese drei Tools beantworten

Diagram contrasting Gitea and Forgejo as a lightweight git platform with a separate CI runner against OneDev as an all-in-one platform bundling git hosting, built-in CI, project management, and code intelligence.

OneDev betreibt seinen CI-Build-Daemon innerhalb des OneDev-Prozesses, sodass kein separater Runner bereitgestellt werden muss. Gitea und Forgejo machen das Gegenteil: Der Git-Server ist eine Sache, und Sie stellen einen CI-Runner als separaten Prozess daneben bereit. Diese eine architektonische Tatsache verrät, wie jedes Tool sich selbst versteht.

Gitea und Forgejo sind git-first. Repositories, Pull Requests und Code-Review bilden den Kern; Issues und Kanban sind nützliche Ergänzungen; CI wird angehängt. Das Ganze ist darauf ausgelegt, Git zu hosten und Ihnen dabei nicht im Weg zu stehen. Deshalb sind sie klein, schnell und günstig im Betrieb.

OneDev ist andersherum aufgebaut. Es ist eine Projektmanagement- und CI/CD-Plattform, bei der Git-Hosting eine wichtige, aber nicht die organisierende Komponente ist. Die Kanban-Boards sind automatisiert, CI ist eingebettet, Code-Intelligence ist integriert, und es erwartet, der Ort zu sein, an dem Ihr Team lebt, nicht nur der Ort, an dem Ihr Code liegt. Das ist ein wirklich anderes Produkt, weshalb der Vergleich mit Gitea bei der Frage "wer hostet Git besser" am Kern vorbeigeht. Beide hosten Git etwa gleich gut. OneDev will einfach viel mehr leisten und lässt sich das mit Ressourcen bezahlen.

Alles Weitere lässt sich auf diese Aufteilung zurückführen. Die Wahl zwischen Gitea und Forgejo ist eine Unterentscheidung innerhalb des Zweigs "leichtgewichtige Forge". Die Frage "lohnt sich OneDev" ist ein völlig anderer Zweig.

Gitea vs Forgejo: Die Entscheidung zwischen Beinahe-Zwillingen

Comparison of Gitea and Forgejo governance: Gitea is MIT-licensed, company-backed, with an Enterprise tier and larger ecosystem, while Forgejo is GPL-3.0, non-profit governed, with public security disclosures and an all-free build.

Beide liegen bei etwa 180 bis 350 MB RAM, beide teilen sich bis zum Fork-Punkt dieselbe Codebasis, und beide betreiben das Kern-Git-Hosting auf die gleiche Weise. Bei Repositories, Pull Requests, Code-Review, Issues und Actions-artigem CI werden Sie im täglichen Gebrauch kaum einen nennenswerten Unterschied finden, es sei denn, Sie migrieren bestehende GitHub-Actions-Workflows. Also gleich vorweg: Das ist kein Feature-Streit. Die Kluft zwischen OneDev und Gitea ist groß; die Kluft zwischen Gitea und Forgejo dreht sich darum, wer das Projekt kontrolliert und unter welcher Lizenz es erscheint.

Hier ist der Hintergrund, den Sie wirklich brauchen. Im Oktober 2022 gerieten die Gitea-Domain und die Marke ins Zentrum eines Streits um die Projektverwaltung, und Forgejo entstand als Reaktion darauf. Forgejo liegt heute bei Codeberg e.V., einer gemeinnützigen Organisation in Deutschland, und erscheint unter GPL-3.0. Gitea bleibt MIT-lizenziert und hat eine freie Open-Source-Self-Hosted-Edition, während CommitGo daneben Gitea Enterprise verkauft. Forgejo beschreibt dieses Arrangement als Open Core; Gitea/CommitGo bestreitet diese Bezeichnung und erklärt, dass das Open-Source-Projekt Gitea selbst keinen proprietären Code enthält. Für Leser ist der praktische Unterschied einfacher als die Politik: Forgejo optimiert auf gemeinnützige, Copyleft-basierte, komplett freie Verwaltung; Gitea bietet den freizügigen MIT-Kern plus einen herstellergestützten Enterprise-Pfad.

Daraus folgen drei Dinge, und jedes davon ist entscheidungsrelevant:

  • Lizenz. GPL-3.0 Copyleft (Forgejo) bedeutet: Wenn Sie Forgejo verändern und die veränderte Version verbreiten, müssen Sie Ihre Änderungen unter der GPL teilen. MIT (Gitea) verlangt das nicht. Für die meisten Teams, die intern eine unveränderte Instanz betreiben, spielt das nie eine Rolle. Wenn Sie jedoch auf der Forge aufbauen und sie ausliefern, ist es wichtig.
  • Sicherheitsmitteilungen. Forgejo informiert alle über Sicherheitshinweise über öffentliche Kanäle. Gitea behält vorab Sicherheitshinweise zahlenden Enterprise-Kunden vor, was bedeutet, dass selbst gehostete Admins in der kostenlosen Stufe einer bekannten Schwachstelle länger ausgesetzt sein können als zahlende Kunden. Wenn Sie die kostenlose Version betreiben, ist diese Asymmetrie erwähnenswert.
  • Auf einer Seite gibt es eine kostenpflichtige Stufe. Gitea hat eine kommerzielle Enterprise Edition ($9,50–$19/Nutzer/Monat), die SSO, Audit-Logs, priorisierten Support und eine SLA hinzufügt. Forgejo hat keine kostenpflichtige Stufe, jede Funktion steckt im freien GPL-Build.

Wenn Sie heute Gitea nutzen und das Sie zu Forgejo hinzieht: Die gute Nachricht ist, dass es einen unterstützten Migrationspfad gibt (mit einer Versionsklippe bei Gitea 1.22, die man verstehen sollte, bevor man anfängt). Das habe ich separat aufgeschrieben, siehe die vollständige Migrationsanleitung für die Aufschlüsselung Version für Version. Wenn Sie von GitHub kommen und noch keine Forge gewählt haben, ist das eine separate Entscheidung mit eigenen Kompromissen, die es wert ist, für sich betrachtet zu werden.

Kernaussage: Beim Kern-Git-Hosting stehen Gitea und Forgejo unentschieden. Entscheiden Sie sich für Forgejo, wenn Sie gemeinnützige Trägerschaft, Copyleft und öffentliche Sicherheitsmitteilungen wollen. Entscheiden Sie sich für Gitea, wenn Sie die MIT-Lizenz, die größere Community oder die kommerzielle Enterprise-Stufe wollen.

Wo OneDev wirklich anders ist

Betreiben Sie OneDev (zum Zeitpunkt dieses Textes 16.0.1) einen Tag lang, und das Erste, was auffällt, ist, dass Sie nie einen CI-Runner bereitgestellt haben. Der Build-Daemon steckt im OneDev-Server, sodass CI funktioniert, sobald die Plattform läuft. Sie können eine Pipeline in einer GUI erstellen, ohne eine Zeile YAML zu schreiben, einen Job über ein Web-Terminal debuggen und einen Build gegen nicht committete lokale Änderungen testen, noch bevor Sie pushen. Das ist eine echte betriebliche Vereinfachung gegenüber dem Tanz aus "Server installieren, dann separaten Runner installieren und registrieren", den Gitea und Forgejo verlangen.

Der Haken, und für bestehende Teams ein großer, ist, dass OneDev einen eigenen YAML-Dialekt verwendet. Es ist nicht GitHub-Actions-kompatibel. Jeder Workflow, den Sie für GitHub, Gitea oder Forgejo geschrieben haben, muss neu geschrieben werden, um auf OneDev zu laufen. Wenn Sie sich auf einen Stapel von .github/workflows-Dateien verlassen, sind das echte Migrationskosten, keine Randnotiz. Gitea und Forgejo übernehmen beide das GitHub-Actions-Ökosystem, aber nicht auf dieselbe Weise. Gitea Actions ist als direkter Ersatz für GitHub Actions konzipiert, sodass die meisten Workflows ohne Änderungen übernommen werden. Forgejos Runner ist in der Praxis kompatibel, hat aber dokumentierte Lücken: einen fehlenden permissions-Unterschlüssel, ignoriertes continue-on-error, eine andere OIDC-Syntax. Prüfen Sie dies, bevor Sie von voller Portabilität ausgehen.

Das Zweite, was OneDev bietet und die kleineren Forges einfach nicht: Code-Intelligence in der Web-UI. Symbolsuche, Sprung zur Definition und Suche nach Referenzen funktionieren über eine Reihe von Sprachen hinweg (die offizielle Liste umfasst Java, JavaScript, C, C++, C#, Go, PHP und Python), ohne das Repo lokal zu klonen. Gitea und Forgejo haben nichts Vergleichbares eingebaut, sodass man auf ein externes Tool zurückgreifen würde. Wenn Ihr Team viel Code-Review im Browser macht, ist das wirklich angenehm.

Ergänzen Sie das um vollautomatisiertes Kanban (regelbasierte Aufgabenbewegung, benutzerdefinierte Zustände und Felder, Übergangsregeln), einen Service Desk, der eingehende E-Mails in Issues verwandelt, ohne dass der Absender ein Konto braucht, sowie vertrauliche Issues innerhalb öffentlicher Projekte, und Sie haben das Bild komplett: OneDev versucht, gleichzeitig Ihr Issue-Tracker, Ihr CI-System, Ihr Code-Browser und Ihr Projektboard zu sein.

Eine Klarstellung zu Paket-Registries lohnt sich. OneDev hat eine eingebaute Registry; das ist klar. Deren Paket-Tutorial listet Docker, npm, NuGet, Maven, PyPI und RubyGems auf, während aktuelle Produkttexte auch Helm erwähnen. Gitea und Forgejo decken weiterhin ein deutlich breiteres Spektrum an Paketformaten ab, darunter Alpine, Arch, Cargo, Composer, Conan, Conda, Debian, Go, Helm, Maven, npm, NuGet, PyPI, RPM, RubyGems, Swift, Vagrant und mehr. Wenn Ihr Team auf Paketformate außerhalb von OneDevs schmalerem Registry-Set angewiesen ist, ist Gitea oder Forgejo die sicherere Wahl.

Kernaussage: OneDev verschafft Ihnen eingebautes CI, Code-Intelligence und eine vollständige PM-Suite in einer Installation. Dafür zahlen Sie mit dem Umschreiben aller GitHub-Actions-Workflows, einem kleineren Ökosystem und, wie der nächste Abschnitt zeigt, deutlich mehr RAM.

Die Ressourcenkosten: Was jede Lösung wirklich braucht

Idle RAM comparison showing Forgejo at about 180 MB and Gitea at about 200 MB as lightweight forges, versus OneDev at about 600 MB idle as an all-in-one platform, with VPS sizing guidance of 1 GB for a lean manual install and 4 GB or more for OneDev.

Die Zahl, die diesen ganzen Vergleich für viele Teams entscheidet, stammt aus den Tests von nodatools.com: OneDev lag im Leerlauf bei etwa 600 MB RAM, während Forgejo bei etwa 180 MB lag. Das ist mehr als das Dreifache, und es steigt unter Last weiter an. Hier sind ihre getesteten Werte aus nodatools.com's measured comparison, auf einem frischen VPS ausführen:

ToolAktuelle VersionRAM im Leerlauf (getestet)Aktiver RAM unter Last (getestet)Offizielles Minimum
Forgejov15.0.3 LTS~180 MB~320 MB512 MB
Gitea1.26.4~200 MB~350 MB512 MB
OneDev16.0.1~600 MB~950 MB2 GB

Woher kommt die Lücke? OneDev ist größtenteils in Java geschrieben, sodass die JVM einen Heap-Overhead mit sich bringt, den die Go-basierten Gitea und Forgejo einfach nicht haben. Zusätzlich indexiert OneDev Code für seine Intelligence-Funktionen, und diese anfängliche Indexierung ist speicherhungrig. Als ich es zum ersten Mal aufgesetzt habe, war der Speicherausschlag beim Booten der erschreckendste Teil, und das ist nicht der Dauerzustand.

Profi-Tipp: Geraten Sie beim Startspeicher von OneDev nicht in Panik. Er kann direkt nach dem Booten höher ausschlagen, während die JVM aufwärmt und der anfängliche Code-Index aufgebaut wird, und sich dann wieder Richtung Leerlaufwert einpendeln, sobald sich alles stabilisiert hat. Planen Sie dennoch mit der realistischen Arbeitsgröße, nicht mit dem Leerlaufwert. Bei aktiv laufenden CI-Jobs sollten Sie durchgängig 1 bis 2 GB einplanen. Das offizielle Minimum von 2 GB besteht nicht ohne Grund.

Für die Dimensionierung lässt sich das sauber auf VPS-Stufen übertragen:

  • Forgejo oder Gitea, Basisinstallation, kein CI-Runner auf der Box: 1 GB RAM / 1 vCPU is comfortable.
  • Forgejo oder Gitea mit einem CI-Runner auf demselben Server: erhöhen Sie auf 4 GB RAM / 2 vCPU, damit der Runner Platz hat.
  • OneDev, Basisinstallation: 4 GB RAM is the practical floor. Go to 8 GB if code indexing is heavy or CI is busy.

Der Kostenunterschied ist also alles andere als subtil. Ein abgespeckter Git-Server, der auf einer 1-GB-Box zufrieden ist, gegenüber einer OneDev-Instanz, die 4 GB will, bedeutet in etwa eine Verdopplung Ihrer monatlichen VPS-Rechnung. Für einen einzelnen Entwickler oder ein kleines Team ist das der Unterschied zwischen "praktisch kostenlos im Betrieb" und einem Posten, den man bemerkt. Für ein größeres Team, das täglich auf das gebündelte CI und PM setzt, kann es sich absolut lohnen. Aber es ist ein echter Kompromiss: OneDevs Overhead ist die JVM, und dieser Preis kauft Ihnen das, was die JVM leistet.

Gitea, Forgejo, und OneDev sind allesamt Ein-Klick-Deployments im Cloudzy's Marketplace, sobald Sie die Größe festgelegt haben, dauert das Aufsetzen einer Forge nur ein paar Minuten statt eines ganzen Nachmittags mit Docker-Gefummel. Wenn Sie einen CI-Runner oder OneDevs Code-Indexierung betreiben, steckt der zusätzliche Spielraum in einem Linux VPS mit Root-Zugriff, sodass Sie den JVM-Heap und die Runner-Nebenläufigkeit selbst anpassen können.

Ein Cloudzy-spezifischer Hinweis: Die Marketplace-App-Karten starten Gitea, Forgejo und OneDev derzeit mit 2 GB RAM. Die obige 1-GB-Empfehlung gilt für schlanke manuelle Installationen ohne lokalen CI-Runner. Wenn Sie über den Cloudzy Marketplace bereitstellen, halten Sie sich an das Minimum der App-Karte, damit Betriebssystem, Datenbank, Paketaktualisierungen und Hintergrunddienste Luft zum Atmen haben.

Welches solltest du wählen?

Sie haben die Tabelle und die Kompromisse gesehen, also hier meine klare Einschätzung für jedes Leserprofil, basierend auf dem Betrieb aller drei.

Entscheiden Sie sich für Forgejo wenn Sie eine leichtgewichtige, von der Community verwaltete Forge mit Actions-artigem CI wollen und kleine Workflow-Unterschiede zu GitHub Actions tolerieren können. Das ist meine Standardempfehlung für die meisten Teams. Sie erhalten dasselbe Kern-Git-Hosting wie bei Gitea, eine klarere gemeinnützige Trägerschaft, öffentliche Sicherheitsmitteilungen, eine Copyleft-Lizenz und den geringsten RAM-Bedarf der drei. Wenn Sie keinen bestimmten Grund haben, sich für eine der anderen zu entscheiden, wählen Sie diese.

Entscheiden Sie sich für Gitea, wenn Sie speziell die MIT-Lizenz wollen (freizügiger als Forgejos GPL-3.0), die größte Forge-Community und das größte Ökosystem, oder eine kommerzielle Enterprise-Stufe mit SSO, Audit-Logs und einer SLA. Beim reinen Git-Hosting steht es unentschieden mit Forgejo, Sie entscheiden also nach Lizenz- und Trägerschaftspräferenz, plus der bezahlten Support-Option, falls Ihre Organisation einen Anbieter zum Anrufen braucht.

Entscheiden Sie sich für OneDev, wenn Sie eingebautes Projektmanagement, gebündeltes CI und Code-Intelligence in einer einzigen Installation wollen, ganz neu starten (keine bestehenden GitHub-Actions-Workflows zu migrieren) und das RAM-Budget für eine Box mit 4 GB oder mehr haben. Die Entscheidung zwischen Forgejo und OneDev läuft wirklich darauf hinaus: Kaufen Sie einen Git-Server oder eine Plattform? Wenn die Antwort "Plattform, und ich will CI nicht selbst anflanschen" lautet, rechtfertigt OneDev seinen Overhead.

Ein Entscheidungsfaktor, der leicht übersehen wird: Zwischen der Gitea-/Forgejo-Familie und OneDev gibt es keinen Migrationspfad. Anderes Datenmodell, anderes CI-Format, anderes Schema. Wenn Sie mit Forgejo starten und später OneDev wollen (oder umgekehrt), steht Ihnen ein API-basierter Umzug Repo für Repo bevor, bei dem CI-Historie und Projektmanagement-Daten verloren gehen. Wenn Ihnen OneDevs All-in-one-Ansatz also überhaupt zusagt, ist es viel günstiger, gleich damit zu starten, als später dorthin zu wechseln. Zwischen Gitea und Forgejo gibt es dagegen eine Migration (das ist den Migrationspfad oben behandelt), aber der Wechsel von der leichtgewichtigen Forge zu OneDev ist eine Einbahnstraße mit Verlusten. Beziehen Sie das jetzt in die Entscheidung ein, nicht erst in achtzehn Monaten.

Häufig gestellte Fragen

Ist Gitea noch Open Source?

Ja. Der Kern von Gitea ist MIT-lizenziert und kostenlos selbst zu hosten, mit unbegrenzten Benutzern und Repositories. Der praktische Vorbehalt betrifft die Verwaltung, nicht die Quellcode-Verfügbarkeit: Gitea wird von einem Unternehmen kontrolliert und hat über CommitGo ein herstellergestütztes Enterprise-Angebot, während Forgejo der von der Community verwaltete, GPL-lizenzierte Fork unter Codeberg e.V. ist. Forgejo beschreibt Giteas kommerzielles Arrangement als Open Core; Gitea/CommitGo bestreitet diese Bezeichnung und erklärt, dass das Open-Source-Projekt selbst keinen proprietären Code enthält. Gitea ist also weiterhin Open Source, wird aber nicht in derselben Weise von der Community verwaltet wie Forgejo.

Ist Forgejo besser als Gitea?

Beim Kern-Git-Hosting sind sie nahezu identisch: Forgejo wurde von Gitea abgespalten und teilt dieselbe Basis. Forgejo unterscheidet sich bei der Verwaltung (gemeinnütziger Codeberg e.V.), der Lizenz (GPL-3.0 Copyleft gegenüber Giteas MIT) und den Sicherheitsmitteilungen (öffentlich für alle, gegenüber Giteas Richtlinie, Enterprise-Kunden zuerst zu informieren). "Besser" hängt davon ab, ob Ihnen diese Dinge wichtig sind; bei den Funktionen allein steht es unentschieden.

Wie viel RAM braucht OneDev?

OneDevs offizielles Minimum sind 2 GB RAM. In den Tests von nodatools.com lag es im Leerlauf bei rund 600 MB und erreichte unter Last etwa 950 MB. Beim Booten kann es höher liegen, während die JVM aufwärmt und die Indexierung abgeschlossen wird, aber bei aktiv laufendem CI sollten Sie durchgängig 1 bis 2 GB einplanen. Zum Vergleich: Dieselben Tests setzten Forgejo und Gitea im Leerlauf bei etwa 180 bis 200 MB an.

Kann ich von Gitea zu OneDev oder von OneDev zu Forgejo migrieren?

Zwischen der Gitea-/Forgejo-Familie und OneDev gibt es keinen direkten Migrationspfad. Sie verwenden unterschiedliche Datenmodelle, CI-Formate und Schemata, sodass ein Umzug eine API-basierte Migration Repo für Repo erfordern würde, bei der CI- und Projektmanagement-Historie verloren gehen. Eine Migration zwischen Gitea und Forgejo gibt es hingegen (siehe unseren Leitfaden zur Migration von Gitea zu Forgejo), da sie eine gemeinsame Abstammung haben.

Unterstützt OneDev GitHub Actions?

Nein. OneDev verwendet einen eigenen YAML-Dialekt plus einen GUI-Pipeline-Editor, sodass Workflows, die für GitHub, Gitea oder Forgejo geschrieben wurden, umgeschrieben werden müssen, um darauf zu laufen. Gitea Actions ist als direkter Ersatz konzipiert, sodass die meisten bestehenden Workflows ohne Änderungen laufen. Forgejos Runner ist in der Praxis kompatibel, aber nicht darauf ausgelegt, GitHub Actions exakt nachzubilden; prüfen Sie die offizielle Forgejo-Dokumentation auf dokumentierte Inkompatibilitäten, bevor Sie von voller Portabilität ausgehen.

Share

Mehr aus dem Blog

Weiterlesen.

Bereit zum Deployen? Ab 2,48 $/Monat.

Unabhängige Cloud, seit 2008. AMD EPYC, NVMe, 40 Gbps. 14 Tage Geld-zurück-Garantie.