Files
iDRAC_fan_controller/docker/README-DOCKER.md
Benoit ced296a296 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>
2025-08-31 11:00:00 +02:00

3.5 KiB

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

cd docker/
docker build -t idrac-fan-controller .

2. Utilisation avec Docker Compose (recommandé)

Créer docker-compose.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

# 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 :

# 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

# É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

# 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

# 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"

# 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

# 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