From 4015dd4046ce93c784717f51acb03340f17a3e2f Mon Sep 17 00:00:00 2001 From: Matteo Delucchi Date: Wed, 4 Mar 2026 14:47:57 +0100 Subject: [PATCH] added Comparison and Quick decision guide --- README.md | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 70 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 66b14d0..073e5d4 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,73 @@ -That's a simple README file for the project. +# Internal Forge Comparison + +## Quick decision guide + +| If we want… | Choose | +| -------------------------------------------------------------------------------------------------------------------------- | ----------- | +| A **complete DevOps platform** with integrated CI/CD, package registry, security scanning, and enterprise features | **GitLab** | +| A **lightweight, easy-to-operate Git server** with minimal resource usage | **Gitea** | +| A **community-driven forge** similar to Gitea but with **built-in CI (Forgejo Actions)** and future **federation support** | **Forgejo** | + +# Comparison +## Pricing +| Feature | GitLab | Gitea | Forgejo | +|-------------------------------------------|:------------------:|:-----------------:|:-------------------:| +| Free tier | ✅ | ✅ | ✅ | +| Paid tier (per user/month) | **premium**: 29\$
**ultimate**: on request | **enterprise**: 19\$ | ❌ (donation-based) | +| Information on pricing | [**info**](https://about.gitlab.com/pricing/?deployment=self-managed-deployment) | [**info**](https://about.gitea.com/pricing/) | [**info**](https://liberapay.com/forgejo) | + +## Core Git Features + +| Feature | GitLab | Gitea | Forgejo | +|---------------------------|:------:|:-----:|:-------:| +| Git repositories | ✅ | ✅ | ✅ | +| Git LFS support | ✅ | ✅ | ✅ | +| Git tags for releases | ✅ | ✅ | ✅ | +| Protected branches | ✅ | ✅ | ✅ | +| Repository mirroring | ✅ | ✅ | ✅ | +| Webhooks | ✅ | ✅ | ✅ | + +## Collaboration and Project Management +| Feature | GitLab | Gitea | Forgejo | +|----------------------------------|:------:|:-----:|:-------:| +| Issues | ✅ | ✅ | ✅ | +| Pull / merge requests | ✅ | ✅ | ✅ | +| Pull request reviewer assignment | ✅ | ✅ | ✅ | +| Pull request inline comments | ✅ | ✅ | ✅ | +| Wiki (per repository) | ✅ | ✅ | ✅ | +| Snippets / gists | ✅ | ⚠️ limited | ⚠️ limited | +| Project management | **free**: simple kanban
**premium**: [roadmap](https://docs.gitlab.com/user/group/roadmap/) | [simple kanban](https://forum.gitea.com/t/gantt-diagrams-for-issues/788/3) | [simple kanban](https://forgejo.org/docs/next/user/project/) | +| Organization / group hierarchy | ✅ | ⚠️ simpler model | ⚠️ simpler model | +| Code search (global) | ✅ | ⚠️ limited | ⚠️ limited | +| Repository mirroring (push/pull) | ✅ | ✅ | ✅ | + +## CI/CD and Automation +| Feature | GitLab | Gitea | Forgejo | +|--------------------------------|:------:|:-----:|:-------:| +| Built-in CI/CD | ✅built-in Gitlab CI/CD |️ ❌ external CI (woodpecker/Drone) | ✅Forgejo Actions (Github-Actions compatible) | +| Automated workflows | ✅ | ⚠️ external CI required | ✅ | +| Workflow triggers | ✅ | ⚠️ depends on CI integration | ✅ | +| External CI integration | ✅ | ✅ | ✅ | + +## Artifacts & Registries +| Feature | GitLab | Gitea | Forgejo | +|---------------------------|:------:|:-----:|:-------:| +| Package registry | ✅ | ⚠️ limited ecosystem support | ✅ | +| Container registry | ✅ | ⚠️ plugin / external registry | ⚠️ evolving support | + +## Authentication and Access Control +| Feature | GitLab | Gitea | Forgejo | +|------------------------------|:------:|:-----:|:-------:| +| Access control | ✅ | ✅ | ✅ | +| LDAP / Active Directory | ✅ | ✅ | ✅ | +| SAML / enterprise SSO | ⚠️ enterprise tier | ❌ not supported | ❌ not supported | +| Federation between instances | ❌ not supported | ❌ not supported | ⚠️ planned (ForgeFed) | + +## Operations / Self-Hosting +| Feature | GitLab | Gitea | Forgejo | +|-----------------------|:------:|:-----:|:-------:| +| Resource footprint | ❌ heavy (many services) | ✅ light | ✅ light | +| Deployment complexity | ❌ complex | ✅ simple | ✅ simple | # Notes on the test project setup: @@ -14,4 +83,3 @@ That's a simple README file for the project. ## Gitlab - SSH is active by default. But the port is wrongly configured and probably already used by the host... - HTTPS: works well. -