Ajout version LXC et restructuration complète du projet

🚀 NOUVELLES FONCTIONNALITÉS :
- Version LXC complète pour Proxmox avec installation automatisée
- Script d'installation LXC avec interface colorée et vérifications
- Service systemd avec configuration sécurisée
- Script de désinstallation avec sauvegarde de config

📁 RESTRUCTURATION :
- Séparation Docker/LXC dans des dossiers dédiés
- Documentation spécialisée pour chaque version
- Guide d'installation unifié (INSTALL.md)
- README principal avec comparaison des versions

🐳 AMÉLIORATIONS DOCKER :
- docker-compose.yml optimisé avec healthcheck
- Documentation Docker détaillée
- Configuration par variables d'environnement clarifiée

📦 FONCTIONNALITÉS LXC :
- Installation en une commande
- Intégration systemd native
- Gestion des permissions et sécurité
- Logs intégrés avec journalctl
- Configuration via fichier d'environnement

🔧 OUTILS INCLUS :
- Scripts d'installation/désinstallation
- Healthchecks pour les deux versions
- Documentation de dépannage
- Comparatif des deux approches

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-08-31 11:00:00 +02:00
parent 3a96167120
commit ced296a296
15 changed files with 1410 additions and 26 deletions

173
docker/README-DOCKER.md Normal file
View File

@@ -0,0 +1,173 @@
# Version Docker
Documentation spécifique pour l'installation et l'utilisation avec Docker.
## Fichiers inclus
- `Dockerfile` : Image Docker
- `Dell_iDRAC_fan_controller.sh` : Script principal
- `functions.sh` : Fonctions utilitaires
- `healthcheck.sh` : Vérification de santé
## Installation Docker
### 1. Construction de l'image
```bash
cd docker/
docker build -t idrac-fan-controller .
```
### 2. Utilisation avec Docker Compose (recommandé)
**Créer `docker-compose.yml` :**
```yml
version: '3.8'
services:
idrac_fan_controller:
build: .
container_name: idrac_fan_controller
restart: unless-stopped
environment:
# Connexion iDRAC
- IDRAC_HOST=local # ou IP pour distant
- IDRAC_USERNAME=root # si distant
- IDRAC_PASSWORD=calvin # si distant
# Seuils de température (°C)
- CPU_TEMPERATURE_1=30
- CPU_TEMPERATURE_2=40
- CPU_TEMPERATURE_3=50
- CPU_TEMPERATURE_4=60
# Vitesses correspondantes (%)
- FAN_SPEED_1=10
- FAN_SPEED_2=30
- FAN_SPEED_3=60
- FAN_SPEED_4=80
# Seuil de sécurité
- CPU_TEMPERATURE_THRESHOLD=70
# Autres paramètres
- CHECK_INTERVAL=60
- DISABLE_THIRD_PARTY_PCIE_CARD_DELL_DEFAULT_COOLING_RESPONSE=false
devices:
- /dev/ipmi0:/dev/ipmi0:rw # Pour iDRAC local
# Optionnel : logs persistants
volumes:
- ./logs:/var/log/idrac
```
### 3. Lancement
```bash
# Démarrer
docker-compose up -d
# Voir les logs
docker-compose logs -f
# Arrêter
docker-compose down
```
## Configuration par variables d'environnement
Toutes les variables peuvent être configurées via l'environnement :
```bash
# Exemple pour iDRAC distant
docker run -d \
--name idrac_fan_controller \
--restart unless-stopped \
-e IDRAC_HOST=192.168.1.100 \
-e IDRAC_USERNAME=root \
-e IDRAC_PASSWORD=calvin \
-e CPU_TEMPERATURE_1=30 \
-e CPU_TEMPERATURE_2=40 \
-e CPU_TEMPERATURE_3=50 \
-e CPU_TEMPERATURE_4=60 \
-e FAN_SPEED_1=10 \
-e FAN_SPEED_2=30 \
-e FAN_SPEED_3=60 \
-e FAN_SPEED_4=80 \
-e CPU_TEMPERATURE_THRESHOLD=70 \
-e CHECK_INTERVAL=60 \
idrac-fan-controller
```
## Gestion
### Commandes utiles
```bash
# État du container
docker-compose ps
# Logs en temps réel
docker-compose logs -f idrac_fan_controller
# Redémarrer
docker-compose restart idrac_fan_controller
# Shell dans le container
docker-compose exec idrac_fan_controller bash
# Test de santé
docker-compose exec idrac_fan_controller ./healthcheck.sh
```
### Mise à jour
```bash
# Reconstruire l'image
docker-compose build
# Redémarrer avec la nouvelle image
docker-compose up -d
```
## Dépannage Docker
### Vérification de l'accès IPMI
```bash
# Dans le container
docker-compose exec idrac_fan_controller ls -la /dev/ipmi*
# Test ipmitool
docker-compose exec idrac_fan_controller ipmitool fru
```
### Erreurs communes
**"Could not open device at /dev/ipmi0"**
```bash
# Vérifier sur l'hôte
ls -la /dev/ipmi*
# Vérifier les permissions
docker-compose exec idrac_fan_controller ls -la /dev/ipmi*
```
**Container qui s'arrête**
```bash
# Voir les logs
docker-compose logs idrac_fan_controller
# Mode debug
docker-compose run --rm idrac_fan_controller bash
```
## Avantages Docker
- **Isolation** : Environment isolé
- **Reproductibilité** : Même environnement partout
- **Versioning** : Images versionnées
- **Rollback** : Retour en arrière facile
- **Orchestration** : Intégration avec autres services