Egy gitea kontra forgejo kontra onedev összehasonlításban valójában három olyan eszközt nézel, amelyek két különböző kérdésre válaszolnak. A Gitea és a Forgejo git szerverek, amelyekre projektmenedzsmentet csatoltak. A OneDev egy projektmenedzsment-és-CI platform, amely mellékesen nagyon jól hosztolja a git-et is. Tehát a döntés nem az, hogy „melyik a legjobb a három közül”. Hanem az, hogy „egy kis git szervert szeretnék, vagy egy mindent-egyben platformot, és megengedhetem-e magamnak azt a RAM-ot, amibe a mindent-egyben kerül?”
Az utolsó rész a feszültség forrása. A OneDev többet tud alapból, és a nodatools.com tesztje szerint alapjáraton nagyjából 3-szor annyi memóriát használ, mint egy csupasz Forgejo telepítés, ami egy kis VPS-en megduplázhatja a havi számlát. Ez a kompromisszum az egész lényege. (És nem, a GitLab nem szerepel ebben az összehasonlításban. Ha a GitLab lábnyomát keresnéd, nem erről a háromról olvasnál.)
Mindhármat futtattam már. Az alábbiakban az szerepel, ami valóban számít, amikor egy csapat számára választasz: az irányítási és licencbeli különbségek, amelyek elválasztják a Gitea-t a Forgejo-tól, a funkciók, amelyek indokolják a OneDev létjogosultságát, a tesztelt RAM-számok, valamint egy egyenes „ezt válaszd, ha…” mindegyikhez.
Röviden
- Egy könnyűsúlyú git szervert szeretnél Actions-stílusú CI-vel? Gitea vagy Forgejo. Válaszd a Gitea-t, ha fontos a szorosabb GitHub Actions kompatibilitás; válaszd a Forgejo-t, ha elfogadható a GitHub-szerű workflow-szintaxis néhány migrációs finomítással.
- Fontos számodra a nonprofit irányítás vagy a copyleft licenc? Forgejo. Ez a közösség által irányított fork, és a legtöbb csapat számára ez az alapértelmezett választásom.
- Az MIT licencet, a legnagyobb forge közösséget, vagy egy fizetős Enterprise szintet szeretnél SLA-val/SSO-val? Gitea.
- Beépített projektmenedzsmentet, csomagolt CI-t és kódintelligenciát szeretnél egyetlen telepítésben, és van felesleges RAM-od? OneDev. Csak tudd, hogy ~4 GB minimumra van szüksége ott, ahol a Forgejo megelégszik 1 GB-tal.
Gyors ítélet: A legtöbb csapat számára a Forgejo a helyes, kis erőforrásigényű alapértelmezett választás: ugyanaz a mag, mint a Giteánál, tisztább irányítás, és a Forgejo Actions GitHub-szerű workflow-szintaxissal. A OneDev-hez csak akkor nyúlj, ha valóban a beépített, egy dobozban kínált PM-plusz-CI élményt szeretnéd, és nem kell egy csomó meglévő GitHub Actions workflow-t migrálnod.
A két kérdés, amire ez a három eszköz választ ad

A OneDev a CI build daemonját a OneDev folyamaton belül futtatja, így nincs külön runner, amit telepíteni kellene. A Gitea és a Forgejo ennek az ellenkezőjét teszi: a git szerver egy önálló dolog, és a CI runnert külön folyamatként telepíted mellé. Ez az egyetlen architektúrabeli tény árulja el, hogyan gondolkodik magáról az adott eszköz.
A Gitea és a Forgejo elsősorban git-központú. A repók, pull requestek és a kódreview a mag; az issue-k és a kanban hasznos kiegészítők; a CI pedig valami, amit hozzácsatolsz. Az egész a git hosztolása köré épül, úgy, hogy közben nem áll az utadba. Ezért kicsik, gyorsak és olcsón üzemeltethetők.
A OneDev fordítva épül fel. Egy projektmenedzsment és CI/CD platform, ahol a git hosztolás egy elsőrangú komponens, de nem a szervező elv. A kanban táblák automatizáltak, a CI beépített, a kódintelligencia beépített, és arra számít, hogy a csapatod ott „éljen”, ne csak a kódod feküdjön ott. Ez egy valóban más termék, ezért téveszti el a lényeget, ha a „ki hosztolja jobban a git-et” szempontból hasonlítod össze a Giteával. Nagyjából egyformán jól hosztolják a git-et. A OneDev csak sokkal többet akar csinálni, és ezért erőforrásokban fizettet meg téged.
Minden további döntés ehhez a felosztáshoz igazodik. A Gitea kontra Forgejo választás egy aldöntés a „könnyűsúlyú forge” ágon belül. A „megéri-e a OneDev” kérdés teljesen a másik ág.
Gitea vs Forgejo: a majdnem-ikrek közötti döntés

Mindkettő nagyjából 180–350 MB RAM-ot használ, mindkettő ugyanazt a kódbázist osztja meg a forkolás pontjáig, és mindkettő ugyanúgy végzi az alapvető git hosztolást. A repók, pull requestek, kódreview, issue-k és az Actions-stílusú CI tekintetében nehéz lesz érdemi különbséget találnod a napi használatban, hacsak nem meglévő GitHub Actions workflow-kat migrálsz. Szóval tisztázzuk elöljáróban: ez nem funkciók közötti versengés. A onedev kontra gitea szakadék széles; a gitea kontra forgejo különbség arról szól, ki irányítja a projektet, és milyen licenc alatt adják ki.
Íme a háttér, amire tényleg szükséged van. 2022 októberében a Gitea domain és a védjegy egy irányítási vita középpontjába került, és válaszul jött létre a Forgejo. A Forgejo ma a Codeberg e.V. alatt működik, amely egy németországi nonprofit szervezet, és GPL-3.0 licenc alatt adják ki. A Gitea továbbra is MIT licencű, van ingyenes, nyílt forráskódú, önhosztolható kiadása, miközben a CommitGo mellette a Gitea Enterprise-t is árulja. A Forgejo így írja le ezt a megállapodást Open Core-nak; a Gitea/CommitGo vitatja ezt a besorolást, és azt állítja, hogy maga a nyílt forráskódú Gitea projekt nem tartalmaz zárt forráskódot. Az olvasók számára a gyakorlati különbség egyszerűbb, mint a politika: a Forgejo a nonprofit, copyleft, teljesen ingyenes kormányzásra optimalizál; a Gitea a megengedő MIT magot kínálja, plusz egy gyártói támogatású Enterprise utat.
Ebből három dolog következik, és mindegyik befolyásolja a döntést:
- Licenc. A GPL-3.0 copyleft (Forgejo) azt jelenti, hogy ha módosítod a Forgejo-t, és terjeszted a módosított verziót, a változtatásaidat GPL alatt kell megosztanod. Az MIT (Gitea) ezt nem követeli meg. A legtöbb csapat számára, akik módosítatlan példányt futtatnak belsőleg, ez soha nem merül fel. De ha a forge-ra építesz és azt szállítod tovább, ez számít.
- Biztonsági közlemények. A Forgejo nyilvános csatornákon keresztül mindenkit értesít a biztonsági közleményekről. A Gitea az előzetes biztonsági értesítéseket a fizető Enterprise-ügyfeleknek tartja fenn, ami azt jelenti, hogy az önhosztolt, ingyenes csomagot használó adminok tovább lehetnek kitéve egy ismert sebezhetőségnek, mint a fizető ügyfelek. Ha az ingyenes verziót futtatod, érdemes tudni erről az aszimmetriáról.
- Az egyik oldalon létezik fizetős csomag. A Gitea rendelkezik egy kereskedelmi Enterprise Edition kiadással ($9.50–$19/felhasználó/hónap), amely SSO-t, audit naplókat, elsőbbségi támogatást és SLA-t ad hozzá. A Forgejo-nak nincs fizetős csomagja, minden funkció benne van az ingyenes GPL buildben.
Ha ma Gitea-t használsz, és ez a Forgejo felé terel, a jó hír, hogy létezik támogatott migrációs út (a Gitea 1.22-nél lévő verziós határvonallal, amelyet érdemes megérteni, mielőtt nekiállsz). Ezt külön leírtam, lásd a teljes migrációs bemutató a verziónkénti bontásért. Ha GitHub-ról jössz, és még nem választottál forge-ot, az egy külön döntés a saját kompromisszumaival, amit érdemes önmagában végiggondolni.
A szakasz lényege: az alapvető git hosting terén a Gitea és a Forgejo döntetlenre áll. Válaszd a Forgejo-t, ha nonprofit tulajdonlást, copyleft licencet és nyilvános biztonsági közleményeket szeretnél. Válaszd a Gitea-t, ha az MIT licencet, a nagyobb közösséget vagy a kereskedelmi Enterprise szintet szeretnéd.
Miben tényleg más a OneDev
Futtasd a OneDev-et (jelen írás szerint 16.0.1) egy napig, és az első dolog, amit észreveszel, hogy soha nem kellett CI futtatót telepítened. A build daemon a OneDev szerveren belül fut, így a CI abban a pillanatban működik, amint a platform elindul. Pipeline-t építhetsz egy GUI-ban egyetlen sor YAML megírása nélkül, egy feladatot webterminálon keresztül hibakereshetsz, és egy buildet még commit nélküli helyi változtatások ellen is tesztelhetsz, mielőtt push-olnál. Ez valódi üzemeltetési egyszerűsítés a Gitea és a Forgejo által megkövetelt "telepítsd a szervert, majd telepíts és regisztrálj egy külön futtatót" tánchoz képest.
A csapda, és ez meglévő csapatok számára jelentős, hogy a OneDev saját YAML dialektust használ. Ez nem GitHub Actions-kompatibilis. Minden GitHub, Gitea vagy Forgejo számára írt workflow-t át kell írni ahhoz, hogy a OneDev-en fusson. Ha van egy csomó .github/workflows fájlod, amelyekre támaszkodsz, az valódi migrációs költség, nem lábjegyzet. A Gitea és a Forgejo egyaránt örökli a GitHub Actions ökoszisztémáját, de nem ugyanúgy. A Gitea Actions úgy lett tervezve, hogy közvetlenül helyettesítse a GitHub Actionst, így a legtöbb workflow változtatás nélkül átvihető. A Forgejo runnere a gyakorlatban kompatibilis, de vannak dokumentált hiányosságai: hiányzó permissions alkulcs, figyelmen kívül hagyott continue-on-error, eltérő OIDC szintaxis. Ezeket ellenőrizd, mielőtt teljes hordozhatóságot feltételeznél.
A második dolog, amit a OneDev tud, de a kisebb forge-ok egyszerűen nem: kódintelligencia a webes UI-ban. A szimbólumkeresés, a definícióra ugrás és a hivatkozások keresése számos nyelven működik (a hivatalos lista Java, JavaScript, C, C++, C#, Go, PHP és Python nyelveket tartalmaz) anélkül, hogy a repót helyben klónoznád. A Gitea és a Forgejo nem tartalmaz ehhez hasonló beépített funkciót, így külső eszközhöz kellene nyúlnod. Ha a csapatod sok kódellenőrzést végez a böngészőben, ez tényleg hasznos.
Egészítsd ki mindezt egy teljesen automatizált kanbannal (szabályalapú feladatmozgatás, egyedi állapotok és mezők, átmeneti szabályok), egy service deskkel, amely a bejövő e-maileket issue-vá alakítja anélkül, hogy a küldőnek fiókra lenne szüksége, valamint nyilvános projekteken belüli bizalmas issue-kkal, és megvan a kép: a OneDev egyszerre próbál lenni az issue tracker, a CI rendszer, a kódböngésző és a projekttábla.
Érdemes tisztázni valamit a csomagregisztrikkal kapcsolatban. A OneDev-nek van beépített registrye; ez a rész egyértelmű. A csomag oktatóanyag felsorolja a Docker, npm, NuGet, Maven, PyPI és RubyGems formátumokat, míg a jelenlegi termékleírás a Helm-et is megemlíti. A Gitea és a Forgejo még mindig sokkal szélesebb csomagformátum-készletet fed le, beleértve az Alpine, Arch, Cargo, Composer, Conan, Conda, Debian, Go, Helm, Maven, npm, NuGet, PyPI, RPM, RubyGems, Swift, Vagrant és más formátumokat is. Ha a csapatod a OneDev szűkebb regiszterkészletén kívüli csomagformátumokra támaszkodik, a Gitea vagy a Forgejo a biztonságosabb választás.
A szakasz lényege: a OneDev egyetlen telepítésben ad beépített CI-t, kódintelligenciát és egy teljes PM csomagot. Ezért cserébe át kell írnod a meglévő GitHub Actions workflow-kat, el kell fogadnod egy kisebb ökoszisztémát, és (ahogy a következő szakasz taglalja) jóval több RAM-ot kell adnod neki.
Az erőforrásköltség: mire van ténylegesen szükségük

A szám, amely sok csapat számára eldönti ezt az egész összehasonlítást, a nodatools.com tesztjéből származik: a OneDev alapjáraton nagyjából 600 MB RAM-ot használt, míg a Forgejo körülbelül 180 MB-ot. Ez több mint 3-szoros, és terhelés alatt tovább nő. Íme a tesztelt számaik innen: nodatools.com's measured comparison, futtatva egy friss VPS-en:
| Eszköz | Jelenlegi verzió | RAM üresjáratban (tesztelve) | Aktív RAM terhelés alatt (tesztelve) | Hivatalos minimum |
|---|---|---|---|---|
| Forgejo | v15.0.3 LTS | ~180 MB | ~320 MB | 512 MB |
| Gitea | 1.26.4 | ~200 MB | ~350 MB | 512 MB |
| OneDev | 16.0.1 | ~600 MB | ~950 MB | 2 GB |
Miért van ez a különbség? A OneDev nagyrészt Java nyelven íródott, így a JVM olyan heap többletköltséget hordoz, amellyel a Go alapú Gitea és Forgejo egyszerűen nem rendelkezik. Ráadásul a OneDev indexeli a kódot az intelligencia funkcióihoz, és ez a kezdeti indexelés memóriaéhes. Amikor először állítottam fel, az indításkori csúcs volt a legijesztőbb rész, és ez nem az állandósult állapot.
Szakértői tipp: ne ijedj meg a OneDev indítási memóriahasználatától. Ez közvetlenül indítás után megugorhat, amíg a JVM bemelegszik és felépül a kezdeti kódindex, majd a rendszer stabilizálódása után visszaáll az alapjárati értékhez közeli szintre. Ennek ellenére a reális működési számmal tervezz, ne az alapjáratival. Ha a CI aktívan futtat feladatokat, számolj folyamatosan 1–2 GB-tal. A 2 GB hivatalos minimum nem véletlenül van megadva.
Méretezés szempontjából ez tisztán lefordítható VPS-kategóriákra:
- Forgejo vagy Gitea, alaptelepítés, CI runner nélkül a gépen: 1 GB RAM / 1 vCPU is comfortable.
- Forgejo vagy Gitea CI runnerrel ugyanazon a szerveren: emeld meg 4 GB RAM-ra / 2 vCPU-ra, hogy a futtatónak legyen helye.
- OneDev, alaptelepítés: 4 GB RAM is the practical floor. Go to 8 GB if code indexing is heavy or CI is busy.
Vagyis a költségkülönbség egyáltalán nem elhanyagolható. Egy letisztult git szerver, amely megelégszik 1 GB-os géppel, a 4 GB-ot kívánó OneDev-példánnyal szemben nagyjából a havi VPS-számla megduplázódását jelenti. Egy magányos fejlesztő vagy kis csapat esetében ez a különbség a "gyakorlatilag ingyen futtatható" és egy olyan tétel között, amit észre fogsz venni. Egy nagyobb csapatnál, amely naponta a beépített CI-re és PM-re támaszkodik, ez teljesen megérheti. De ez egy valódi csere: a OneDev többletköltsége a JVM, és ez a költség adja azt, amit a JVM futtat.
Gitea, Forgejo, és OneDev mind egykattintásos telepítések itt: A Cloudzy piactere, tehát ha egyszer méretezted, egy forge felállítása pár percet vesz igénybe ahelyett, hogy egy egész délutánt a Docker bűvészkedéssel töltenél. Ha CI runnert vagy a OneDev kódindexelését futtatod, a plusz tartalék egy Linux VPS root hozzáféréssel, így magad hangolhatod a JVM heapet és a futtató párhuzamosságát.
Egy Cloudzy-specifikus megjegyzés: a Marketplace alkalmazáskártyák jelenleg 2 GB RAM-mal indítják a Gitea-t, a Forgejo-t és a OneDev-et. A fenti 1 GB-os ajánlás a helyi CI runner nélküli, letisztult, manuális telepítésekre vonatkozik. Ha a Cloudzy Marketplace-en keresztül telepítesz, kövesd az alkalmazáskártya minimumát, hogy az operációs rendszernek, az adatbázisnak, a csomagfrissítéseknek és a háttérszolgáltatásoknak legyen mozgástere.
Melyiket válaszd?
Láttad a táblázatot és a kompromisszumokat, szóval itt van az egyenes véleményem minden olvasói profilhoz, mindhárom futtatásából szerzett tapasztalat alapján.
Válaszd a Forgejo-t ha egy könnyűsúlyú, közösség által irányított forge-ot szeretnél Actions-stílusú CI-vel, és el tudod fogadni a GitHub Actions-től eltérő kisebb workflow különbségeket. Ez az alapértelmezett ajánlásom a legtöbb csapat számára. Ugyanazt az alapvető git hostingot kapod, mint a Gitea-nál, tisztább nonprofit tulajdonlást, nyilvános biztonsági közleményeket, copyleft licencet, és a három közül a legkisebb RAM lábnyomot. Ha nincs konkrét okod egy másik választására, ezt válaszd.
Válaszd a Gitea-t, ha kifejezetten az MIT licencet szeretnéd (megengedőbb, mint a Forgejo GPL-3.0 licence), a legnagyobb forge közösséget és ökoszisztémát, vagy egy kereskedelmi Enterprise szintet SSO-val, audit naplókkal és SLA-val. A nyers git hosting terén döntetlenre áll a Forgejo-val, így a licenc és a tulajdonlási preferencia alapján választasz, plusz a fizetős támogatási lehetőség, ha a szervezetednek szüksége van egy gyártóra, akit felhívhat.
Válaszd a OneDev-et, ha beépített projektmenedzsmentet, csomagolt CI-t és kódintelligenciát szeretnél egyetlen telepítésben, teljesen nulláról indulsz (nincsenek meglévő GitHub Actions workflow-jaid migrálandó), és megvan a RAM-kereted egy 4 GB feletti géphez. A Forgejo és a OneDev közötti döntés valójában erre vezethető vissza: git szervert veszel, vagy platformot? Ha a válasz "platform, és nem akarok magam CI-t rácsatolni", akkor a OneDev megéri a többletköltségét.
Egy könnyen figyelmen kívül hagyott döntési szempont: nincs migrációs út a Gitea/Forgejo család és a OneDev között. Eltérő adatmodell, eltérő CI-formátum, eltérő séma. Ha Forgejo-val kezdesz, és később úgy döntesz, hogy OneDev-et szeretnél (vagy fordítva), egy API-alapú, repónkénti átállásra számíthatsz, amely elveszíti a CI-előzményeidet és a projektmenedzsment-adataidat. Tehát ha a OneDev mindent-egyben megközelítése egyáltalán vonzó számodra, sokkal olcsóbb ott kezdeni, mint később átváltani rá. A Gitea és a Forgejo között viszont létezik migráció (ez a a migrációs út fentebb tárgyaltuk), de a könnyűsúlyú forge-ról OneDev-re való átlépés egyirányú, adatvesztéssel járó út. Ezt vedd figyelembe a döntésnél most, ne tizennyolc hónap múlva.
Gyakran ismételt kérdések
Még mindig nyílt forráskódú a Gitea?
Igen. A Gitea magja MIT licencű, és korlátlan számú felhasználóval és repositoryval ingyenesen önállóan üzemeltethető. A gyakorlati fenntartás nem a forráskód elérhetőségére, hanem a kormányzásra vonatkozik: a Gitea céges irányítás alatt áll, és a CommitGo révén gyártói támogatású Enterprise ajánlattal rendelkezik, míg a Forgejo a Codeberg e.V. alatt működő, közösség által irányított, GPL licencű fork. A Forgejo Gitea kereskedelmi konstrukcióját Open Core-ként írja le; A Gitea/CommitGo vitatja ezt a minősítést és azt állítja, hogy maga a nyílt forráskódú projekt nem tartalmaz zárt forráskódot. Vagyis a Gitea továbbra is nyílt forráskódú, de nem közösség által irányított ugyanúgy, mint a Forgejo.
Jobb a Forgejo, mint a Gitea?
Az alapvető git hosztolás terén szinte teljesen megegyeznek: a Forgejo a Gitea-ból forkolódott, és ugyanazt az alapot használja. A Forgejo az irányításban (nonprofit Codeberg e.V.), a licencben (GPL-3.0 copyleft a Gitea MIT licencével szemben) és a biztonsági közlemények kezelésében (mindenki számára nyilvános, szemben a Gitea Enterprise-ügyfeleket előnyben részesítő politikájával) különbözik. Hogy melyik a „jobb”, attól függ, mennyire számítanak neked ezek a szempontok; pusztán a funkciók alapján döntetlen.
Mennyi RAM-ra van szüksége a OneDev-nek?
A OneDev hivatalos minimuma 2 GB RAM. A nodatools.com tesztjében üresjáratban körülbelül 600 MB-ot használt, terhelés alatt pedig nagyjából 950 MB-ot ért el. Indításkor magasabb lehet, amíg a JVM bemelegszik és az indexelés befejeződik, de aktívan futó CI mellett folyamatosan 1–2 GB-ot érdemes betervezni. Összehasonlításképp ugyanez a teszt a Forgejo-t és a Gitea-t ~180–200 MB körüli üresjárati értéken mérte.
Migrálhatok Gitea-ból OneDev-be, vagy OneDev-ből Forgejo-ba?
Nincs közvetlen migrációs út a Gitea/Forgejo család és a OneDev között. Eltérő adatmodelleket, CI-formátumokat és sémákat használnak, így az átállás egy API-alapú, repónkénti migrációt igényelne, amely elveszíti a CI és a projektmenedzsment előzményeit. A Gitea és a Forgejo közötti migráció viszont létezik (lásd a Gitea-Forgejo migrációs útmutatónk), mivel közös eredetűek.
Támogatja a OneDev a GitHub Actionst?
Nem. A OneDev saját YAML dialektust használ egy GUI pipeline-szerkesztővel kiegészítve, így a GitHub, Gitea vagy Forgejo számára írt workflow-kat át kell írni ahhoz, hogy fussanak rajta. A Gitea Actions közvetlen helyettesítőnek lett tervezve, így a legtöbb meglévő workflow változtatás nélkül fut. A Forgejo runnere a gyakorlatban kompatibilis, de nem arra tervezték, hogy pontosan tükrözze a GitHub Actionst; nézd meg a hivatalos Forgejo dokumentációt a dokumentált inkompatibilitásokért, mielőtt teljes hordozhatóságot feltételeznél.