Pour les développeurs et PME africaines qui veulent garder leur code source chez eux plutôt que sur GitHub (souveraineté, contrôle, indépendance), Forgejo et Gitea sont les deux options self-hosted dominantes en 2026. Forks issus de la même base, ces deux projets offrent une plateforme Git complète : repos privés/publics, issues, pull requests, wiki, releases, registry packages, CI/CD intégré (Forgejo Actions / Gitea Actions). Voici le guide complet pour héberger votre propre forge Git.
Ce pilier couvre l’écosystème. Les satellites détaillent : installer Forgejo sur Coolify, Forgejo Actions pour CI/CD, Gitea vs Forgejo vs GitHub, migrer de GitHub vers Forgejo.
Forgejo vs Gitea : quelle différence
- Gitea est le projet historique (depuis 2016, fork de Gogs), supporté par une entreprise commerciale
- Forgejo est un fork communautaire de Gitea créé fin 2022 par Codeberg, suite à des désaccords sur la gouvernance. Compatible binaire avec Gitea.
- Les deux partagent la même base de code à ~95 %. Forgejo intègre rapidement des fonctionnalités communautaires que Gitea peut être plus lent à valider.
Recommandation 2026 : Forgejo pour la majorité des nouveaux déploiements, gouvernance communautaire saine. Gitea reste valide si vous l’utilisez déjà ou préférez le projet historique. Voir notre comparatif détaillé.
Pourquoi self-host votre forge Git
- Souveraineté complète : votre code source reste chez vous
- Coût fixe : 5 €/mois VPS Hetzner pour autant de repos et utilisateurs que vous voulez
- Pas de limites : pas de comptage minutes CI ou stockage LFS
- Données client confidentielles : critique pour cabinets, conseils, entités gouvernementales
- Performance locale :
git cloneultra-rapide vs GitHub depuis Afrique - Conformité : RGPD, CDP Sénégal, exigences sectorielles
Fonctionnalités
- Repos Git (HTTP/HTTPS, SSH)
- Issues, milestones, labels
- Pull requests avec review
- Wiki par repo
- Releases (binaires + assets)
- Container Registry (Docker images)
- Package Registry (npm, PyPI, Composer, Cargo, etc.)
- CI/CD intégré (Actions, runners)
- OAuth2 / OIDC SSO
- Webhooks, API REST complète
- Mirroring (push vers GitHub par exemple)
Prérequis
- VPS Linux 2 vCPU / 2 Go RAM minimum (4 Go recommandés si CI/CD activé)
- Domaine pointant sur le VPS
- Reverse proxy avec HTTPS (Caddy, Traefik via Coolify)
- Base SQLite ou PostgreSQL (Postgres recommandé en prod)
- Niveau intermédiaire
- Temps : 30 min Coolify, 2-4h installation manuelle complète
Étape 1 — Installer via Coolify (le plus simple)
Coolify a Forgejo dans sa marketplace. Voir notre tutoriel Coolify Forgejo. En 10 minutes vous avez une instance fonctionnelle avec HTTPS.
Étape 2 — Installer manuellement (Docker)
# docker-compose.yml
version: "3"
services:
forgejo:
image: codeberg.org/forgejo/forgejo:7
container_name: forgejo
environment:
- USER_UID=1000
- USER_GID=1000
- FORGEJO__database__DB_TYPE=postgres
- FORGEJO__database__HOST=db:5432
- FORGEJO__database__NAME=forgejo
- FORGEJO__database__USER=forgejo
- FORGEJO__database__PASSWD=secret
restart: always
networks:
- forgejo
volumes:
- ./forgejo-data:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "127.0.0.1:3000:3000"
- "2222:22"
depends_on:
- db
db:
image: postgres:16
restart: always
environment:
- POSTGRES_USER=forgejo
- POSTGRES_PASSWORD=secret
- POSTGRES_DB=forgejo
networks:
- forgejo
volumes:
- ./postgres-data:/var/lib/postgresql/data
networks:
forgejo:
docker compose up -d
Étape 3 — Reverse proxy Caddy
# /etc/caddy/Caddyfile
git.exemple.sn {
reverse_proxy 127.0.0.1:3000
}
Étape 4 — Configuration initiale
- Ouvrir
https://git.exemple.sn - Wizard d’installation : choisir Postgres, configurer admin
- Créer le compte admin (premier utilisateur enregistré devient admin)
- Settings → Disable open registration si forge privée
- Settings → Enable webhooks, OAuth2 si besoin
Étape 5 — Activer Forgejo Actions
Forgejo Actions est compatible 90 % avec GitHub Actions. Vous pouvez réutiliser vos workflows YAML quasi tels quels. Voir notre tutoriel CI/CD Forgejo.
Étape 6 — Migrer depuis GitHub
Forgejo a un import GitHub natif (avec issues, PR, wiki, releases). Voir notre tutoriel migration GitHub → Forgejo.
Étape 7 — Backups
# Backup quotidien : data + DB
#!/bin/bash
DATE=$(date +%Y%m%d)
docker exec forgejo /bin/bash -c "su git -c 'forgejo dump -c /data/gitea/conf/app.ini'"
docker cp forgejo:/data/gitea/forgejo-dump-*.zip /tmp/
aws s3 cp /tmp/forgejo-dump-*.zip s3://backups/forgejo/
rm /tmp/forgejo-dump-*.zip
Adaptation Afrique de l’Ouest
Pour une PME ouest-africaine de 5-20 développeurs, Forgejo sur VPS Hetzner CX22 (4 €/mois) remplace efficacement GitHub Team (4 USD/user/mois soit 20-80 USD pour la même équipe). Économie annuelle de 200-1000 USD, plus la souveraineté du code. Latence Afrique vers Helsinki ~150 ms, acceptable pour git push/pull.
Erreurs fréquentes
| Erreur | Cause | Solution |
|---|---|---|
| SSH push échoue | Port 22 conflit avec OS SSH | Mapper SSH Forgejo sur 2222 |
| Webhook timeout | Réseau lent | Augmenter timeout webhooks |
| Out of memory | VPS < 2 Go | Désactiver indexer ou monter en gamme |
| Backup volumineux | LFS objects | Backup séparé LFS storage |