SEC.01
Le playbook
Le run démarre en lecture seule : les sondes de reconnaissance décident de la suite. Les étapes qui suivent sont adaptées à la distribution et à l'état trouvés — une vraie machine est rarement propre.
- 01recondistro (apt ou dnf) et architecture (amd64/arm64)
- 02reconDocker Engine + plugin compose présents et daemon actif ?
- 03reconstack déjà écrite dans /opt/monitoring ? ne pas écraser
- 04reconports 3000/9090/9100 libres ? sinon qui les occupe
- 05reconau moins 1 GB de RAM ; reverse proxy présent (si domaine)
- 06agirInstaller Docker Engine (seulement s’il manque)vérif
- 07agirÉcrire la config Prometheus et la datasource Grafanavérif
- 08agirGénérer le mot de passe admin Grafanavérif
- 09agirÉcrire la stackvérif
- 10agirDémarrervérif
- 11agirGrafana et Prometheus répondentvérif
- 12agirReverse proxy TLS (seulement si un domaine est fourni)vérif
SEC.02
Ce qu'elle vérifie
Chaque étape embarque sa propre vérification. Le run ne continue que si elle passe, donc ce que la recette annonce comme fait est ce qui est réellement sur le serveur.
- 01vérifInstaller Docker Engine (seulement s’il manque)Vérifié par
docker compose version && systemctl is-active dockerattendu : une version de Docker Compose puis active - 02vérifÉcrire la config Prometheus et la datasource GrafanaVérifié par
ls /opt/monitoring/prometheus.yml /opt/monitoring/grafana/provisioning/datasources/prometheus.yamlattendu : les deux fichiers listés - 03vérifGénérer le mot de passe admin GrafanaVérifié par
stat -c '%a' /opt/monitoring/.env && grep -c GF_SECURITY_ADMIN_PASSWORD /opt/monitoring/.envattendu : 600 puis 1 - 04vérifÉcrire la stackVérifié par
docker compose -f /opt/monitoring/compose.yaml config -q && echo okattendu : ok - 05vérifDémarrerVérifié par
docker compose -f /opt/monitoring/compose.yaml ps --status running -q | wc -lattendu : 3 - 06vérifGrafana et Prometheus répondentVérifié par
curl -s -o /dev/null -w '%{http_code}' http://127.0.0.1:3000/api/healthattendu : 200 - 07vérifReverse proxy TLS (seulement si un domaine est fourni)Vérifié par
curl -s -o /dev/null -w '%{http_code}' https://${domain}/api/healthattendu : 200
SEC.03
Les garde-fous
Les consignes non négociables que le run doit respecter, quoi qu'il trouve sur le serveur.
N’écrase aucun fichier existant de /opt/monitoring et ne supprime jamais les volumes prometheus-data et grafana-data. Tout écoute sur 127.0.0.1 : n’expose rien publiquement sans reverse proxy TLS. Le mot de passe admin Grafana est dans /opt/monitoring/.env.
SEC.04
Les variables
Ce que vous choisissez avant de lancer — la recette s'occupe du reste.
| Nom | Signification |
|---|---|
| ${domain} | Domaine Grafana (optionnel) |
SEC.05
Comment une recette s'exécute dans Servor
Servor est zero-knowledge : la plateforme ne peut rien exécuter seule. Quand vous lancez cette recette, un run lit la reconnaissance, planifie les étapes et demande votre validation. Chaque commande approuvée est signée par votre navigateur — avec une clé que le serveur ne voit jamais — puis relayée telle quelle à l'agent, qui vérifie la signature localement avant d'exécuter.
recherche par intention — tapez « firewall », obtenez ufw
- 01Reconnaissance en lecture seule avant tout changement
- 02Chaque commande signée par votre navigateur, validée par vous
- 03Chaque étape vérifiée avant de continuer, chaque run conservé dans l'historique
SEC.06
Bouton Deploy on Servor
Vous maintenez Stack Grafana + Prometheus ou un projet qui en dépend ? Ajoutez ce bouton à votre README ou à votre site : en un clic, vos utilisateurs l'installent sur leur propre serveur.
SEC.07
D'autres recettes observabilité
- 01node_exporterExportateur de métriques système Prometheus, en service systemd.
- 02NetdataMonitoring temps réel Netdata (canal stable), interface locale sur :19999.
- 03PrometheusPrometheus (collecte de métriques), en service systemd local sur :9090.
- 04GrafanaGrafana OSS (dépôt officiel), local sur :3000, admin à mot de passe aléatoire.
- 05Grafana LokiAgrégation de logs Loki 3.7 via Docker, locale sur :3100.
Recette vérifiée
Lancez cette recette sur votre serveur
Connectez un serveur, lancez la recette, et validez chaque étape pendant que Servor exécute et vérifie. Plan gratuit, sans carte bancaire.