No description
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-16 23:20:33 +02:00
.gitignore Replace submodules with central Komodo stack configuration 2026-10-09 23:15:39 +02:00
README.md fix(komodo): use local compose files for Caddy Mars-02 2026-10-14 17:44:12 +02:00
stacks.toml chore(headscale): disable automated deployment and webhooks 2026-10-16 23:20:33 +02:00

Infra

Les stacks Komodo sont déclarées dans stacks.toml. Chaque service suit son dépôt Forgejo sur main et se déploie dans /opt/<service>.

Configurer Komodo

  1. Donner au compte Git komodo-bot accès en lecture aux dépôts des services et à homelab/infra.
  2. Créer un Resource Sync : fournisseur forge.thuillier.online, compte komodo-bot, dépôt homelab/infra, branche main, Resource Path stacks.toml.
  3. Laisser Delete et Managed désactivés. Vérifier les noms de projets avec docker compose ls, puis lancer la synchronisation.
  4. Sur Forgejo, ajouter au dépôt infra un webhook Push compatible GitHub : URL Sync fournie par Komodo (pas Refresh), secret KOMODO_WEBHOOK_SECRET.
  5. Pour chaque service, garder son webhook Push vers l'URL Deploy de sa stack.

deploy = true crée et déploie la stack lors de la synchronisation. Komodo se met aussi à jour automatiquement. Les mises à jour directes d'images sont désactivées. Les .env restent sur le serveur : laisser Environment vide et Reclone désactivé.

Ajouter un service

Créer son dépôt avec un fichier Compose, préparer ses secrets dans /opt/<service>, puis ajouter une entrée dans stacks.toml et pousser sur main. Le webhook infra synchronise et déploie la nouvelle stack. Ajouter ensuite son webhook Deploy pour les prochains commits de ce service.

Les dépôts locaux des services sont indépendants et ignorés par infra.

Caddy : overrides locaux

Les stacks caddy-saturn et caddy-mars-02 lisent les fichiers dans /opt/caddy sur leur serveur, avec files_on_host = true. compose.saturn.yml et compose.mars-02.yml restent hors Git. Le hook pre_deploy met à jour le clone avec git pull --ff-only avant le déploiement ; l'accès Git doit fonctionner pour l'utilisateur Periphery. Le projet reste edge-caddy. Après publication de cette configuration, synchroniser les ressources Komodo pour remplacer le mode Git des stacks.