TP 2 — Déployer votre forge et la mettre en service

📚Git pour les administrateurs système : La Forge
🔧 Travaux pratiques⏱ 120 min

Objectif

À l’issue de ce TP, vous disposerez d’une forge réellement utilisable en production — pas d’un bac à sable. C’est celle que vous garderez pour toute la suite de la formation, et probablement au-delà.

Vous allez :

  • déployer Forgejo et sa base de données ;
  • le publier sous son nom définitif, en HTTPS ;
  • valider l’installation avec les bons réglages ;
  • raccorder l’authentification à votre annuaire ou votre fournisseur d’identité ;
  • structurer les organisations et les équipes ;
  • et surtout vérifier que votre accès de secours fonctionne — le contrôle que tout le monde oublie.

Prérequis

Élément Détail
Une VM Linux Docker et Docker Compose installés
Un nom DNS Résolvant vers la VM, en interne
Un reverse proxy Nginx, Traefik ou Caddy — ou aucun, voir parcours minimal
Un certificat Autorité interne, Let’s Encrypt, ou auto-signé pour un lab
(optionnel) Un IdP Authentik, Keycloak, ADFS, Entra ID
(optionnel) Un annuaire Active Directory avec un compte de service

Trois parcours possibles pour la partie authentification, selon ce dont vous disposez :

  • Parcours A — vous avez un fournisseur d’identité → mission 5A
  • Parcours B — vous avez un annuaire mais pas d’IdP → mission 5B
  • Parcours C — ni l’un ni l’autre → mission 5C

⚠️ Avant de commencer : notez vos décisions

Reprenez la checklist de la leçon 2.1 et remplissez-la. Vous en aurez besoin à chaque mission, et certaines de ces valeurs sont difficiles à changer après coup.

# Décision Votre valeur
1 Nom DNS de la forge
2 Type de certificat
3 Chemin des données sur l’hôte
4 Nom de l’organisation principale
5 Nom de la source d’authentification
6 Emplacement de sauvegarde

Mission 1 — Déployer

Préparez l’arborescence sur l’hôte, avec les bonnes permissions, puis déployez Forgejo et PostgreSQL.

Contraintes :

  • Le mot de passe de la base ne doit apparaître nulle part dans le docker-compose.yml.
  • L’image doit être épinglée sur une version majeure.
  • La base ne doit être joignable que par Forgejo.
  • Aucun port ne doit être publié sur l’hôte (sauf si vous suivez le parcours sans reverse proxy).
  • Forgejo ne doit pas démarrer avant que la base ne soit réellement prête.