3.0 KiB
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
- Cloner le projet :
git clone <repo-url>
cd zebra_power
- Créer le répertoire de données :
mkdir -p data
- Lancer l'application :
docker-compose up -d
- Accéder à l'interface :
- Application : http://localhost (via Nginx)
- Frontend direct : http://localhost:3000
- API : http://localhost:8000
- Documentation API : http://localhost:8000/docs
Configuration
Serveurs Wake-on-LAN
- Accédez à la section "Serveurs"
- Ajoutez un serveur avec :
- Nom
- Adresse IP
- Adresse MAC
- Description (optionnelle)
Clusters Proxmox
- Accédez à la section "Proxmox"
- 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 serveursPOST /api/servers- Créer un serveurPUT /api/servers/{id}- Modifier un serveurDELETE /api/servers/{id}- Supprimer un serveur
Wake-on-LAN
POST /api/wol/wake/{server_id}- Réveiller un serveurPOST /api/wol/ping/{server_id}- Ping un serveurGET /api/wol/logs- Logs WOL
Proxmox
GET /api/proxmox/clusters- Liste des clustersPOST /api/proxmox/clusters- Ajouter un clusterGET /api/proxmox/clusters/{id}/vms- VMs d'un clusterPOST /api/proxmox/clusters/{id}/vms/{vmid}/start- Démarrer VMPOST /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: hostpour 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