Intégrer Gitea et les Act Runners dans Coolify (similaire à Github + Github Actions)

Il est très simple d’intégrer Gitea et ses Act Runners dans Coolify. Les Act Runners sont entièrement compatibles avec les GitHub Actions, ce qui permet de migrer facilement vos projets sans avoir à modifier vos workflows existants.

Déploiement de Gitea dans Coolify

La première étape consiste à ajouter une nouvelle ressource Gitea dans l’un de vos projets Coolify. La configuration par défaut est déjà prévue pour fonctionner correctement avec la plateforme, ce qui simplifie grandement l’installation.

En revanche, la configuration du Runner (le conteneur chargé d’exécuter vos pipelines CI/CD) peut nécessiter quelques ajustements. Après avoir ajouté la ressource Gitea Runner depuis la liste des services disponibles dans Coolify, il est possible que certaines modifications soient nécessaires pour assurer son bon fonctionnement.

Configuration des variables d’environnement

Commencez par renseigner les variables d’environnement suivantes :

GITEA_INSTANCE_URL

L’URL de votre instance Gitea.

GITEA_RUNNER_REGISTRATION_TOKEN

Le jeton d’enregistrement du Runner. Vous pouvez le récupérer dans l’interface d’administration de Gitea :
Administration du site → Actions → Exécuteurs → Créer un nouvel exécuteur
Le token est affiché lors de la création du nouvel exécuteur.

GITEA_RUNNER_NAME

Le nom de votre Runner, par exemple :

gitea-runner

GITEA_RUNNER_LABELS

ubuntu-latest:docker://node:22-bullseyeLangage du code : JavaScript (javascript)

Cette configuration est importante, car la majorité des workflows utilisent Node.js. Le Runner téléchargera automatiquement une image Docker basée sur Ubuntu contenant Node.js 22.

Problème rencontré lors du démarrage des Actions

Lors de mes tests, j’ai rencontré une erreur bloquante dès la phase de préparation de l’environnement du Runner. Après plusieurs recherches infructueuses, voici le message affiché :

Gitea Runner(version:v1.0.3) received task 1100 of job Build and push yggdrasil docker image, be triggered by event: push
workflow prepared
evaluating expression ‘success()’
expression ‘success()’ evaluated to ‘true’
Starting job container Error response from daemon:
Head "https://registry-1.docker.io/v2/gitea/runner-images/manifests/ubuntu-latest":
unknown: malformed HTTP Authorization headerLangage du code : JavaScript (javascript)

Solution

Pour résoudre ce problème, j’ai procédé comme suit :

1. Supprimer le Runner enregistré

Dans Gitea, rendez-vous dans : Administration du site → Actions → Exécuteurs
Supprimez le Runner déjà enregistré.

2. Générer le fichier de configuration

Connectez-vous ensuite au conteneur du Runner et générez le fichier de configuration par défaut (par défaut dans /data) :

gitea-runner generate-config > config.yamlLangage du code : CSS (css)

Dans mon cas, ce fichier n’était pas présent, ce qui empêchait le Runner de fonctionner correctement.

3. Réenregistrer le Runner

Une fois le fichier de configuration créé et vérifié, réenregistrez le Runner :

gitea-runner register

Suivez ensuite les étapes d’enregistrement en utilisant le token généré précédemment dans Gitea.

Conclusion

Après ces quelques ajustements, votre instance Gitea et vos Act Runners devraient fonctionner parfaitement dans Coolify. Vous disposez ainsi d’un environnement Git entièrement auto-hébergé, avec vos propres pipelines CI/CD exécutés sur votre infrastructure.

Cette approche présente de nombreux avantages en matière de souveraineté des données, de confidentialité et de maîtrise de votre chaîne de déploiement, particulièrement à une époque où les plateformes centralisées restent des cibles privilégiées pour les attaques et les incidents de sécurité.

GhostvOne
GhostvOne

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *