2.1 : Prérequis et dimensionnement

Ce que nous allons monter

Avant de taper la première commande, regardons la cible. Pas seulement ce que nous installons aujourd’hui, mais ce que cette machine hébergera à la fin de la formation — c’est ce qui doit dicter le dimensionnement.

                        ┌─────────────────────────────────┐
   Vos postes ────────▶ │  Reverse proxy (HTTPS)          │
   Vos serveurs         └─────────────┬───────────────────┘
   Vos GPO                            │
                        ┌─────────────▼───────────────────┐
                        │  Forgejo                        │
                        │  · dépôts Git                   │
                        │  · interface web                │
                        │  · registre de conteneurs  (§10)│
                        │  · pages publiées          (§11)│
                        └─────────────┬───────────────────┘
                                      │
                        ┌─────────────▼───────────────────┐
                        │  PostgreSQL                     │
                        └─────────────────────────────────┘

                        ┌─────────────────────────────────┐
                        │  Runner (§9)                    │
                        │  exécute vos workflows          │
                        └─────────────────────────────────┘

Aujourd’hui, en section 2, nous déployons les deux premiers conteneurs. Le runner arrivera en section 9, le registre s’activera en section 10.

Ce point mérite d’être souligné maintenant : Forgejo en lui-même consomme très peu. Ce sont le runner et le registre qui pèsent. Un dimensionnement calculé sur la seule forge vous mettra en difficulté vers la section 9.


L’hôte

Une VM Linux avec Docker et Docker Compose. C’est tout.

La distribution importe peu : Debian, Ubuntu Server, Rocky Linux, Alpine font parfaitement l’affaire. Prenez celle que vous savez administrer et sauvegarder — c’est le critère qui compte, pas les performances.

Pour les besoins de cette formation, je pars sur Debian 13 avec Docker CE. Si l’installation de Docker ne vous est pas familière, la formation Docker pour les débutants couvre exactement ce dont vous avez besoin ici, et nous réutiliserons plusieurs de ses notions : réseaux, volumes, variables d’environnement, reverse proxy.

Une VM dédiée ou mutualisée ? Techniquement, Forgejo cohabite sans problème avec vos autres conteneurs. Mais souvenez-vous de la leçon 1.5 : à la fin de cette formation, cette forge distribuera des scripts à vos postes et alimentera vos serveurs en images. Ce sera un service de production. Si vous en avez la possibilité, une VM dédiée simplifie la sauvegarde, la restauration et les redémarrages.


Le choix de la base de données

Forgejo accepte trois moteurs, et ce choix se fait maintenant : en changer plus tard demande une migration.

SQLite — aucune base à installer, tout tient dans un fichier. C’est le moteur le plus simple à exploiter, sans maintenance, et la documentation officielle de Forgejo le recommande pour les instances à activité faible ou modérée. Il faut lui reconnaître cette qualité : sur une petite forge, SQLite peut tenir des années sans poser le moindre problème.

📎 Ressources 1