🚀 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>
173 lines
3.5 KiB
Markdown
173 lines
3.5 KiB
Markdown
# 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 |