Files
zebra-power/README.md

3.0 KiB

Zebra Power 🍅

Application dockerisée pour la gestion Wake-on-LAN et le contrôle des VMs/Containers Proxmox. Nommée d'après la tomate verte zebra

Fonctionnalités

  • Wake-on-LAN : Réveil de serveurs via paquets magiques
  • Monitoring : Ping automatique et statut des serveurs
  • Proxmox : Gestion des clusters, VMs et containers
  • Dashboard : Vue d'ensemble avec statistiques
  • Interface moderne : Vue.js 3 avec Tailwind CSS

Architecture

  • Backend : FastAPI + SQLite
  • Frontend : Vue.js 3 + Tailwind CSS
  • Proxy : Nginx
  • Base de données : SQLite (fichier local)

Installation

Prérequis

  • Docker & Docker Compose
  • Réseau local pour WOL

Démarrage rapide

  1. Cloner le projet :
git clone <repo-url>
cd zebra_power
  1. Créer le répertoire de données :
mkdir -p data
  1. Lancer l'application :
docker-compose up -d
  1. Accéder à l'interface :

Configuration

Serveurs Wake-on-LAN

  1. Accédez à la section "Serveurs"
  2. Ajoutez un serveur avec :
    • Nom
    • Adresse IP
    • Adresse MAC
    • Description (optionnelle)

Clusters Proxmox

  1. Accédez à la section "Proxmox"
  2. Ajoutez un cluster avec :
    • Nom du cluster
    • Host/IP du serveur Proxmox
    • Nom d'utilisateur (ex: root@pam)
    • Mot de passe
    • Port (défaut: 8006)
    • Vérification SSL

API Endpoints

Serveurs

  • GET /api/servers - Liste des serveurs
  • POST /api/servers - Créer un serveur
  • PUT /api/servers/{id} - Modifier un serveur
  • DELETE /api/servers/{id} - Supprimer un serveur

Wake-on-LAN

  • POST /api/wol/wake/{server_id} - Réveiller un serveur
  • POST /api/wol/ping/{server_id} - Ping un serveur
  • GET /api/wol/logs - Logs WOL

Proxmox

  • GET /api/proxmox/clusters - Liste des clusters
  • POST /api/proxmox/clusters - Ajouter un cluster
  • GET /api/proxmox/clusters/{id}/vms - VMs d'un cluster
  • POST /api/proxmox/clusters/{id}/vms/{vmid}/start - Démarrer VM
  • POST /api/proxmox/clusters/{id}/vms/{vmid}/stop - Arrêter VM

Développement

Backend

cd backend
pip install -r requirements.txt
uvicorn app.main:app --reload

Frontend

cd frontend
npm install
npm run dev

Notes techniques

  • Le backend utilise network_mode: host pour envoyer des paquets WOL
  • Les données sont persistées dans ./data/zebra.db
  • L'interface supporte les thèmes sombres/clairs
  • Monitoring temps réel des statuts serveurs

Dépannage

WOL ne fonctionne pas

  • Vérifiez que WOL est activé sur le serveur cible
  • Assurez-vous que le conteneur utilise le réseau host
  • Vérifiez l'adresse MAC

Connexion Proxmox échoue

  • Vérifiez les credentials et l'IP
  • Testez l'accès via navigateur
  • Vérifiez les certificats SSL

Port déjà utilisé

docker-compose down
# Modifier les ports dans docker-compose.yml si nécessaire
docker-compose up -d