Sie wollen GitLab ersetzen oder prüfen, ob Forgejo oder Gitea ausreicht? Wir planen, migrieren und betreiben Forgejo als Git-Plattform und bieten die Kombination mit CI, Registry und SSO als Paket für Git und CI an. Forgejo-Betrieb ansehen · Erstgespräch buchen (unverbindlich und kostenlos)
GitLab, Forgejo und Gitea decken denselben Kern ab: Git-Repositories, Code Review, Tickets und CI/CD auf eigener Infrastruktur. Sie unterscheiden sich bei Lizenz, Trägerschaft, Funktionsumfang, Serveranforderungen und beim Aufwand eines Umzugs. Dieser Vergleich fasst die Unterschiede mit Quellen zusammen. Wo die Dokumentation etwas nicht belegt, steht das im Text. Stand: 5. November 2026.
Inhaltsverzeichnis
- Kurz beantwortet
- Was unterscheidet GitLab, Forgejo und Gitea auf einen Blick?
- Welche Lizenz gilt, und was ist kostenpflichtig?
- Wer steht hinter dem Projekt?
- Welche Versionen gelten im November 2026?
- Wie unterscheiden sich CI/CD und Registry?
- Was fehlt bei Forgejo und Gitea gegenüber GitLab?
- Wie viel Server braucht welche Plattform?
- Wie sicher ist der Betrieb?
- Wie migriert man von GitLab zu Forgejo oder Gitea?
- Wann bleibt man bei GitLab?
- Stand und Methodik
- Unser Vorgehen bei WZ-IT
- Weiterführende Guides
- Quellen
Kurz beantwortet
Die Zuordnung ist unsere Einschätzung auf Basis der unten belegten Unterschiede, keine Herstellerangabe.
| Anforderung | Naheliegende Wahl (Einschätzung) | Begründung |
|---|---|---|
| Eingebaute Sicherheits-Scans, Epics, Code Owners, Push Rules, Gruppen-SAML | GitLab | Diese Funktionen stehen laut GitLab-Dokumentation in Tarifen von Free bis Ultimate bereit, DAST und Dependency Scanning nur in Ultimate |
| Kleine Instanz, GitHub-Actions-nahe CI, gemeinnützige Trägerschaft, Copyleft-Lizenz akzeptabel | Forgejo | Ab v9.0 GPL v3+, Träger ist der Codeberg e.V., Doku nennt keine Mindestanforderung |
| Kleine Instanz, MIT-Lizenz, optional kommerzielle Edition mit Support | Gitea | MIT, Enterprise-Edition mit SLA-Support |
Was unterscheidet GitLab, Forgejo und Gitea auf einen Blick?
| Merkmal | GitLab | Forgejo | Gitea |
|---|---|---|---|
| Lizenz (Stand November 2026) | MIT (CE) und eigene EE-Lizenz | GPL v3+ ab v9.0 | MIT |
| Träger | GitLab Inc., börsennotiert | Codeberg e.V. (gemeinnützig) | Laut Herstellerseite Führung und kommerzieller Support durch CommitGo; 2022 wurde Gitea Ltd. gegründet |
| Kostenpflichtige Edition | Premium, Ultimate | Das Projekt nennt keine | Gitea Enterprise |
| Aktuelle Version | 19.x | 17.0.1 (LTS: 15.0.x) | 28.3.0 |
| CI/CD | GitLab CI (.gitlab-ci.yml) |
Forgejo Actions | Gitea Actions |
| Datenbanken | PostgreSQL | SQLite, MySQL/MariaDB, PostgreSQL | PostgreSQL, MySQL, MariaDB, SQLite, MSSQL |
| Richtwert Ressourcen | 8 vCPU / 16 GB | In der Admin-Doku nicht gefunden | 2 Kerne / 1 GB für kleine Teams |
Welche Lizenz gilt, und was ist kostenpflichtig?
| Produkt | Lizenz | Kostenpflichtig | Beleg |
|---|---|---|---|
| GitLab CE (Repository gitlab-foss) | MIT Expat, Dokumentation CC BY-SA 4.0 | Nein | LICENSE |
GitLab EE (Verzeichnis ee/) |
GitLab Enterprise Edition License, mit MIT-Ausnahmen | Für die von der Lizenz erfasste Produktivnutzung gültiges Abonnement nötig | ee/LICENSE |
| Forgejo bis v8.0 | MIT | Nein | Forgejo-FAQ |
| Forgejo ab v9.0 | GPL v3+ (Copyleft) | Nein | Forgejo-FAQ, Release v9.0 |
| Gitea | MIT | Edition Enterprise kommerziell | LICENSE, Pricing |
Zur EE-Lizenz: Die Lizenzdatei erlaubt das Kopieren und Ändern für Entwicklung und Test ohne Abonnement. Für die Produktivnutzung ist die Zustimmung zu den GitLab Subscription Terms (oder einer anderen mit GitLab vereinbarten Nutzungsvereinbarung) und ein gültiges Abonnement für die passende Zahl an Nutzerplätzen nötig. Nach dem Wortlaut der Lizenz sind Kopieren, Veröffentlichen, Weitergabe, Unterlizenzierung und Verkauf der Software untersagt, vorbehaltlich der dort genannten Bedingungen. Teile, die mit GitLab CE ausgeliefert oder clientseitig als Bild, Schrift und Ähnliches an Browser übertragen werden, stehen laut Lizenz unter MIT Expat. Das EE-Paket lässt sich laut GitLab auch ohne bezahltes Abonnement mit den Free-Funktionen betreiben. Dies ist keine Rechtsberatung.
Zu Forgejo: Der Release-Beitrag zu v9.0 beschreibt v9.0 als erste Version unter einer Copyleft-Lizenz und kündigt an, dass nach und nach mehr Dateien auf GPL v3+ wechseln. Die Swagger-Datei bleibt MIT. Wie groß der MIT-Anteil heute ist, haben wir nicht geprüft. Die Annahme "Forgejo ist MIT wie Gitea" gilt nur bis v8.0.
Was kostet GitLab, und was bringt Gitea Enterprise?
GitLab nennt auf der Preisseite für Premium 29 US-Dollar pro Nutzer und Monat bei jährlicher Abrechnung (Stand November 2026), Ultimate nur auf Anfrage. Ein Self-Managed-Abonnement gilt laut GitLab-Dokumentation für die ganze Instanz, alle Nutzer erhalten dieselben Funktionen. Gitea Enterprise nennt der Hersteller auf der Produktseite: Branch-Protection-Vererbung, Dependency Scanning, IP-Allowlist, verpflichtende 2FA, SAML 2.0 und Audit Log. Die Preisseite zeigt zwei Beträge nebeneinander, deshalb nennen wir keinen Preis.
Welche GitLab-Funktionen stecken in welchem Tarif?
Die Angaben stammen aus der Kopfzeile "Tier" der jeweiligen GitLab-Dokumentationsseite (Stand November 2026). Die Kopfzeilen dieser Seiten nennen Tarife (Free, Premium, Ultimate), nicht CE und EE; andere Abschnitte der Dokumentation weisen Funktionen ausdrücklich als nur in EE verfügbar aus. Ob jede Free-Funktion im reinen CE-Paket enthalten ist, ist damit nicht belegt.
| Funktion | Tarif laut Dokumentation | Dokumentation |
|---|---|---|
| CI/CD-Pipelines | Free, Premium, Ultimate | Pipelines |
| Container Registry | Free und höher | Container Registry |
| Package Registry | Free und höher | Package Registry |
| Pages | Free und höher | Pages |
| Issue Boards | Free und höher (Grundfunktion) | Issue Boards |
| Push-Mirror | Free und höher | Push-Mirror |
| Pull-Mirror | Premium, Ultimate | Pull-Mirror |
| Code Owners | Premium, Ultimate | Code Owners |
| Push Rules | Premium, Ultimate | Push Rules |
| Epics | Premium, Ultimate | Epics |
| LDAP (Self-Managed) | Free und höher | LDAP |
| Group SAML SSO (GitLab.com) | Premium, Ultimate | Group SAML |
| SAST | Free und höher (Basisumfang) | SAST |
| Secret Detection | Free und höher (Basisumfang) | Secret Detection |
| Container Scanning | Free und höher (Basisumfang) | Container Scanning |
| DAST | Ultimate | DAST |
| Dependency Scanning | Ultimate | Dependency Scanning |
Wer steht hinter dem Projekt?
Forgejo. Das Projekt gibt an, unter dem Dach des gemeinnützigen Codeberg e.V. zu stehen, die Domains liegen beim Verein und Forgejo hat keine Marken angemeldet. Der Codeberg e.V. ist ein in Berlin eingetragener Verein, dessen Satzungsziel laut FAQ die Offenheit und dauerhafte Verfügbarkeit freier Software ist. Meldungen zu Sicherheitslücken gehen an [email protected]. In den geprüften Projektseiten ist keine kostenpflichtige Edition aufgeführt.
Gitea. Am 30. Oktober 2022 schrieb der Maintainer Lunny, dass Gitea Ltd. gegründet wurde und Domains sowie die Marke "Gitea" von ihm persönlich auf die Gesellschaft übertragen wurden. Das Logo bleibt Eigentum der Community, die Owners-Gruppe stimmt weiter ab. Gitea bietet laut Hersteller die Open-Source-Version unter MIT, Gitea Cloud und Gitea Enterprise. Die heutige Herstellerseite nennt Führung und kommerziellen Support durch CommitGo. Wie sich CommitGo und die 2022 genannte Gitea Ltd. heute zueinander verhalten, geben die geprüften Quellen nicht an.
GitLab. GitLab Inc. ist börsennotiert (Ticker GTLB, siehe Quartalsbericht).
Die Forgejo-Seite Vergleich mit Gitea ist Darstellung eines der beiden Projekte. Sie datiert die Trennung auf Oktober 2022 (Soft-Fork) und Anfang 2024 (Hard-Fork) und wirft Gitea vor, von einem gewinnorientierten Unternehmen kontrolliert zu werden, eine Rechteabtretung auch für MIT-Code zu verlangen und Vorab-Informationen zu Sicherheits-Releases nur Kunden zu geben. Das sind Aussagen von Forgejo über Gitea. Zur Rechteabtretung: Die aktuelle Gitea-Beitragsrichtlinie nennt die Zustimmung zu DCO und MIT-Lizenz durch das Einreichen eines Pull Requests, eine ausdrückliche Rechteabtretung steht dort nicht. Bestätigt ist auf der Gitea-Preisseite, dass Enterprise-Kunden "Priority security bug fix notifications" erhalten. Ob diese Benachrichtigungen ausschließlich Kunden vorbehalten sind, geht daraus nicht hervor.
Welche Versionen gelten im November 2026?
| Produkt | Version | Datum | Hinweis | Quelle |
|---|---|---|---|---|
| Forgejo | 17.0 (aktuell 17.0.1 vom 26.10.2026) | 15.10.2026 | Support bis 28.01.2027 | Release-Schedule |
| Forgejo | 16.0 | 16.07.2026 | Support endete am 29.10.2026 | Release-Schedule |
| Forgejo | 15.0 LTS (aktuell 15.0.11 vom 26.10.2026) | 16.04.2026 | Support bis 15.07.2027 | Release-Schedule |
| Forgejo | 18.0 | geplant 14.01.2027 | Releases quartalsweise | Release-Schedule |
| Gitea | 28.3.0 | 01.11.2026 | folgt auf 28.2.0 (18.10.2026) | GitHub Releases |
| Gitea | 28.0.0 | 29.09.2026 (GitHub-Release; Blogbeitrag vom 30.09.2026) | folgt auf 1.27.3 (29.08.2026) | GitHub-Release, Gitea-Blog |
| GitLab | 19.x | 19.5.3 und 19.4.5 (Patch-Releases, Veröffentlichungstag nicht geprüft) | Docs führen 19.0 bis 19.6 auf | Release-Seite, Patch 19.5.3 |
Gitea zählt seit 28.0.0 nicht mehr als 1.x. Quellen, die noch "Gitea 1.2x" als neueste Stable-Version nennen, sind veraltet. Die Support- und Release-Policy für Enterprise nennt Rolling Releases; ein aktuelles LTS-Angebot haben wir nicht gefunden. Die Mitteilung von Lunny aus dem Jahr 2022 erwähnt die damalige Arbeit an einer LTS-Version. GitLab veröffentlicht zwei reguläre Patch-Releases pro Monat (am zweiten und vierten Mittwoch) plus kritische Patches bei Bedarf, laut Patch-Release-Seite.
Wie unterscheiden sich CI/CD und Registry?
| Bereich | GitLab | Forgejo | Gitea |
|---|---|---|---|
| CI/CD | GitLab CI mit .gitlab-ci.yml und Runner (Free und höher) |
Forgejo Actions, Workflows in .forgejo/workflows/, Forgejo Runner |
Gitea Actions, "compatible with GitHub Actions", Gitea Runner 5.0.0 (08.10.2026) |
| GitHub-Actions-Syntax | Nein, eigene Syntax | Teilweise | Teilweise |
| Container- und Package-Registry | Container Registry und Package Registry (Free und höher) | Pakete u. a. für Container, npm, Maven, PyPI, Cargo, Helm, Debian, RPM, NuGet | Mehr als 20 Paketarten inklusive Container |
| Tickets | Issues und Boards (Free und höher), Epics (Premium) | Issues, Labels, Projekte, Wiki | Issues, Labels, Kanban-Boards, Meilensteine, Zeiterfassung, Abhängigkeiten |
| Code Review | Merge Requests, Approvals, Code Owners (Premium) | Pull Requests, geschützte Branches, AGit | Pull Requests, Branch Protection (Vererbung in Enterprise) |
Zu den Grenzen der GitHub-Actions-Kompatibilität nennt die Forgejo-Referenz: GitHub Actions und Forgejo Actions sind nicht dasselbe. Actions ohne Host-Angabe lösen standardmäßig zu data.forgejo.org auf. Bei pull_request-Ereignissen aus Forks sind keine Secrets verfügbar, das automatische Token hat nur Leserechte und OIDC ist deaktiviert. Bei pull_request_target läuft der Workflow dagegen mit den Rechten des Basis-Repositorys, einschließlich Secrets und Schreibtoken, und sollte keinen ungeprüften Code aus dem Pull Request ausführen. Der Tool-Cache bleibt ohne Volume nicht erhalten. Die Gitea-Vergleichsseite listet als nicht unterstützt unter anderem jobs.<id>.environment (wird ignoriert), Problem Matcher und Fehler-Annotations. Das GITEA_TOKEN kann nicht in die eigene Package Registry pushen. Gitea-Workflows und Forgejo-Workflows sind deshalb vor dem Umzug mit den eigenen Pipelines zu testen. Wer von GitHub Actions kommt, findet die Einordnung im Beitrag GitHub Actions Preisänderung 2026.
Was fehlt bei Forgejo und Gitea gegenüber GitLab?
Die Aussagen beruhen auf der jeweiligen Dokumentation. "Nicht gefunden" bedeutet, dass wir die Funktion dort nicht gefunden haben, nicht dass sie sicher fehlt.
| Bereich | Forgejo | Gitea |
|---|---|---|
| Security-Scans (SAST, Secret Detection, Container Scanning) | In der Doku nicht gefunden | Open Source: nicht in der Vergleichstabelle gelistet, Dependency Scanning in Enterprise |
| Pages | Nicht in der Doku gefunden, Codeberg betreibt Codeberg Pages separat | Laut Gitea-Doku Drittsoftware |
| SAML | In der Admin-Doku nicht gefunden | In Enterprise, in der Open-Source-Tabelle "unsupported" |
| SSO sonst | OAuth2/OIDC, LDAP, PAM, FreeIPA, OIDC-Gruppenmapping | LDAP, OAuth2 |
| Föderation | ForgeFed/ActivityPub in Entwicklung, experimentell | Nicht geprüft |
| Audit Log | Nicht geprüft | Doku-Seite "Audit Logging", laut Release-Changelog ab 28.0.0 im Kern |
Die Gitea-Tabelle weist selbst darauf hin, dass sie veraltet sein kann. Zu SAML in Gitea gab es Pull Requests (#25165, #29358); wir konnten ihren Verlauf nicht abschließend prüfen.
Wie viel Server braucht welche Plattform?
| Aspekt | GitLab | Forgejo | Gitea |
|---|---|---|---|
| CPU und RAM | 8 vCPU und 16 GB Baseline, 8 GB in speicherbeschränkten Umgebungen | Keine Mindestwerte in der Admin-Doku gefunden | 2 Kerne und 1 GB "typically sufficient for small teams/projects" |
| Speicher | App-Knoten 40 GB, Gitaly mindestens so groß wie alle Repositories, PostgreSQL laut Detailtext meist mindestens 5 bis 10 GB, bei Ultimate mindestens 12 GB | In den geprüften Seiten nicht gefunden | In den geprüften Seiten nicht gefunden |
| Datenbank | PostgreSQL 17 bis 18 (bei 19.x), Redis 7.0+ oder Valkey 7.2 | SQLite (laut Doku "apparently" für mindestens 10 Nutzer gut genug), MySQL/MariaDB, PostgreSQL | PostgreSQL 12+, MySQL 8.0+, MariaDB 10.4+, SQLite, MSSQL 2012 SP4+ |
| Installation | Linux-Paket, Docker, Helm Chart, GitLab Environment Toolkit | Binary, Docker (auch rootless), Pakete Dritter | Binary, Paket, Quellcode, Docker (auch rootless), Podman Quadlet, Kubernetes |
Quellen: GitLab-Anforderungen und Installationswege, Forgejo-Installation und Binärinstallation, Gitea-Dokumentation und Datenbank-Vorbereitung. GitLab empfiehlt Docker und Helm laut Installationsseite für Kunden mit 500 oder mehr Nutzerplätzen. Die Gitea-Doku warnt, dass SQLite schlecht skaliert. Ein Wert für Forgejo hätte nur aus Praxisberichten gestammt, nicht aus der Hersteller-Doku, und ist daher nicht in der Tabelle. Die Richtwerte haben unterschiedliche Bezugsgrößen (Einzelknoten-Baseline bei GitLab, kleines Team bei Gitea) und sind kein Kapazitätsvergleich unter gleicher Last. Unsere Einschätzung: Forgejo und Gitea teilen die Go-Basis, ein gemessener Vergleich des Ressourcenbedarfs liegt uns nicht vor. Ein Richtwert ist nur für Gitea dokumentiert.
Wie sicher ist der Betrieb?
Die Zahlen sind nicht vergleichbar und ergeben kein Sicherheitsranking. Gitea veröffentlicht Schwachstellen als öffentliche GitHub-Advisories, GitLab und Forgejo nutzen andere Verfahren. Eine höhere Zahl bedeutet deshalb nicht, dass ein Produkt unsicherer ist.
| Projekt | Befund (5. Mai bis 5. November 2026) | Quelle |
|---|---|---|
| GitLab | Kritischer Patch am 21.10.2026 (19.5.1, 19.4.3, 19.3.6, 19.2.9, 19.1.9, 19.0.10, 18.11.13): Integer-Overflow im Regular-Expression-Compiler, CVE-2026-110264. Die Korrektur ist ein Patch für Ruby, nicht für GitLab-Code. Wer eine eigene Ruby-Laufzeit nutzt, braucht zusätzlich Ruby 3.3.13, 3.4.12 oder 4.0.9. Dazu zwei Meldungen mit Schweregrad High (OmniAuth/LDAP-Auto-Linking, Cache Poisoning in OAuth/OIDC-Discovery) | Patch-Release |
| Gitea | Die Liste der veröffentlichten Advisories enthält Einträge mit Schweregraden von low bis critical; eine Gesamtzahl nennen wir nicht, da sie sich nicht reproduzierbar belegen ließ. Beispiele: CVE-2026-104632 (Codeausführung auf Runnern, wenn ein Maintainer einen Fork-Lauf abbricht und erneut startet und so die Freigabe umgeht), CVE-2026-103059 (Authentifizierungs-Bypass im eingebauten SSH-Server, bei SQLite, aktiviertem Built-in-SSH-Server und RSA-Schlüssel), CVE-2026-73802 (Escape aus dem Container über container.options im act_runner, trotz deaktiviertem Privileged-Modus), CVE-2026-20896 (Docker-Image: REVERSE_PROXY_TRUSTED_PROXIES = * erlaubt Nutzer-Impersonation, wenn Reverse-Proxy-Authentifizierung aktiviert ist und HTTP-Zugang am Proxy vorbei möglich ist) |
GitHub Advisories |
| Forgejo | Release 17.0.1 (26.10.2026) nennt laut Release Notes Sicherheitskorrekturen, u. a. für pull_request_review-Actions mit nicht validierter commit_id und für NuGet-API-Keys, die Token-Scopes ignorierten. Für Release 17.0.0 nennen wir keine Einzelheiten. Eine zentrale CVE-Liste konnten wir nicht abrufen, und die Release Notes ließen sich bei der unabhängigen Nachprüfung nicht erneut abrufen |
Release Notes 17.0.1 |
Die Einträge gehören unterschiedlichen Fehlerklassen an (Ruby-Regexp, SSH-Authentifizierung, Reverse-Proxy-Authentifizierung, NuGet-Token-Scopes, CI-Rechte). Eine Klasse betrifft CI-Läufe aus Forks oder Reviews, die Rechte oder Secrets erhalten: bei Gitea CVE-2026-118386 (01.11.2026, Schweregrad High, betroffen 1.19.0 bis 28.2.0, behoben in 28.3.0) mit manipulierter commit_id einer Review, bei Forgejo der oben genannte Eintrag zu pull_request_review. Ob beide gleichartig betroffen waren, belegen die Quellen nicht. Wer Forgejo oder Gitea Actions mit Self-Hosted-Runnern betreibt, sollte Runner isolieren, Fork-Pull-Requests ohne Secrets laufen lassen und Updates zeitnah einspielen. Bei GitLab gehört neben dem Patch-Takt auch die Ruby-Abhängigkeit in die Planung.
Wie migriert man von GitLab zu Forgejo oder Gitea?
Forgejo bietet unter "New Migration" GitLab als Quelle. Laut Codeberg-Dokumentation werden nicht nur Repository-Daten, sondern auch Metadaten wie Issues, Labels, Wiki, Releases und Meilensteine übernommen. Nötig ist ein Zugriffstoken der Quelle, mit der Option "Git" wird nur der Code übernommen. Der GitLab-Importer im Gitea-Quellcode liest Repository-Infos, Topics, Meilensteine, Labels, Releases, Issues, Kommentare, Merge Requests und Reviews (aus MR-Approvals). Forgejo ist ein Fork von Gitea, der GitLab-Importer im Forgejo-Quellcode liest ebenfalls Merge Requests und Reviews (aus Approvals, ohne Review-Kommentare). Zu Kommentar-Reaktionen vermerkt der Gitea-Code eine offene Aufgabe. Die Gitea-Migrationsseite beschreibt den GitLab-Umfang nicht. Der Importer liegt im Gitea-Repository vor, die Verfügbarkeit in der Oberfläche von 28.x haben wir nicht einzeln geprüft.
| Inhalt | Übernahme |
|---|---|
| Repository, Topics, Meilensteine, Labels, Releases | Im Importer vorhanden |
| Issues und Kommentare, Merge Requests, Reviews aus Approvals | Im Importer vorhanden |
CI-Konfiguration .gitlab-ci.yml |
Die Datei kommt als Repository-Inhalt mit, wird aber nicht in Workflows übersetzt (.forgejo/workflows/ sind neu zu schreiben), ein Konverter ist nicht dokumentiert |
| CI-Variablen, Runner, Pipeline-Historie | Im Importer nicht vorhanden |
| Container- und Package-Registry-Inhalte | Im Importer nicht vorhanden |
| Gruppen- und Berechtigungsstruktur, Boards, Epics, Protected-Branch-Regeln | Im Importer nicht vorhanden |
| Webhooks, Deploy-Keys | Im Importer nicht vorhanden |
Die Tabelle beschreibt, was der Gitea-Importer-Code abbildet. Dass etwas im Importer fehlt, ist aus den fehlenden Funktionen abgeleitet, nicht aus einem ausdrücklichen Satz der Dokumentation, und der Forgejo-Code wurde nicht gegengeprüft. Ein Erfahrungsbericht beschreibt als Einzelfall Issues, die ohne Kommentare ankamen, weil das genutzte Werkzeug keine Kommentare übernahm. Nach einem Testlauf sollte deshalb stichprobenartig geprüft werden, was angekommen ist.
Unsere Einschätzung zum Vorgehen in Etappen:
- Inventur: Repositories, Gruppen, Zugriffsmodelle, Webhooks, Registry-Inhalte und CI-Abhängigkeiten erfassen.
- Testlauf: wenige Repositories mit dem Importer übernehmen und Metadaten stichprobenartig vergleichen.
- Pipelines neu aufbauen:
.gitlab-ci.ymlin Workflows übersetzen, Variablen und Secrets neu anlegen, Runner einrichten. - Umschalten: Zugriffe, Webhooks und Deploy-Keys umstellen, Mirror oder Fallback für kritische Repositories vorhalten.
- Altsystem zurückbauen: erst nach Prüfung der Backups und des Restores.
Von Gitea zu Forgejo geht ein direktes Upgrade laut Upgrade-Guide nur bis Gitea-Version 1.22. Ein direktes Upgrade von Gitea 28.x ist nicht als unterstützt dokumentiert, als Alternative bleibt die Repository-Migration.
Wann bleibt man bei GitLab?
GitLab ist die naheliegende Wahl, wenn eingebaute Sicherheits-Scans (Basis-Scans für SAST, Secret Detection und Container Scanning in Free, DAST und Dependency Scanning in Ultimate), Epics, Code Owners, Push Rules oder Gruppen-SAML gebraucht werden und ein Abonnement eingeplant ist. Auch wenn viele Pipelines, Registry-Inhalte und Berechtigungsstrukturen zu migrieren wären, kann ein Verbleib wirtschaftlicher sein, weil der Importer diese Teile nicht abdeckt. Die Serveranforderungen sind höher, dafür sind Funktionen aus einer Hand dokumentiert. Das ist eine Einschätzung, keine Herstellerangabe.
Forgejo oder Gitea sind naheliegend, wenn eine schlanke Plattform mit Repositories, Review, Tickets, Actions und Paketregistries genügt. Das hängt vom Bedarf ab und ist eine Einschätzung, keine Eignungszusage. Nach unserer Einschätzung hängt die Entscheidung zwischen beiden vor allem an Lizenz (GPL v3+ gegenüber MIT), Trägerschaft (Verein gegenüber Unternehmen mit Enterprise-Edition) und daran, ob SAML oder kommerzieller Support gebraucht wird.
Stand und Methodik
Stand: 5. November 2026. Grundlage sind die Lizenzdateien, Dokumentationen, Release-Seiten und Sicherheitsmeldungen der drei Projekte, abgerufen am 5. November 2026, jeweils mit Link im Text. Aussagen über ein Projekt stammen aus dessen eigenen Quellen, Aussagen auf den Seiten "Forgejo vs. Gitea" sind Darstellungen einer Partei und im Text so gekennzeichnet. "Nicht gefunden" heißt, dass wir die Funktion in der angegebenen Dokumentation nicht gefunden haben, kein Beleg für ihr Fehlen. Eigene Einschätzungen kennzeichnen wir als solche. Die Sicherheitszählung deckt den Zeitraum 5. Mai bis 5. November 2026 ab und ist kein Qualitätsranking. Offen sind: Forgejo-Mindestressourcen, SAML und Pages in Forgejo, die Veröffentlichungstage der GitLab-Patch-Releases 19.5.3 und 19.4.5 sowie der Forgejo-Code zum GitLab-Import. Spätere Änderungen an Lizenzen, Versionen oder Funktionen sind nicht eingearbeitet.
Unser Vorgehen bei WZ-IT
Für Forgejo planen, migrieren und betreiben wir die Plattform mit Datenbank, Storage, Actions-Runnern, Identity-Anbindung, Backups und Service Levels. Bei der Migration von GitHub, GitLab oder Gitea inventarisieren wir Repositories, Organisationen, Zugriffsmodelle, Issues, Pull Requests, Releases, Packages, Webhooks und CI-Abhängigkeiten und planen daraus Testlauf und Cutover. Welche Metadaten automatisiert übernommen werden können, hängt vom Quellsystem und dessen API ab.
Das Paket für Git, CI und Registry kombiniert Forgejo mit Woodpecker CI, Harbor und Vaultwarden, dazu einen Identitätsdienst (Keycloak oder Authentik) und einen isolierten Runner. Dynamische Secrets für Pipelines und Build-Zahlen pro Stunde sind nicht Teil des Pakets. Für bestehende GitLab-Instanzen finden Sie unser Angebot unter GitLab Managed Hosting und Betrieb, für Gitea steht eine Seite im App-Katalog. Monitoring erfolgt 24/7, die Reaktion auf P1-Incidents erfolgt entsprechend Service Level. Mehr zum laufenden Betrieb: Managed Operations und CVE-Monitoring.
Sie wägen GitLab, Forgejo und Gitea für Ihr Team ab? Wir besprechen Anforderungen, Pipelines und den Umfang einer Migration mit Ihnen. Forgejo-Betrieb ansehen · Paket für Git und CI ansehen · Erstgespräch buchen (unverbindlich und kostenlos)
Weiterführende Guides
- GitHub Actions Preisänderung 2026: Self-Hosted Runner Gebühren und Open-Source-Alternativen
- Keycloak Alternativen: Authentik, ZITADEL und weitere
- Warum Unternehmen CVE-Monitoring brauchen
- Forgejo Managed Hosting
- GitLab Managed Hosting
- Paket Git, CI und Registry
Quellen
- GitLab CE LICENSE (gitlab-foss)
- GitLab EE LICENSE
- GitLab Preise
- GitLab Docs: Systemanforderungen
- GitLab Docs: Abonnement wählen
- GitLab Docs: Release 19
- GitLab Patch Release 19.5.1 (CVE-2026-110264)
- GitLab: Installation
- GitLab: Community und Enterprise Edition
- Forgejo FAQ
- Forgejo: Release v9.0
- Forgejo: Vergleich mit Gitea (Parteidarstellung)
- Forgejo: Release-Schedule
- Forgejo: Actions-Referenz
- Forgejo: Upgrade-Guide
- Forgejo: Release Notes 17.0.1
- Gitea: GitLab-Importer (Quellcode)
- Codeberg Docs: Repositories migrieren
- Codeberg Docs: Codeberg Pages
- Gitea LICENSE
- Gitea: Preise
- Gitea Enterprise
- Gitea: Support- und Release-Policy
- Gitea: Beitragsrichtlinie (CONTRIBUTING)
- Gitea-Blog: Nachricht von Lunny zu Gitea Ltd.
- Gitea Docs: Vergleich Actions
- Gitea Docs: Vergleich Installation
- Gitea Docs: Datenbank
- Gitea Docs: Migration
- Gitea Security Advisories
- Gitea Releases
- GitLab Inc. Quartalsbericht (SEC)













