Thomas Jarrossay
~/lab

Lab

Comment déployer un dépôt privé Forgejo sur Coolify ?

Si vous auto-hébergez vos propres outils, vous connaissez la satisfaction d’avoir une stack indépendante. J’utilise Coolify pour gérer mes déploiements via mon VPS Hetzner et Forgejo (un fork de Gitea) pour héberger mon code.

Lors du déploiement de ce site web, je me suis heurté à un mur, avec une erreur Git. Pourtant sur le papier, rien de compliqué : on génère la clé SSH sur Coolify, on l’ajoute côté Forgejo, et on fait le matching.

Le bug de parsing

La méthode classique de déploiement privé repose sur l’utilisation d’une URL SSH standard de type git@domaine.com:user/repo.git.

Cependant, lorsque cette URL est entrée dans le champ Repository (dans Git Source), le parseur interne de Coolify ampute l’URL d’un slash, la transformant en ssh:/<REDACTED>....

Contrairement à GitHub ou GitLab, Coolify ne dispose pas encore d’une intégration “Git App” native pour Gitea/Forgejo et il n’y a donc pas d’interface automatisée.

La solution

L’astuce consiste à déclarer notre dépôt privé comme un dépôt Public dans Coolify, et d’y injecter un mot de passe directement dans l’URL.

Voici la marche à suivre, étape par étape :

Étape 1 : Créer un Jeton d’accès (Token) sur Forgejo

Pour que Coolify puisse lire le dépôt privé sans clé SSH, il lui faut un jeton d’accès.

  1. Connectez-vous à votre instance Forgejo.

  2. Allez dans les Paramètres de votre compte utilisateur (en haut à droite).

  3. Naviguez vers l’onglet Applications.

  4. Dans la section Générer un nouveau jeton, donnez-lui un nom explicite (ex: Coolify-Deploy).

  5. Cochez la permission repo (pour autoriser la lecture du code).

  6. Cliquez sur Générer le jeton.

  7. Copiez la longue chaîne de caractères générée (attention, elle ne s’affichera qu’une seule fois !).

Étape 2 : Configurer l’application dans Coolify

Maintenant, retournons sur le tableau de bord de Coolify.

  1. Créez une nouvelle application.

  2. Choisissez l’option Public Repository (Oui, même si votre dépôt est privé, c’est là tout le secret !).

  3. Dans le champ URL, construisez votre lien de cette manière : https://<votre_utilisateur>:<votre_token>@forgejo.votre-domaine.fr/user/repo.git

Étape 3 : Valider et déployer

  1. Cliquez sur check repository. Coolify va utiliser le token présent dans l’URL pour s’authentifier auprès de Forgejo.

  2. Configurez vos paramètres de build (Dossier de publication, commande de build, etc.).

  3. Cliquez sur Deploy !

Publié le