Automation Dashboard

Gérez votre homelab avec puissance et élégance. Surveillance, automatisation et contrôle en temps réel.

12
Hosts En Ligne
48
Tâches Exécutées
98.5%
Taux de Succès
99.9%
Disponibilité

Tableau de Bord

Gestion des Hosts

Actions Rapides

Planificateur

Voir tout →
0
Actifs
--
Prochaine
0
Échecs 24h

Chargement...

Gestion des Hosts

Gérez et surveillez tous vos serveurs depuis un seul endroit

Inventaire des Hosts

Gestion des Playbooks

Gérez vos scripts d'automatisation Ansible depuis un seul endroit

0 playbooks
Catégorie:

Chargement des playbooks...

Gestion des Tâches

Tâches

0
Filtrer par date:

Planificateur des Playbooks

Planifiez et orchestrez vos playbooks dans le temps - Exécutions automatiques ponctuelles ou récurrentes

0
Schedules actifs
0
En pause
--:--
Prochaine exécution
0
Échecs 24h
Filtres:

Prochaines exécutions

Logs Système

Consultez l'historique des opérations et événements système

Logs Récentes

Centre d'Aide

Bienvenue dans le guide d'utilisation du Homelab Automation Dashboard. Découvrez comment gérer efficacement votre infrastructure.

Démarrage Rapide

Ajouter vos Hosts

Commencez par ajouter vos serveurs dans la section Hosts. Chaque host nécessite un nom, une adresse IP et un système d'exploitation.

Bootstrap Ansible

Exécutez le Bootstrap sur chaque host pour configurer l'accès SSH et les prérequis Ansible.

Automatiser

Utilisez les Actions Rapides ou exécutez des playbooks personnalisés pour automatiser vos tâches.

Indicateurs de Santé des Hosts

Chaque host affiche un indicateur visuel de santé représenté par des barres colorées. Cet indicateur combine plusieurs facteurs pour évaluer l'état global de votre serveur.

Comprendre l'Indicateur

Excellent (5 barres vertes)

Host en ligne, bootstrap OK, vérifié récemment

Bon (3-4 barres jaunes)

Host fonctionnel mais certains aspects à améliorer

Moyen (2 barres oranges)

Attention requise - vérification recommandée

Faible (1 barre rouge)

Host hors ligne ou non configuré

Facteurs de Calcul du Score

Statut en ligne +2 points

Le host répond aux requêtes réseau

Bootstrap Ansible OK +1 point

SSH et prérequis Ansible configurés

Vérifié récemment (<1h) +2 points

Dernière vérification il y a moins d'une heure

Vérifié aujourd'hui +1 point

Dernière vérification dans les 24 dernières heures

Astuce: Exécutez régulièrement un Health Check pour maintenir un score de santé élevé.

Statuts Bootstrap Ansible

Ansible Ready

Le host est entièrement configuré pour Ansible. L'utilisateur automation existe, la clé SSH est déployée et sudo est configuré sans mot de passe.

Non configuré

Le bootstrap n'a pas encore été exécuté sur ce host. Cliquez sur le bouton Bootstrap pour configurer l'accès Ansible.

Que signifie "Jamais vérifié" ?

Ce message apparaît lorsqu'aucun Health Check n'a été exécuté sur le host depuis son ajout. Le système ne peut pas déterminer l'état réel du serveur. Lancez un Health Check pour mettre à jour le statut et obtenir un score de santé précis.

Architecture de la Solution

Stack Technologique

  • Backend: FastAPI (Python) - API REST haute performance
  • Automation: Ansible - Gestion de configuration
  • Frontend: HTML/CSS/JS avec TailwindCSS
  • Déploiement: Docker & Docker Compose
  • Temps réel: WebSocket pour les mises à jour live

Structure des Fichiers

homelab-automation/
├── app/
│   ├── app_optimized.py    # API FastAPI
│   ├── index.html          # Interface web
│   └── main.js             # Logique frontend
├── ansible/
│   ├── inventory/
│   │   ├── hosts.yml       # Inventaire des hosts
│   │   └── group_vars/     # Variables par groupe
│   └── playbooks/          # Playbooks Ansible
├── tasks_logs/             # Logs des tâches
├── docker-compose.yml
└── Dockerfile

Fonctionnalités par Section

Dashboard

Vue d'ensemble de votre infrastructure avec métriques en temps réel.

  • Métriques: Nombre d'hosts en ligne, tâches exécutées, taux de succès
  • Actions Rapides: Mise à jour, redémarrage, health check, backup
  • Aperçu Hosts: Liste condensée avec statut de chaque serveur
Hosts

Gestion complète de vos serveurs et machines.

  • Ajouter un Host: Nom, IP, OS, groupes d'environnement et de rôle
  • Bootstrap: Configure SSH et les prérequis Ansible sur le host
  • Filtres: Par groupe, par statut Ansible Ready/Non configuré
  • Actions: Health Check, Upgrade, Reboot, Backup par host
  • Playbooks: Exécuter des playbooks sur un groupe de hosts
Tasks

Historique et suivi des tâches d'automatisation.

  • Statuts: En cours (bleu), Terminées (vert), Échouées (rouge)
  • Filtres: Par statut, par date (année/mois/jour)
  • Détails: Cliquez sur une tâche pour voir les logs complets
  • Polling: Mise à jour automatique des tâches en cours
Logs

Journal des événements système en temps réel.

  • Types: Info, Warning, Error avec codes couleur
  • WebSocket: Logs en temps réel sans rafraîchissement
  • Export: Téléchargez les logs au format texte
  • Effacer: Nettoyez l'historique des logs

Playbooks Ansible Disponibles

bootstrap-host.yml

Configure un nouveau host pour Ansible: création utilisateur, clé SSH, sudo sans mot de passe.

Requis avant toute autre opération

health-check.yml

Vérifie l'état de santé: CPU, RAM, disque, services critiques.

Exécution rapide, non destructif

system-upgrade.yml

Met à jour tous les paquets système (apt/yum/dnf selon l'OS).

Peut nécessiter un redémarrage

backup-config.yml

Sauvegarde les fichiers de configuration importants (/etc, configs apps).

Stockage local ou distant

Référence API

L'API REST est accessible sur le port configuré. Authentification via header X-API-Key.

Endpoint Méthode Description
/api/hosts GET Liste tous les hosts
/api/hosts POST Ajoute un nouveau host
/api/tasks/logs GET Récupère les logs de tâches
/api/ansible/playbooks GET Liste les playbooks disponibles
/api/ansible/execute POST Exécute un playbook
/api/metrics GET Métriques du dashboard

Dépannage

Le bootstrap échoue avec "Permission denied"

Cause: Les identifiants SSH fournis sont incorrects ou l'utilisateur n'a pas les droits sudo.

Solution: Vérifiez le nom d'utilisateur et mot de passe. Assurez-vous que l'utilisateur peut exécuter sudo sur le host cible.

Les hosts apparaissent "offline" alors qu'ils sont accessibles

Cause: Le health check n'a pas été exécuté ou la clé SSH n'est pas configurée.

Solution: Exécutez le bootstrap si ce n'est pas fait, puis lancez un Health Check.

Les tâches restent bloquées "En cours"

Cause: Le processus Ansible peut être bloqué ou le host ne répond plus.

Solution: Vérifiez la connectivité réseau. Consultez les logs système pour plus de détails. Redémarrez le conteneur Docker si nécessaire.

L'interface ne se met pas à jour en temps réel

Cause: La connexion WebSocket est interrompue.

Solution: Rafraîchissez la page. Vérifiez que le port WebSocket n'est pas bloqué par un firewall ou proxy.

Raccourcis & Astuces

Navigation

  • Cliquez sur le logo pour revenir au Dashboard
  • Utilisez les onglets du menu pour naviguer
  • Le thème clair/sombre est persistant

Productivité

  • Filtrez les hosts par groupe pour des actions groupées
  • Utilisez les filtres de date pour retrouver des tâches
  • Exportez les logs avant de les effacer