In een vergelijking van gitea versus forgejo versus onedev kijk je naar drie tools die twee verschillende vragen beantwoorden. Gitea en Forgejo zijn git-servers waar projectmanagement aan is toegevoegd. OneDev is een projectmanagement-en-CI-platform dat toevallig heel goed git host. De beslissing is dus niet "welke van deze drie is het beste." Het is "wil ik een kleine git-server, of een alles-in-één platform, en kan ik het RAM-verbruik van het alles-in-één betalen?"
Dat laatste is de spanning. OneDev doet meer standaard, en uit tests van nodatools.com bleek dat het inactief ongeveer 3x zoveel geheugen gebruikt als een kale Forgejo-installatie, wat op een kleine VPS je maandelijkse rekening kan verdubbelen. Die afweging is de kern van de zaak. (En nee, GitLab zit niet in deze vergelijking. Als je GitLab's footprint had gewild, zou je niet over deze drie lezen.)
Ik heb alle drie gedraaid. Hieronder staat wat er echt toe doet als je er een kiest voor een team: de verschillen in bestuur en licentie die Gitea van Forgejo scheiden, de functies die het bestaansrecht van OneDev rechtvaardigen, de geteste RAM-cijfers, en een rechttoe rechtaan "kies dit als..." voor elk.
TL;DR
- Wil je een lichtgewicht git-server met CI in Actions-stijl? Gitea of Forgejo. Kies Gitea als nauwere GitHub Actions-compatibiliteit belangrijk is; kies Forgejo als GitHub-achtige workflowsyntax met enkele migratie-aanpassingen acceptabel is.
- Geeft je om non-profit bestuur of een copyleft-licentie? Forgejo. Het is de door de community bestuurde fork, en het is mijn standaardkeuze voor de meeste teams.
- Wil je de MIT-licentie, de grootste forge-community, of een betaalde Enterprise-laag met SLA/SSO? Gitea.
- Wil je ingebouwd projectbeheer, gebundelde CI en code-intelligentie in één installatie, en heb je RAM over? OneDev. Weet alleen dat het minimaal ~4 GB nodig heeft, terwijl Forgejo genoeg heeft aan 1 GB.
Kort oordeel: Voor de meeste teams is Forgejo de juiste standaardkeuze met een kleine voetafdruk: dezelfde kern als Gitea, een helderder bestuur, en Forgejo Actions met GitHub-achtige workflowsyntax. Grijp alleen naar OneDev als je echt de gebundelde PM-plus-CI-ervaring in één pakket wilt en je geen stapel bestaande GitHub Actions-workflows migreert.
De twee vragen die deze drie tools beantwoorden

OneDev draait zijn CI-builddaemon binnen het OneDev-proces, dus er is geen aparte runner om te implementeren. Gitea en Forgejo doen het tegenovergestelde: de git-server is één ding, en je implementeert een CI runner als apart proces ernaast. Dat ene architecturale feit verraadt hoe elke tool zichzelf ziet.
Gitea en Forgejo zijn git-first. Repositories, pull requests en code review vormen de kern; issues en kanban zijn nuttige toevoegingen; CI is iets dat je eraan koppelt. Het geheel is gebouwd rond het hosten van git en het niet in de weg staan. Daarom zijn ze klein, snel en goedkoop om te draaien.
OneDev is precies andersom opgebouwd. Het is een projectmanagement- en CI/CD-platform waarbij git-hosting een volwaardig onderdeel is, maar niet het organiserende principe. De kanban-borden zijn geautomatiseerd, de CI is ingebouwd, code-intelligentie zit erin, en het verwacht de plek te zijn waar je team leeft, niet alleen de plek waar je code staat. Dat is een wezenlijk ander product, en daarom mist het vergelijken met Gitea op "wie host git beter" het punt. Ze hosten git ongeveer even goed. OneDev wil gewoon veel meer doen, en het rekent je daarvoor in resources.
Alles wat daarna komt is terug te voeren op deze splitsing. De keuze tussen Gitea en Forgejo is een subbeslissing binnen de tak "lichtgewicht forge". De vraag "is OneDev het waard" is de volledig andere tak.
Gitea vs Forgejo: de bijna-tweeling-beslissing

Beide gebruiken ongeveer 180–350 MB RAM, beide delen dezelfde codebase tot aan het fork-punt, en beide doen de kern van git-hosting op dezelfde manier. Voor repositories, pull requests, code review, issues en Actions-achtige CI zul je in het dagelijks gebruik moeite hebben om een betekenisvol verschil te vinden, tenzij je bestaande GitHub Actions-workflows migreert. Laten we dus vooraf duidelijk zijn: dit is geen functiestrijd. Het verschil tussen onedev en gitea is groot; het verschil tussen gitea en forgejo gaat over wie het project controleert en onder welke licentie het wordt uitgebracht.
Dit is de achtergrond die je echt nodig hebt. In oktober 2022 werden het Gitea-domein en handelsmerk het middelpunt van een bestuursgeschil, en Forgejo werd als reactie daarop opgericht. Forgejo valt nu onder Codeberg e.V., een non-profitorganisatie in Duitsland, en wordt uitgebracht onder GPL-3.0. Gitea blijft MIT-gelicentieerd en heeft een gratis open-source self-hosted editie, terwijl CommitGo daarnaast Gitea Enterprise verkoopt. Forgejo beschrijft die regeling als Open Core; Gitea/CommitGo betwist dat label en zegt dat het open source Gitea-project zelf geen propriëtaire code bevat. Voor lezers is het praktische verschil eenvoudiger dan de politiek: Forgejo optimaliseert voor non-profit, copyleft, volledig vrij bestuur; Gitea biedt de permissieve MIT-kern plus een door een leverancier ondersteund Enterprise-pad.
Daaruit volgen drie dingen, en elk daarvan is relevant voor je beslissing:
- Licentie. GPL-3.0 copyleft (Forgejo) betekent dat als je Forgejo aanpast en de aangepaste versie distribueert, je je wijzigingen onder GPL moet delen. MIT (Gitea) vereist dat niet. Voor de meeste teams die intern een ongewijzigde instantie draaien, komt dit nooit ter sprake. Maar als je bovenop de forge bouwt en het uitlevert, doet het ertoe.
- Beveiligingsmeldingen. Forgejo informeert iedereen over beveiligingsadviezen via openbare kanalen. Gitea reserveert vroegtijdige beveiligingsmeldingen voor betalende Enterprise-klanten, wat betekent dat self-hosted beheerders op de gratis laag langer blootgesteld kunnen zijn aan een bekende kwetsbaarheid dan betalende klanten. Als je de gratis versie draait, is die asymmetrie de moeite waard om te weten.
- Aan één kant bestaat er een betaalde laag. Gitea heeft een commerciële Enterprise Edition ($9.50–$19/gebruiker/maand) die SSO, auditlogs, prioritaire ondersteuning en een SLA toevoegt. Forgejo heeft geen betaalde laag, elke functie zit in de gratis GPL-build.
Als je vandaag op Gitea zit en dit je richting Forgejo duwt, is het goede nieuws dat er een ondersteund migratiepad bestaat (met een versiegrens bij Gitea 1.22 die je beter kunt begrijpen voordat je begint). Ik heb dat apart uitgeschreven, zie de volledige migratiehandleiding voor het overzicht per versie. Als je van GitHub afkomstig bent en nog geen forge hebt gekozen, is dat een aparte beslissing met eigen afwegingen die het waard is om op eigen merites te doorlopen.
Kern van deze sectie: voor kern-git-hosting staan Gitea en Forgejo gelijk. Kies Forgejo als je non-profit eigendom, copyleft en publieke beveiligingsmeldingen wilt. Kies Gitea als je de MIT-licentie, de grotere community, of de commerciële Enterprise-laag wilt.
Waar OneDev echt anders is
Draai OneDev (16.0.1 op het moment van schrijven) een dag en het eerste dat opvalt is dat je nooit een CI-runner hebt uitgerold. De builddaemon draait binnen de OneDev-server zelf, dus CI werkt zodra het platform actief is. Je kunt een pipeline bouwen in een GUI zonder een regel YAML te schrijven, een taak debuggen via een webterminal, en een build testen tegen niet-gecommitte lokale wijzigingen nog voordat je pusht. Dat is een echte operationele vereenvoudiging ten opzichte van het "installeer de server, installeer en registreer dan een aparte runner"-gedoe dat Gitea en Forgejo vereisen.
De adder onder het gras, en dat is een grote voor bestaande teams, is dat OneDev zijn eigen YAML-dialect gebruikt. Het is niet GitHub Actions-compatibel. Elke workflow die je voor GitHub, Gitea of Forgejo hebt geschreven, moet worden herschreven om op OneDev te draaien. Als je een stapel .github/workflows-bestanden hebt waar je op vertrouwt, is dat een echte migratiekost, geen voetnoot. Gitea en Forgejo erven allebei het GitHub Actions-ecosysteem, maar niet op dezelfde manier. Gitea Actions is ontworpen als een drop-in vervanging voor GitHub Actions, dus de meeste workflows gaan ongewijzigd over. De runner van Forgejo is in de praktijk compatibel maar heeft gedocumenteerde tekortkomingen: een ontbrekende permissions-subkey, genegeerde continue-on-error, andere OIDC-syntax. Controleer die voordat je volledige overdraagbaarheid aanneemt.
Het tweede dat OneDev doet dat de kleinere forges gewoonweg niet doen: code-intelligentie in de web-UI. Symboolzoeken, ga-naar-definitie en zoek-referenties werken voor een reeks talen (de officiële lijst omvat Java, JavaScript, C, C++, C#, Go, PHP en Python) zonder de repo lokaal te clonen. Gitea en Forgejo hebben hier niets vergelijkbaars ingebouwd, dus daarvoor grijp je naar een extern hulpmiddel. Als je team veel codereview in de browser doet, is dit echt fijn.
Maak het compleet met volledig geautomatiseerd kanban (taakverplaatsing op basis van regels, aangepaste statussen en velden, overgangsregels), een servicedesk die inkomende e-mail omzet in issues zonder dat de afzender een account nodig heeft, en vertrouwelijke issues binnen publieke projecten, en je hebt het plaatje compleet: OneDev probeert tegelijk je issue tracker, je CI-systeem, je codebrowser en je projectbord te zijn.
Eén verduidelijking over pakketregisters is de moeite waard. OneDev heeft een ingebouwd register; dat deel is duidelijk. Zijn pakkettutorial noemt Docker, npm, NuGet, Maven, PyPI en RubyGems, terwijl de huidige productbeschrijving ook Helm noemt. Gitea en Forgejo dekken nog steeds een veel breder scala aan pakketformaten, waaronder Alpine, Arch, Cargo, Composer, Conan, Conda, Debian, Go, Helm, Maven, npm, NuGet, PyPI, RPM, RubyGems, Swift, Vagrant en meer. Als je team afhankelijk is van pakketformaten buiten de smallere registerset van OneDev, is Gitea of Forgejo de veiligere keuze.
Kern van deze sectie: OneDev geeft je ingebouwde CI, code-intelligentie en een volledige PM-suite in één installatie. Je betaalt hiervoor door eventuele GitHub Actions-workflows te herschrijven, een kleiner ecosysteem te accepteren, en (zoals de volgende sectie behandelt) er veel meer RAM in te stoppen.
De resourcekosten: wat elk systeem daadwerkelijk nodig heeft

Het getal dat voor veel teams deze hele vergelijking beslist, komt uit de tests van nodatools.com: OneDev gebruikte inactief ongeveer 600 MB RAM, terwijl Forgejo inactief ongeveer 180 MB gebruikte. Dat is meer dan 3x, en het loopt verder op onder belasting. Hier zijn hun geteste cijfers uit nodatools.com's measured comparison, uitgevoerd op een nieuwe VPS:
| Tool | Huidige versie | RAM in rust (getest) | Actief RAM onder belasting (getest) | Officieel 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 |
Waarom dat verschil? OneDev is grotendeels in Java geschreven, dus de JVM brengt een heap-overhead met zich mee die de op Go gebaseerde Gitea en Forgejo simpelweg niet hebben. Daarnaast indexeert OneDev code voor zijn intelligentiefuncties, en die eerste indexering is geheugenhongerig. Toen ik het voor het eerst opzette, was de piek tijdens het opstarten het meest verontrustende deel, en dat is niet de stabiele toestand.
Pro tip: raak niet in paniek van het opstartgeheugen van OneDev. Het kan direct na het opstarten pieken terwijl de JVM opwarmt en de initiële codeindex wordt opgebouwd, om vervolgens weer te dalen richting het inactieve niveau zodra alles gestabiliseerd is. Plan echter voor het realistische werkgetal, niet het inactieve. Reken met actief draaiende CI-taken consequent op 1–2 GB. Het officiële minimum van 2 GB bestaat niet voor niets.
Qua formaat vertaalt zich dat netjes naar VPS-tiers:
- Forgejo of Gitea, basisinstallatie, geen CI runner op de machine: 1 GB RAM / 1 vCPU is comfortable.
- Forgejo of Gitea met een CI runner op dezelfde server: verhoog naar 4 GB RAM / 2 vCPU zodat de runner ruimte heeft.
- OneDev, basisinstallatie: 4 GB RAM is the practical floor. Go to 8 GB if code indexing is heavy or CI is busy.
Het kostenverschil is dus niet subtiel. Een uitgeklede git-server die prima draait op een server van 1 GB tegenover een OneDev-instantie die 4 GB wil, betekent ruwweg een verdubbeling van je maandelijkse VPS-rekening. Voor een solodeveloper of een klein team is dat het verschil tussen "vrijwel gratis om te draaien" en een kostenpost die je opvalt. Voor een groter team dat dagelijks op de gebundelde CI en PM leunt, kan het absoluut de moeite waard zijn. Maar het is een echte afweging: de overhead van OneDev is de JVM, en die kosten kopen je wat de JVM oplevert.
Gitea, Forgejo, en OneDev zijn allemaal één-klik-deployments in Cloudzy's marketplace, dus zodra je het formaat hebt bepaald, kost het opzetten van een forge een paar minuten in plaats van een middag Docker-gepriegel. Als je een CI runner of OneDev's code-indexering draait, zit de extra marge in een Linux VPS met root-toegang, zodat je zelf de JVM-heap en runner-gelijktijdigheid kunt afstellen.
Eén Cloudzy-specifieke opmerking: de Marketplace-appkaarten starten Gitea, Forgejo en OneDev momenteel op 2 GB RAM. De aanbeveling van 1 GB hierboven geldt voor lichte handmatige installaties zonder lokale CI runner. Als je implementeert via de Cloudzy Marketplace, volg dan het minimum van de appkaart zodat het besturingssysteem, de database, pakketupdates en achtergrondservices voldoende ruimte hebben.
Welke moet je kiezen?
Je hebt de tabel en de afwegingen gezien, dus hier is mijn rechttoe-rechtaan advies voor elk lezersprofiel, gebaseerd op het draaien van alle drie.
Kies Forgejo als je een lichtgewicht, door de community bestuurde forge wilt met CI in Actions-stijl en je kleine workflowverschillen met GitHub Actions kunt accepteren. Dit is mijn standaardaanbeveling voor de meeste teams. Je krijgt dezelfde kern-git-hosting als Gitea, zuiverder non-profit eigendom, publieke beveiligingsmeldingen, een copyleft-licentie, en de lichtste RAM-footprint van de drie. Als je geen specifieke reden hebt om een van de andere te kiezen, kies dan deze.
Kies Gitea als je specifiek de MIT-licentie wilt (permissiever dan de GPL-3.0 van Forgejo), de grootste forge-community en het grootste ecosysteem, of een commerciële Enterprise-laag met SSO, auditlogs en een SLA. Op het gebied van pure git-hosting is het gelijkspel met Forgejo, dus je kiest op basis van licentie- en eigendomsvoorkeur, plus de betaalde-ondersteuningsoptie als jouw organisatie een leverancier nodig heeft om te bellen.
Kies OneDev als je ingebouwd projectbeheer, gebundelde CI en code-intelligentie in één installatie wilt, je vanaf nul begint (geen bestaande GitHub Actions-workflows om te migreren), en je het RAM-budget hebt voor een server van 4 GB of meer. De keuze tussen Forgejo en OneDev komt eigenlijk hierop neer: koop je een git-server, of een platform? Als het antwoord "platform, en ik wil CI niet zelf erbij plakken" is, verdient OneDev zijn overhead.
Eén beslissingsfactor die makkelijk over het hoofd wordt gezien: er is geen migratiepad tussen de Gitea/Forgejo-familie en OneDev. Ander datamodel, ander CI-formaat, ander schema. Als je begint met Forgejo en later besluit dat je OneDev wilt (of andersom), krijg je te maken met een op API gebaseerde, repo-per-repo overstap waarbij je CI-geschiedenis en projectmanagementdata verloren gaan. Dus als OneDev's alles-in-één-aanpak je ook maar enigszins aanspreekt, is het veel goedkoper om daar meteen mee te beginnen dan er later naartoe over te stappen. Tussen Gitea en Forgejo bestaat migratie wel (dat is het migratiepad hierboven behandeld), maar de overstap van een lichtgewicht forge naar OneDev is een reis met verlies zonder weg terug. Neem dat nu mee in de beslissing, niet over achttien maanden.
Veelgestelde vragen
Is Gitea nog steeds open source?
Ja. De kern van Gitea is MIT-gelicentieerd en gratis te self-hosten met onbeperkt aantal gebruikers en repositories. Het praktische voorbehoud zit in het bestuur, niet in de beschikbaarheid van de broncode: Gitea wordt door een bedrijf gecontroleerd en heeft een door een leverancier ondersteund Enterprise-aanbod via CommitGo, terwijl Forgejo de door de community bestuurde, GPL-gelicentieerde fork is onder Codeberg e.V. Forgejo omschrijft de commerciële regeling van Gitea als Open Core; Gitea/CommitGo betwist dat label en zegt dat het open source project zelf geen propriëtaire code bevat. Gitea is dus nog steeds open source, maar het wordt niet op dezelfde manier door de community bestuurd als Forgejo.
Is Forgejo beter dan Gitea?
Voor de kern van git-hosting zijn ze bijna identiek: Forgejo is afgesplitst van Gitea en deelt dezelfde basis. Forgejo verschilt op het gebied van bestuur (non-profit Codeberg e.V.), licentie (GPL-3.0 copyleft tegenover Gitea's MIT), en beveiligingsmeldingen (openbaar voor iedereen, tegenover het Enterprise-klanten-eerst-beleid van Gitea). "Beter" hangt af van of die dingen voor jou belangrijk zijn; puur op functies is het gelijkspel.
Hoeveel RAM heeft OneDev nodig?
Het officiële minimum van OneDev is 2 GB RAM. In de tests van nodatools.com lag het in rust rond 600 MB en piekte het onder belasting op ongeveer 950 MB. Bij het opstarten kan het hoger uitvallen terwijl de JVM opwarmt en de indexering voltooit, maar met actief draaiende CI moet je consequent rekenen op 1–2 GB. Ter vergelijking: diezelfde tests plaatsten Forgejo en Gitea op ~180–200 MB in rust.
Kan ik migreren van Gitea naar OneDev, of van OneDev naar Forgejo?
Er bestaat geen direct migratiepad tussen de Gitea/Forgejo-familie en OneDev. Ze gebruiken verschillende datamodellen, CI-formaten en schema's, dus overstappen zou een op API gebaseerde, repo-per-repo migratie vereisen waarbij CI- en projectmanagementgeschiedenis verloren gaat. Migratie tussen Gitea en Forgejo bestaat wel (zie onze migratiegids van Gitea naar Forgejo), omdat ze dezelfde afstamming delen.
Ondersteunt OneDev GitHub Actions?
Nee. OneDev gebruikt zijn eigen YAML-dialect plus een GUI-pipeline-editor, dus workflows die voor GitHub, Gitea of Forgejo zijn geschreven, moeten worden herschreven om erop te draaien. Gitea Actions is ontworpen als drop-in vervanging, dus de meeste bestaande workflows draaien zonder wijzigingen. De runner van Forgejo is in de praktijk compatibel maar is niet ontworpen om GitHub Actions exact na te bootsen; controleer de officiële Forgejo-documentatie op gedocumenteerde incompatibiliteiten voordat je volledige overdraagbaarheid aanneemt.