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é.


