ITSkillsCenter
Développement Web

Forgejo / Gitea self-hosted 2026 : guide complet (forge Git souveraine)

4 min de lecture

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 clone ultra-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

  1. Ouvrir https://git.exemple.sn
  2. Wizard d’installation : choisir Postgres, configurer admin
  3. Créer le compte admin (premier utilisateur enregistré devient admin)
  4. Settings → Disable open registration si forge privée
  5. 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

ErreurCauseSolution
SSH push échouePort 22 conflit avec OS SSHMapper SSH Forgejo sur 2222
Webhook timeoutRéseau lentAugmenter timeout webhooks
Out of memoryVPS < 2 GoDésactiver indexer ou monter en gamme
Backup volumineuxLFS objectsBackup séparé LFS storage

Pour aller plus loin

Besoin d'un site web ?

Confiez-nous la Création de Votre Site Web

Site vitrine, e-commerce ou application web — nous transformons votre vision en réalité digitale. Accompagnement personnalisé de A à Z.

À partir de 250.000 FCFA
Parlons de Votre Projet
Publicité