De Komodo à GitHub Actions : revenir à la simplicité
En bref
Pourquoi j'ai laissé tomber Komodo pour de simples GitHub Actions avec des runners self-hosted : un flux de déploiement GitOps plus simple et plus maintenable.
Vous vous souvenez quand je disais que je passais au tout-GitOps avec Komodo ? Eh bien, les choses ont évolué. 🎭
Le changement de cap
Komodo est un excellent outil, avec des fonctionnalités vraiment astucieuses pour orchestrer un homelab. Mais en construisant mon setup, je me suis rendu compte que GitHub Actions collait mieux à mon besoin réel : des déploiements simples et directs.
Pas de dashboard sophistiqué. Pas de couche supplémentaire à gérer. Juste des workflows en YAML, posés juste à côté de mon code.
Pourquoi GitHub Actions ?
C’était déjà là
Je stockais déjà tout mon code d’infrastructure, mes fichiers Docker Compose et mes configurations sur GitHub. Mettre mes pipelines de déploiement au même endroit coulait de source. Tout au même endroit. Un seul login. Une seule interface.
Un minimum de surcharge
GitHub Actions fait exactement ce dont j’ai besoin, sans la complexité en plus. Push sur main, déploiement des containers, terminé. Parfois, la solution la plus simple est la bonne.
Le setup : des runners self-hosted
Je fais tourner mes propres agents sur deux machines :
- Un Intel NUC à la maison (gère les déploiements d’infrastructure locale)
- Un VPS dans le cloud (s’occupe des services exposés au public)
L’avantage du CGNAT
Voici un point intéressant : avec des runners self-hosted, la communication est sortante uniquement. Ce sont mes runners qui se connectent à GitHub, et non l’inverse.
Aucun port forwarding nécessaire. Le NUC derrière un CGNAT fonctionne exactement comme le VPS avec une IP publique. Problème réglé.
État actuel : simple et efficace
Pour l’instant, mes workflows sont directs :
- Push sur la branche main
- GitHub Actions le récupère
- Déploie les containers Docker sur le runner approprié
- Les services redémarrent automatiquement
Rien d’extraordinaire, mais ça marche. Et surtout, c’est maintenable.
La suite ?
L’aventure infrastructure continue ! Prochaine étape sur ma liste : enfin m’attaquer à Traefik. Oui, je suis encore sur Nginx Proxy Manager, mais ça va bientôt changer.
Traefik avec découverte automatique des services, une vraie gestion des certificats et (vous l’avez deviné) déployé via GitHub Actions. Tout en code, tout dans Git, tout reproductible.
Restez dans le coin pour cette aventure. Me connaissant, il y aura des configs cassées, des sessions de debug à 2 h du matin, et probablement quelques moments du genre « pourquoi j’ai cru que c’était une bonne idée ».
Mais bon, c’est tout l’intérêt du homelab. 🚀
À la prochaine !
Yacine