Description
Gitea est une forge Git légère écrite en Go, conçue pour s'auto-héberger sur du matériel modeste. Fonctionnalités incluses : hébergement de dépôts Git, pull requests, issues, wiki, releases, packages registry (Docker, npm, Maven…), actions CI (compatible syntaxe GitHub Actions), projets kanban et pages statiques.
Le tout fonctionne sur un binaire unique d'environ 100 Mo avec SQLite, ou avec PostgreSQL/MySQL pour la production. Comptez environ 256 Mo de RAM pour 100 utilisateurs.
Installation
Via Docker (recommandé)
version: "3.8"
services:
gitea:
image: gitea/gitea:1.22
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=sqlite3
- GITEA__server__ROOT_URL=https://git.example.com
- GITEA__server__DOMAIN=git.example.com
restart: unless-stopped
volumes:
- ./data:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "3000:3000"
- "2222:22"
Installation manuelle
wget -O gitea https://dl.gitea.com/gitea/1.22/gitea-1.22-linux-amd64 chmod +x gitea sudo ./gitea web --port 3000
Configuration
ROOT_URLetDOMAIN: doivent pointer vers l'URL publique (HTTPS)- Base de données : SQLite pour moins de 50 utilisateurs, PostgreSQL au-delà
- Désactiver les inscriptions pour une instance privée via
DISABLE_REGISTRATION - Backups :
gitea dumpgénère une archive complète (BDD + repos + LFS)
Alternatives
- Forgejo — Fork communautaire de Gitea, gouvernance par fondation
- Gogs — La forge ancêtre, encore plus minimaliste
- GitLab CE — Forge complète mais lourde (~4 Go RAM)
- OneDev — Forge DevOps intégrée en Java
Sécurité
- HTTPS obligatoire pour le web, SSH pour le push Git
- 2FA à activer pour tous les comptes admin
- Mettre à jour régulièrement (correctifs de sécurité fréquents)
- Signer les webhooks avec HMAC-SHA256
