Forgejo
1. Contexte et Description
Forgejo permet la gestion de dépôts Git, le suivi des tickets (issues) et la gestion des demandes de fusion (pull requests). Il s'agit d'une alternative légère conçue pour être exécutée sur des infrastructures privées.
Cette documentation couvre l'installation directe via un binaire précompilé sur un environnement Debian 13.
2. Prérequis Système et Réseau
Avant de procéder à l'installation, les éléments suivants doivent être opérationnels :
- Système d'exploitation : Serveur GNU/Linux (les commandes de ce document ciblent une architecture
amd64sur base Debian/Ubuntu). - Réseau : Un nom de domaine valide (ex:
dev.domaine.com) dont la résolution DNS pointe correctement vers l'adresse IP du serveur. - Dépendances logicielles : Les paquets
git,git-lfs,wget, etgpgdoivent être présents sur le système. - Base de données : Forgejo intègre le support de SQLite3 par défaut pour une gestion de base de données sous forme de fichier local. Pour des instances à fort trafic, PostgreSQL (>=13) ou MySQL/MariaDB (>=10.6) sont pris en charge de manière native.
3. Procédure d'Installation
3.1. Mise à jour et installation des dépendances
Il est impératif de mettre à jour le système et d'installer les paquets requis pour le téléchargement et la gestion des versions.
sudo apt update && sudo apt upgrade -y
sudo apt install wget gpg git git-lfs vim -y
3.2. Téléchargement et vérification cryptographique
Le binaire Forgejo doit être téléchargé puis validé via sa signature GPG officielle afin de garantir son intégrité.
wget https://codeberg.org/forgejo/forgejo/releases/download/v14.0.2/forgejo-14.0.2-linux-amd64
chmod +x forgejo-14.0.2-linux-amd64
gpg --keyserver keys.openpgp.org --recv EB114F5E6C0DC2BCDD183550A4B61A2DC5923710
wget https://codeberg.org/forgejo/forgejo/releases/download/v14.0.2/forgejo-14.0.2-linux-amd64.asc
gpg --verify forgejo-14.0.2-linux-amd64.asc forgejo-14.0.2-linux-amd64
3.3. Mise en place du binaire et de l'utilisateur de service
Le binaire validé est déplacé dans le chemin d'exécution du système. Un utilisateur système restreint nommé git est créé pour isoler l'exécution du service.
sudo cp forgejo-14.0.2-linux-amd64 /usr/local/bin/forgejo
sudo chmod 755 /usr/local/bin/forgejo
sudo adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /home/git git
3.4. Création et sécurisation des répertoires
Forgejo requiert deux répertoires distincts : un pour le stockage des données/dépôts et un pour les fichiers de configuration. Ces répertoires doivent appartenir à l'utilisateur git.
sudo mkdir /var/lib/forgejo
sudo chown git:git /var/lib/forgejo && sudo chmod 750 /var/lib/forgejo
sudo mkdir /etc/forgejo
sudo chown root:git /etc/forgejo && sudo chmod 770 /etc/forgejo
Note : Le répertoire /etc/forgejo nécessite temporairement des droits d'écriture (770) pour permettre la génération du fichier app.ini lors de la configuration initiale.
3.5. Intégration à Systemd
Le script de service officiel est déployé pour permettre au système d'exploitation de gérer le cycle de vie de l'application (démarrage, arrêt, redémarrage automatique).
sudo wget -O /etc/systemd/system/forgejo.service https://codeberg.org/forgejo/forgejo/raw/branch/forgejo/contrib/systemd/forgejo.service
sudo systemctl daemon-reload
sudo systemctl enable forgejo.service
sudo systemctl start forgejo.service
4. Configuration Initiale et Post-Installation
Une fois le service démarré, la configuration s'effectue via l'interface web accessible sur le port par défaut (ex: http://<IP_DU_SERVEUR>:3000).
Les paramètres suivants doivent y être définis :
- Le type de base de données (SQLite par défaut).
- Le domaine du serveur et l'URL de base (ex:
https://dev.domaine.com). - La création du compte administrateur.
4.1. Verrouillage de la configuration
Après avoir validé l'installation sur l'interface web, le fichier de configuration app.ini est généré. Il est essentiel de restreindre immédiatement ses droits d'accès pour des raisons de sécurité.
sudo systemctl stop forgejo.service
sudo chmod 750 /etc/forgejo && sudo chmod 640 /etc/forgejo/app.ini
sudo systemctl start forgejo.service
No comments to display
No comments to display