Ansible + Proxmox : créer des VMs et des LXC en une commande
La cinquième fois que j'ai créé un LXC Debian à la main dans l'interface Proxmox,…
Renouveler un certificat à la main, vider un disque, redémarrer un service qui fuit : comment repérer le travail répétitif de ton homelab et décider quoi automatiser.
Dans le vocabulaire du SRE, le toil (un mot anglais qui veut dire « corvée ») désigne le travail d’exploitation manuel, répétitif et sans valeur durable. Si tu fais la même chose toutes les semaines à la main, et que demain tu devras la refaire à l’identique, c’est du toil.
Dans une grande entreprise, on en fait des statistiques. Chez soi, on s’en rend compte autrement : un dimanche, on se surprend à soupirer en tapant pour la quinzième fois la même suite de commandes.
Une tâche est du toil si elle coche la plupart de ces cases :
Ce n’est pas du toil de réfléchir à une nouvelle architecture, d’apprendre un outil, ou de réparer une vraie panne inédite. Ça, c’est le côté amusant du homelab.
Voici les candidates que je retrouve chez presque tout le monde :
| Corvée | Comment l’éviter |
|---|---|
| Renouveler des certificats HTTPS | Un reverse proxy qui le fait seul (voir mon article sur Caddy) |
| Faire les mises à jour de sécurité | unattended-upgrades sur Debian/Ubuntu |
| Nettoyer les logs qui grossissent | logrotate, ou les limites de taille de journald |
| Vider un disque qui se remplit | Un nettoyage planifié et une alerte avant saturation |
| Redémarrer un service qui plante de temps en temps | Restart=on-failure dans systemd, ou restart: unless-stopped dans Docker |
| Lancer les sauvegardes | Tâches planifiées dans Proxmox Backup Server ou un cron |
| Vérifier « à la main » que tout va bien | Un tableau de bord et une alerte |
Dans cette liste, la dernière ligne est la plus sournoise : ouvrir dix onglets le matin pour vérifier que tout est vert, c’est du toil déguisé en vigilance.
Pour décider si une corvée vaut un script, j’applique une règle simple :
La première fois, je la fais à la main. La deuxième fois, je note les commandes. La troisième fois, j’en fais un script.
Pourquoi ? Parce que la première fois, tu ne sais pas encore ce qui est variable. La deuxième, tu vois ce qui change. À la troisième, tu es sûr que ça revient, et tu sais quoi paramétrer.
Il y a un piège inverse : passer un week-end à automatiser une tâche de deux minutes par mois. Un calcul rapide permet de s’éviter ça :
gain annuel = durée de la tâche × nombre de fois par an
Une tâche de 10 minutes qui revient chaque semaine représente environ 8 heures par an. Si l’automatiser te prend une soirée, c’est rentable la première année. Une tâche de 2 minutes par mois, ça fait 24 minutes par an : laisse tomber, à moins que l’oubli soit risqué.
Et il y a un deuxième critère, souvent plus important que le temps : le risque d’oubli. Une tâche courte mais critique (renouveler un certificat, tester une sauvegarde) mérite d’être automatisée ou, au minimum, de déclencher un rappel.
Supposons que tu nettoies à la main les anciennes sauvegardes d’un dossier. Voici la version « corvée » :
ls -lt /srv/sauvegardes | tail
rm /srv/sauvegardes/ancienne-1.tar.gz
rm /srv/sauvegardes/ancienne-2.tar.gz
Et la version automatisée : supprimer ce qui a plus de 30 jours, chaque nuit.
#!/usr/bin/env bash
# nettoyer-sauvegardes.sh : supprime les archives de plus de 30 jours
set -euo pipefail
find /srv/sauvegardes -name '*.tar.gz' -mtime +30 -print -delete
Puis une ligne dans la crontab :
30 3 * * * /usr/local/bin/nettoyer-sauvegardes.sh
Avant d’activer la suppression pour de bon, lance-le une première fois sans -delete pour vérifier ce qu’il compte effacer. C’est un réflexe qui évite les mauvaises surprises.
Rien de compliqué, et presque tout est déjà sur ta machine :
L’important est de ranger tes scripts quelque part : un dossier scripts/ versionné avec git, par exemple. Un script qui n’existe que dans l’historique de ton shell est un script perdu.
Une corvée automatisée est une corvée invisible. Si le script plante sans bruit, personne ne le sait avant que ce soit grave. Pour chaque automatisation, ajoute un signal d’échec : un message sur ton téléphone, ou au moins une ligne de log. J’en parle dans Être alerté sur son téléphone quand ça plante.
Prends un papier, et note tout ce que tu as fait à la main sur ton homelab le mois dernier. Barre ce qui était nouveau ou amusant. Ce qui reste, ce sont tes corvées. Choisis-en une, la plus pénible, et automatise-la ce week-end.
Et si ça te prend moins de temps que prévu, tu auras gagné la plus agréable des victoires : celle d’une tâche à laquelle tu n’as plus jamais besoin de penser.
Cet article est vivant - corrections, contre-arguments et retours de production sont les bienvenus. Trois canaux, choisis celui qui te convient.