Gitea
Gitea est un service Git auto-hébergé écrit en Go : hébergement de dépôts, pull requests et revue de code, tickets, registre de paquets, et CI/CD via Gitea Actions, packagé en un seul binaire ou conteneur. Né en 2016 comme fork de Gogs, c’est devenu l’une des façons les plus courantes pour les homelabbers de remplacer GitHub ou GitLab par quelque chose qui tourne sur leur propre matériel. Une petite VM suffit, voire un Raspberry Pi 3 en usage léger : c’est surtout pour ça qu’on le choisit face à GitLab en particulier.
Gitea a lui-même été forké depuis. En décembre 2022, d’anciens mainteneurs ont lancé Forgejo après que les actifs et la marque de Gitea sont passés à une société à but lucratif sans vote de la communauté, selon l’annonce officielle du projet. Forgejo reste un remplacement direct de Gitea, hébergé par l’association Codeberg e.V., avec sa propre fiche sur ce site.
Licence : MIT, confirmée dans le fichier LICENSE du dépôt GitHub go-gitea/gitea (Copyright 2016 The Gitea Authors, Copyright 2015 The Gogs Authors, hérité du projet source). Libre pour tout usage, commercial compris, sans fonctionnalité verrouillée sur le socle open source. Gitea Ltd vend à part une offre Cloud et une édition Enterprise, non requises pour l’auto-hébergement.
Infos clés : site officiel about.gitea.com · code source github.com/go-gitea/gitea (56 000+ étoiles) · image Docker docker.gitea.com/gitea (un miroir gitea/gitea existe sur Docker Hub, 377 millions+ de pulls, mais docker.gitea.com reste la référence) · dernière stable 1.26.4 · rootful et rootless non interchangeables · web sur le port 3000, SSH sur le port 22 du conteneur.
Pourquoi auto-héberger Gitea plutôt que GitHub ou GitLab ?
GitHub garde vos dépôts et votre historique de CI sur l’infrastructure de quelqu’un d’autre, dépôts privés compris. L’édition self-managed de GitLab règle ce problème mais pas celui des ressources : sa doc d’installation annonce 8 vCPU et 16 Go de RAM en socle, plus 40 Go de disque avant même un dépôt. Gitea, lui, tient dans 2 cœurs CPU et 1 Go de RAM, et tourne sur un simple Raspberry Pi 3 en usage léger. Cet écart, bien plus qu’une différence de fonctionnalités, explique pourquoi Gitea revient si souvent dans les homelabs là où GitLab serait surdimensionné.
Installer Gitea avec Docker
Voici la configuration SQLite du guide officiel d’installation Docker de Gitea, celle par laquelle démarrent la plupart des homelabs. MySQL et PostgreSQL sont documentés séparément pour des instances plus grandes et multi-utilisateurs.
networks:
gitea:
external: false
services:
server:
image: docker.gitea.com/gitea:1.26.4
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
restart: always
networks:
- gitea
volumes:
- ./gitea:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "3000:3000"
- "222:22"
- Installez Docker si besoin, enregistrez le fichier ci-dessus en docker-compose.yml, puis lancez docker compose up -d.
- Faites correspondre USER_UID et USER_GID au propriétaire du dossier ./gitea sur l’hôte, sinon Gitea ne pourra pas y écrire.
- Le port hôte 222 pointe vers le SSH interne de Gitea (port 22) : le clonage utilise donc le 222, pas le 22 par défaut.
- Ouvrez http://ip-de-votre-serveur:3000 et terminez l’assistant. SQLite est pré-rempli ; restent le titre du site et le premier compte admin.
docker compose up -d
docker compose logs -f server
Sécurité : l’auto-inscription est ouverte par défaut, donc n’importe qui atteignant le port 3000 peut créer un compte tant que DISABLE_REGISTRATION n’est pas activé dans app.ini ou désactivé depuis l’administration. L’assistant génère aussi un SECRET_KEY et un INTERNAL_TOKEN propres à l’instance ; sauvegardez-les avec le volume, sous peine de perdre l’accès aux données chiffrées. Sans TLS intégré, une instance publique a besoin d’un reverse proxy comme Nginx Proxy Manager ou Caddy, ou d’un outil de réseau privé comme Tailscale.
Gitea vs GitLab vs GitHub
Les trois hébergent des dépôts Git avec tickets, pull requests et CI/CD, mais diffèrent nettement sur où ils tournent et ce qu’ils exigent du matériel.
| Gitea | GitLab (self-managed) | GitHub | |
|---|---|---|---|
| Hébergement | Auto-hébergé uniquement | Auto-hébergé ou GitLab.com | GitHub.com, Enterprise Server séparé |
| Matériel minimum | 2 cœurs CPU, 1 Go RAM | Socle 8 vCPU, 16 Go RAM | N/A, entièrement géré |
| CI/CD | Gitea Actions, YAML compatible GitHub Actions | GitLab CI/CD, syntaxe propre | GitHub Actions |
| Licence du socle | MIT | MIT (Community) ; payant = propriétaire | Propriétaire, fermé |
| Registre de paquets | 20+ formats intégrés | Intégré | GitHub Packages |
- Tourne sur du matériel qui ferait suffoquer GitLab : 2 cœurs et 1 Go de RAM, contre un socle de 8 vCPU/16 Go côté GitLab
- Intégralement sous licence MIT, sans séparation entre palier gratuit et fonctionnalités verrouillées
- Gitea Actions reprend la syntaxe YAML de GitHub Actions : peu de réécriture pour la plupart des workflows
- Registre de paquets intégré, 20+ formats, sans service séparé à déployer
- Pas d’équivalent hébergé à GitHub.com ou GitLab.com par l’équipe cœur, hormis le récent Gitea Cloud
- Écosystème de plugins plus restreint que le scan de sécurité et la conformité intégrés à GitLab
- Auto-inscription activée par défaut : une modif manuelle de config s’impose avant une mise en ligne publique
Matériel : Gitea tient dans un seul binaire Go en conteneur, donc 2 cœurs CPU et 1 Go de RAM suffisent, Raspberry Pi 3 compris en usage léger. Notre guide auto-hébergement homelab pour débutants couvre le choix de cette première machine. Le vrai goulot d’étranglement est souvent le disque, pas le CPU ou la RAM.
Accéder à une instance Gitea depuis l’extérieur fonctionne comme n’importe quel service de homelab : reverse proxy pour un domaine HTTPS, ou réseau privé pour éviter l’exposition publique. Nos fiches Nginx Proxy Manager et Caddy couvrent la première option, Tailscale la seconde.
FAQ
Gitea est-il gratuit et open source ?
Oui, sous licence MIT, libre pour tout usage y compris commercial. Gitea Ltd vend séparément une offre Cloud et une édition Enterprise, non requises pour l’auto-hébergement.
Quelle est la vraie différence entre Gitea et GitLab ?
Surtout le matériel. Les deux gèrent pull requests, tickets et CI/CD, mais GitLab self-managed veut 8 vCPU et 16 Go de RAM, contre 2 cœurs et 1 Go pour Gitea.
Gitea peut-il tourner sur un Raspberry Pi ?
Oui, en usage léger : Gitea cite un Raspberry Pi 3 comme suffisant, et les images Docker officielles sont multi-architecture.
Qu’est-ce que Forgejo, et en quoi diffère-t-il de Gitea ?
Forgejo est un fork de Gitea datant de 2022, lancé par d’anciens mainteneurs après le transfert des actifs du projet vers une société à but lucratif sans vote communautaire. Remplacement direct hébergé par l’association Codeberg e.V., non un projet porté par une entreprise.
Gitea prend-il en charge une CI/CD façon GitHub Actions ?
Oui, via Gitea Actions, qui reprend la syntaxe YAML de GitHub Actions et une bonne partie de son écosystème : la plupart des workflows existants passent avec peu de changements.
Pour un développeur solo ou les dépôts privés d’une petite équipe, Gitea reste le chemin le plus rapide entre un docker-compose et un serveur Git fonctionnel, sans la facture matérielle de GitLab. Le jour où une organisation a besoin du scan de sécurité et de la conformité que GitLab réserve à ses paliers payants, le CPU et la RAM supplémentaires se justifient enfin.