Forgejo vs. GitLab CE: Self-Hosted Git Hosting im Vergleich 2026

Wer seinen eigenen Git-Server betreiben möchte, hat die Qual der Wahl. Forgejo und GitLab CE sind zwei der meistgenutzten selbst gehosteten Git-Plattformen – doch sie richten sich an sehr unterschiedliche Zielgruppen. Forgejo ist minimalistisch und ressourceneffizient, GitLab CE bietet ein vollständiges DevOps-Ökosystem. Dieser Vergleich hilft bei der Entscheidung.


Was ist Forgejo?

Forgejo (gesprochen: „For-gay-ho") ist ein 2022 entstandener Community-Fork von Gitea. Der Fork wurde notwendig, nachdem Gitea Inc. (der kommerzielle Ableger) zunehmend Kontrolle über das ursprünglich rein community-getriebene Projekt übernahm. Forgejo betont:

  • Community-First Governance: Keine kommerzielle Einflussnahme, Entscheidungen durch die Community
  • Gitea-Kompatibilität: Alle Gitea-APIs, -Themes und -Plugins funktionieren mit Forgejo
  • Schlankheit: Minimaler Ressourcenverbrauch, läuft auf einem Raspberry Pi

Forgejo ist der direkte Nachfolger in der Gogs → Gitea → Forgejo-Linie.


Was ist GitLab CE?

GitLab Community Edition ist die Open-Source-Version der gleichnamigen DevOps-Plattform. GitLab CE enthält:

  • Git-Hosting mit Merge Requests, Issues, Wiki
  • Integriertes CI/CD (GitLab CI/CD Pipelines)
  • Container Registry (Docker Images hosten)
  • Package Registry (npm, Maven, PyPI, etc.)
  • GitLab Pages (statische Websites hosten)
  • Integriertes Kubernetes-Management
  • Dependency Scanning, SAST, Secret Detection (in CE eingeschränkt)

GitLab CE ist ein vollständiges DevOps-Tool – nicht nur Git-Hosting.


Direkter Vergleich: Forgejo vs. GitLab CE

Ressourcenverbrauch

Dies ist der größte Unterschied zwischen den Tools:

Forgejo GitLab CE
RAM (min) ~100–200 MB ~4–6 GB
RAM (empfohlen) ~512 MB ~8–16 GB
CPU 1 Core ausreichend 2–4 Cores empfohlen
Disk ~200 MB (ohne Repos) ~3–5 GB (ohne Repos)
Installation Docker Compose, 1 Container Docker Compose, 4+ Services

GitLab CE besteht aus mehreren Diensten: Puma (Rails), Sidekiq, PostgreSQL, Redis, Nginx, Gitaly, Runner Coordinator – das summiert sich schnell auf 10+ GB RAM in Produktion.

Forgejo benötigt eine SQLite- oder PostgreSQL-Datenbank und einen einzigen Binary/Container.

Git-Hosting Kernfunktionen

Beide Plattformen bieten vollständiges Git-Hosting:

Feature Forgejo GitLab CE
Repositories
Branches/Tags
Pull/Merge Requests
Code Review ✅ (mächtiger)
Issues
Milestones
Wiki
Webhooks
SSH + HTTPS
Git LFS
Protected Branches
CODEOWNERS

Für reine Code-Verwaltung sind beide vollständig gleichwertig.

CI/CD

Hier liegt der fundamentale Unterschied:

GitLab CE: Vollständiges, nativ integriertes CI/CD-System. Pipelines direkt in .gitlab-ci.yml im Repo, Runner für Linux/Docker/Kubernetes, Parallel Jobs, Caching, Artifacts, Environments:

stages:
  - build
  - test
  - deploy

build:
  stage: build
  image: node:20
  script:
    - npm ci
    - npm run build
  artifacts:
    paths:
      - dist/

Forgejo: Kein eigenes CI/CD. Forgejo Actions (Gitea Actions-kompatibel) sind in aktiver Entwicklung und GitHub-Actions-kompatibel, aber noch nicht so ausgereift wie GitLab CI. Alternativ: externe Tools wie Woodpecker CI, Drone CI oder Jenkins ankoppeln.

CI/CD Feature Forgejo GitLab CE
Native Pipelines ⚠️ Forgejo Actions (in Entwicklung) ✅ GitLab CI (reif)
GitHub Actions Syntax ✅ (Forgejo Actions kompatibel)
Externes CI einfach integrierbar ✅ (Woodpecker, Drone) ✅ (Runner-basiert)
Deployment Environments
Pipeline Visualization
Review Apps ✅ (EE only)

Container Registry

GitLab CE: Vollständige Docker Container Registry integriert, keine Zusatztools notwendig.

Forgejo: Keine native Container Registry. Separates Tool notwendig: Harbor, Gitea Registry (extern), oder Docker Registry v2.

Benutzer- und Rechteverwaltung

Beide bieten vollständige Rechteverwaltung (Owners, Admins, Maintainer, Developer, Reporter/Viewer). GitLab hat ein etwas granulareres Rollen-System.

Feature Forgejo GitLab CE
LDAP/AD
SAML/SSO ✅ (Keycloak, etc.)
OAuth2 (GitHub, GitLab, etc.)
2FA
SCIM ✅ (CE eingeschränkt)
Audit Logs ⚠️

API und Integrationen

GitLab CE: Umfangreiche GraphQL + REST API, sehr gut dokumentiert, breite Tool-Unterstützung (Terraform, Kubernetes, ArgoCD, etc.)

Forgejo: Gitea-kompatible REST API. Weniger Integrations als GitLab, aber für grundlegende Webhooks und CI-Trigger ausreichend. ArgoCD kann mit Forgejo als SCM-Provider arbeiten.


Wann Forgejo wählen?

  1. Ressourcenknappes Homelab: Raspberry Pi, kleines VPS (1–2 GB RAM) – GitLab CE ist schlicht nicht lauffähig
  2. Reines Git-Hosting: Wenn man CI/CD extern hostet (Woodpecker CI, GitHub Actions Mirror, etc.)
  3. Datenschutz und Kontrolle: Minimaler Footprint, einfaches Backup (eine DB + ein Daten-Ordner)
  4. GitHub-ähnliche UX für Self-Hosters: Forgejo's Oberfläche ist intuitiver für GitHub-Gewohnte
  5. Schnelle Migration von GitHub/GitLab: GitHub/GitLab-Repos per API migrieren, Labels/Issues migrieren
  6. Community Governance: Wer ein Community-geführtes Projekt ohne kommerzielle Interessen bevorzugt

Typisches Setup: Kleiner Hetzner VPS (CX21, 4 GB RAM) + Forgejo + Woodpecker CI + Traefik → vollständiger Dev-Stack für ~5 €/Monat


Wann GitLab CE wählen?

  1. Teams mit DevOps-Anforderungen: Issue Tracking, CI/CD, Container Registry, Review Apps – alles in einem Tool
  2. Genug Hardware: Server mit 16 GB+ RAM vorhanden (Bare Metal, größerer VPS, K8s)
  3. GitLab.com-Migration: Wer von gitlab.com kommt und die gleiche UX will
  4. Compliance und Audit: Audit Logs, DSGVO-Konformität mit eigenem Server
  5. Dependency Scanning: Code-Sicherheits-Scans direkt in der Pipeline (teils CE, teils EE)
  6. Kubernetes Native: GitLab Agent für K8s, ArgoCD via GitLab, native Kubernetes-Deployment-Visualisierung

Typisches Setup: Hetzner Dedicated Server (32 GB RAM) oder K8s-Cluster mit 3 Nodes → GitLab CE via Helm Chart, 20+ Entwickler-Team


Performance und Skalierung

Forgejo skaliert hervorragend vertikal auf kleiner Hardware. Für große Teams (100+ Repos, 50+ Nutzer) ist Forgejo aber weniger getestet als GitLab.

GitLab CE wurde für skalierbare Multi-Team-Umgebungen designed. High Availability (HA) mit PostgreSQL-Cluster, Redis Cluster und Gitaly Cluster ist möglich, aber komplex.


Migration zwischen den Tools

Forgejo → GitLab

Möglich via:

  1. Git-Repos: git clone --mirror + Push
  2. Issues: Über API-Scripts (Gitea-API → GitLab-API)
  3. Keine direkte automatische Migration (anders als GitHub→GitLab)

GitLab CE → Forgejo

GitLab bietet Gruppen- und Projekt-Exports (.tar.gz). Forgejo hat keinen nativen GitLab-Import. Migration über Git-Mirror + manuelle Issue-Migration.


Forgejo Actions vs. GitLab CI: Ein genauerer Blick

Forgejo Actions (seit Forgejo 1.20/Gitea 1.21) ermöglicht GitHub-Actions-kompatible Pipelines direkt im Repo:

name: CI
on: [push, pull_request]
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Run tests
        run: go test ./...

Ein act_runner muss separat deployed werden. Die Syntax ist GitHub-Actions-kompatibel – wer von GitHub zu Forgejo wechselt, kann bestehende Workflows direkt übernehmen.

GitLab CI ist dagegen ein eigenes System mit mehr Features (Environments, Deployment Tracking, Auto DevOps, etc.) aber einer anderen YAML-Syntax.


Fazit: Forgejo vs. GitLab CE 2026

Forgejo ist die klare Wahl für ressourcenbegrenzte Setups, Solo-Entwickler und kleine Teams, die reines Git-Hosting mit minimalem Overhead suchen. Die GitHub-Actions-Kompatibilität von Forgejo Actions macht es zunehmend attraktiv.

GitLab CE ist das richtige Tool für Teams, die ein vollständiges DevOps-Ökosystem brauchen und die Hardware dafür haben. Der "Alles-in-einem"-Ansatz spart Integrationsaufwand für CI/CD, Container Registry und Security Scanning.

Die wichtigste Frage: Hast du 4+ GB RAM für GitLab übrig und willst du CI/CD native integriert? Dann GitLab. Reicht dir Git-Hosting mit externem CI und hast du wenig Ressourcen? Dann Forgejo.

Für viele Homelabs ist Forgejo + Woodpecker CI die schlanke, elegante Alternative zu einem vollständigen GitLab-Stack.

Verwandte Technologien im Techradar

Weiterführende Artikel