Installer l’interface légère derrière son proxy HTTPS. Elle s’ajoute à l’agent serve.
Après un cycle en échec, le tableau de bord affiche le dernier relevé complet avec son heure, en lecture seule. Avant le premier cycle réussi, aucun historique n’est disponible.
1. Installer en lecture seule
Depuis la racine du clone v1.3.3, sur une installation neuve :
cd examples/ui
python3 prepare.py --self-signed
docker compose up -dLe script demande un identifiant et un mot de passe et prépare secrets.local. Ouvrez https://localhost:8443 sur la machine hôte. Le certificat autosigné dure sept jours et convient au test local ; le navigateur signalera qu’il n’est pas reconnu.
Cette stack démarre son propre agent. Arrêtez un agent précédent si son port entre en conflit. Seul l’agent reçoit le socket Docker.
2. Variante avec actions manuelles
Sur une autre installation neuve, utilisez cette préparation à la place de la précédente :
cd examples/ui
python3 prepare.py --actions --self-signedDans .env, définissez l’origine exacte, sans slash final :
UI_ORIGIN=https://localhost:8443docker compose -f compose.yaml -f compose.actions.yaml up -dPour convertir une installation existante, arrêtez la stack et sauvegardez secrets.local dans un emplacement privé hors dépôt avant de préparer de nouveaux secrets. Le script refuse d’écraser les secrets existants.
3. Vérifier les opérations
L’interface actualise l’état toutes les cinq secondes. Une donnée inconnue apparaît avec un tiret ; des données trop anciennes désactivent les actions. Les conteneurs arrêtés/créés peuvent être démarrés ; ceux en cours d’exécution peuvent être arrêtés ou redémarrés.
HTTP 202 signifie « accepté », pas « terminé ». Vérifiez le résultat de l’action. La file accepte une opération en attente ; une action expire après 60 secondes et le cooldown manuel est de 30 secondes par conteneur. Les résultats récents sont en mémoire.
4. Passer à un domaine réel
Exécutez la préparation sans --self-signed et fournissez un certificat reconnu et sa clé sous les noms tls.crt et tls.key attendus par l’exemple. Réglez UI_BIND, UI_PORT et, pour les actions, UI_ORIGIN sur votre domaine HTTPS exact. Conservez l’agent sur le réseau privé.
Le jeton d’action reste côté proxy et ne doit jamais être livré au navigateur. Les actions requièrent explicitement --allow-actions, --action-origin, --action-token-file et --state-file ; elles sont incompatibles avec --dry-run. Le fichier Compose dédié configure cet ensemble.
Arrêter et mettre à jour
Utilisez les mêmes options -f que lors du démarrage pour docker compose down. Gardez les volumes et les secrets. Lors d’une mise à jour, alignez les versions agent/UI, puis tirez les images et recréez les deux services pour renouveler la résolution DNS du proxy.
Protéger un conteneur des actions manuelles
Depuis la version 0.0.64, ajoutez ce label sous le service concerné dans votre fichier Compose :
labels:
monit-docker.protected: "true"
Appliquez le changement avec docker compose up -d NOM_DU_SERVICE. L’agent lit les labels du conteneur recréé. Celui-ci reste visible avec ses métriques et le badge « Protected », mais les boutons Démarrer, Arrêter et Redémarrer sont désactivés. L’API refuse aussi ces actions avec HTTP 403 et container_protected.
Sans ce label, les actions restent possibles. Les valeurs explicites false, 0, no et off désactivent la protection ; les autres valeurs protègent le conteneur. Les règles automatiques continuent de fonctionner. Ce label ne limite pas les droits d’un accès direct à Docker.
Essayer la démo publique
La démo en direct utilise de vrais conteneurs sur un environnement partagé. Les actions de chaque visiteur sont visibles par tous. Seuls monit-demo-web et monit-demo-worker sont manipulables ; l’agent, l’interface et le proxy HTTPS sont protégés.
Un conteneur de test arrêté est automatiquement démarré après cinq minutes d’arrêt, lors de la vérification suivante (une fois par minute). Les conteneurs déjà en marche sont laissés tels quels. Ce rétablissement est propre au serveur de démonstration : il n’est pas activé sur vos installations. Il ne supprime ni conteneur ni volume et ne vide pas l’historique récent de l’agent.
Journal persistant
Ouvrez le Journal de la démo pour consulter les vraies actions et leurs résultats, filtrer les événements et exporter la page affichée en CSV ou JSONL. Les actions manuelles de démonstration sont anonymes et visibles par tous.
La version 0.0.66 a introduit une page Journal privée avec filtres et exports CSV/JSONL. Consultez le guide d’activation du journal.
Maintenance temporaire
La démo propose aussi des pauses de 15 minutes ou une heure sur ses conteneurs de test. Elles suspendent les actions des règles automatiques de cet agent, pas les politiques Docker ni la récupération serveur après cinq minutes. La démo n’a pas de règle de correction automatique : elle illustre les commandes, leur persistance et le journal. Consultez le guide de maintenance pour activer la fonction sur votre installation.

