Forgejo s’installe via un binaire statique unique : pas de Docker obligatoire, pas de dépendances système complexes. Cette procédure installe Forgejo 14.0.3 sur Ubuntu 24.04 LTS en moins de 15 minutes, avec un service systemd prêt pour la production.
Vous repartirez avec un serveur Git complet : dépôts, issues, pull requests, et Forgejo Actions — le tout consommant moins de 500 Mo de RAM pour une petite équipe.
Prérequis
Section intitulée « Prérequis »| Ressource | Minimum (test) | Recommandé (équipe) |
|---|---|---|
| CPU | 1 vCPU | 2 vCPU |
| RAM | 512 Mo | 2 Go |
| Disque | 10 Go | 50 Go + |
| OS | Ubuntu 22.04 LTS | Ubuntu 24.04 LTS |
Installation
Section intitulée « Installation »-
Installer les dépendances
Forgejo a besoin de Git et Git LFS pour gérer les dépôts.
Fenêtre de terminal sudo apt updatesudo apt install -y git git-lfsgit --version # Doit afficher git version 2.x.x -
Télécharger et vérifier le binaire
Forgejo distribue un fichier SHA256 pour chaque binaire. La vérification garantit que le téléchargement n’est pas corrompu.
Fenêtre de terminal cd /tmp# Télécharger le binaire et sa somme de contrôlewget -O forgejo-14.0.3-linux-amd64 \https://codeberg.org/forgejo/forgejo/releases/download/v14.0.3/forgejo-14.0.3-linux-amd64wget -O forgejo-14.0.3-linux-amd64.sha256 \https://codeberg.org/forgejo/forgejo/releases/download/v14.0.3/forgejo-14.0.3-linux-amd64.sha256# Vérifier l'intégritésha256sum -c forgejo-14.0.3-linux-amd64.sha256La commande doit afficher
forgejo-14.0.3-linux-amd64: OK. Si vous voyezFAILED, relancez le téléchargement. -
Installer le binaire
Fenêtre de terminal sudo cp /tmp/forgejo-14.0.3-linux-amd64 /usr/local/bin/forgejosudo chmod 755 /usr/local/bin/forgejo# Vérificationforgejo --version# Forgejo version 14.0.3+gitea-1.22.0 ... -
Créer l’utilisateur système
gitForgejo tourne sous un compte système dédié. Le nom
gitest une convention qui permet aux utilisateurs de cloner avecgit@votre-serveur:user/repo.git.Fenêtre de terminal sudo adduser --system --shell /bin/bash \--gecos 'Git Version Control' \--group --disabled-password \--home /home/git git -
Créer les répertoires
Fenêtre de terminal # Répertoire de travail (données, dépôts, DB)sudo mkdir -p /var/lib/forgejosudo chown git:git /var/lib/forgejosudo chmod 750 /var/lib/forgejo# Répertoire de configuration# NOTE: chmod 770 temporaire pour que Forgejo puisse écrire app.ini à l'initsudo mkdir -p /etc/forgejosudo chown root:git /etc/forgejosudo chmod 770 /etc/forgejo -
Installer le service systemd
Forgejo fournit un fichier service officiel sur son dépôt.
Fenêtre de terminal sudo wget -q -O /etc/systemd/system/forgejo.service \https://codeberg.org/forgejo/forgejo/raw/branch/forgejo/contrib/systemd/forgejo.servicesudo systemctl daemon-reloadsudo systemctl enable forgejo.servicesudo systemctl start forgejo.serviceVérifiez que le service est démarré :
Fenêtre de terminal sudo systemctl status forgejo.service# Active: active (running) ... -
Configurer via l’interface web
Ouvrez
http://<votre-ip>:3000dans votre navigateur. Forgejo affiche l’assistant de configuration initiale.Paramètres à renseigner :
Champ Valeur recommandée Type de base de données SQLite3 (petite instance) ou PostgreSQL Titre du site Nom de votre instance Répertoire racine des dépôts /var/lib/forgejo/data/forgejo-repositoriesRépertoire de travail /var/lib/forgejoDomaine SSH Votre IP ou nom de domaine Port HTTP 3000URL racine http://votre-domaine:3000/En bas de page, créez le compte administrateur :
Cliquez sur “Installer Forgejo”. Après quelques secondes, vous êtes redirigé vers la page d’accueil.
-
Sécuriser les permissions après configuration
Une fois la configuration web terminée, resserrez les droits sur
/etc/forgejo:Fenêtre de terminal sudo systemctl stop forgejo.servicesudo chmod 750 /etc/forgejosudo chmod 640 /etc/forgejo/app.inisudo systemctl start forgejo.service
Validation de l’installation
Section intitulée « Validation de l’installation »Vérifiez les 6 points clés :
# 1. Version du binaireforgejo --version
# 2. Service systemd actifsudo systemctl is-active forgejo.service
# 3. Port 3000 en écoutess -tlnp | grep 3000
# 4. Réponse HTTPcurl -o /dev/null -sw "%{http_code}" http://localhost:3000/# Doit afficher 200
# 5. Répertoires avec les bons propriétairesls -la /var/lib/forgejo /etc/forgejo
# 6. Logs sans erreursudo journalctl -u forgejo.service --no-pager -n 20Dépannage
Section intitulée « Dépannage »Le service ne démarre pas
Section intitulée « Le service ne démarre pas »sudo journalctl -u forgejo.service -n 50 --no-pagerLes causes fréquentes :
| Erreur | Cause | Solution |
|---|---|---|
permission denied /etc/forgejo | Mauvais propriétaire | sudo chown root:git /etc/forgejo && sudo chmod 770 /etc/forgejo |
address already in use :3000 | Port occupé | ss -tlnp | grep 3000 puis arrêtez le processus |
error opening database | Chemin DB inexistant | sudo mkdir -p /var/lib/forgejo/data && sudo chown git:git /var/lib/forgejo/data |
L’interface web n’est pas accessible
Section intitulée « L’interface web n’est pas accessible »# Vérifier que Forgejo écoute biencurl -v http://localhost:3000/
# Vérifier le pare-feusudo ufw statussudo ufw allow 3000/tcp # Si UFW actifLa configuration web produit “admin is a reserved name”
Section intitulée « La configuration web produit “admin is a reserved name” »Il s’agit d’une erreur silencieuse : Forgejo retourne HTTP 200 mais la configuration n’est pas sauvegardée. Rafraîchissez la page (la configuration est réaffichée) et choisissez un autre nom d’utilisateur administrateur.
À retenir
Section intitulée « À retenir »- Forgejo s’installe via un binaire statique unique, sans dépendances complexes
- Le service tourne sous l’utilisateur système
git(port 22 pour SSH, port 3000 pour HTTPS) /etc/forgejo/app.iniest le fichier de configuration principal (protégé640)/var/lib/forgejo/contient toutes les données : DB, repositories, LFS, avatars- Le nom
adminest réservé — choisir un autre identifiant pour le compte administrateur forgejo --versionetsudo systemctl status forgejo.servicesont les deux premières commandes de diagnostic