🚀 Ajout version Proxmox autonome et mise à jour URLs repository
✨ NOUVELLE VERSION PROXMOX AUTONOME : - Script d'installation totalement autonome pour Proxmox VE - Création automatique du container LXC Ubuntu 22.04 - Configuration hardware et IPMI automatisée - Interface utilisateur avec ASCII art et couleurs - Compatible avec le pattern community-scripts 🛠️ FONCTIONNALITÉS AVANCÉES : - Outils d'administration intégrés (idrac-setup, idrac-status, etc.) - Scripts helpers avec interface colorée - Healthcheck et monitoring automatiques - Configuration par défaut optimisée pour Dell - Gestion des erreurs et diagnostics 📱 INTERFACE UTILISATEUR : - Menu de configuration avancée - Rapport d'installation détaillé - Instructions post-installation contextuelles - Scripts d'aide intégrés au container 🔗 MISE À JOUR REPOSITORY : - Toutes les URLs mises à jour avec git.benoitsz.com - Documentation cohérente sur toutes les versions - Liens Gitea pour issues et support 📚 DOCUMENTATION COMPLÈTE : - README-PROXMOX.md avec guide détaillé - Comparaison des 3 versions (Docker, LXC, Proxmox) - Instructions d'installation ultra-rapide - Guide de dépannage spécialisé ⚡ INSTALLATION EN 1 COMMANDE : bash -c "$(wget -qLO - https://git.benoitsz.com/benoit/iDRAC_fan_controller/raw/branch/main/proxmox/idrac-fan-controller.sh)" 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
44
INSTALL.md
44
INSTALL.md
@@ -2,6 +2,26 @@
|
|||||||
|
|
||||||
Choisissez votre méthode d'installation préférée :
|
Choisissez votre méthode d'installation préférée :
|
||||||
|
|
||||||
|
## 🤖 Version Proxmox Autonome (Recommandée)
|
||||||
|
|
||||||
|
**Avantages :**
|
||||||
|
- **Installation en 1 seule commande** depuis Proxmox
|
||||||
|
- Création automatique du container LXC
|
||||||
|
- Configuration hardware automatique
|
||||||
|
- Interface graphique avec ASCII art
|
||||||
|
- Outils d'administration intégrés
|
||||||
|
|
||||||
|
**→ [Guide Proxmox complet](proxmox/README-PROXMOX.md)**
|
||||||
|
|
||||||
|
### Installation ultra-rapide Proxmox
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Depuis votre node Proxmox VE
|
||||||
|
bash -c "$(wget -qLO - https://git.benoitsz.com/benoit/iDRAC_fan_controller/raw/branch/main/proxmox/idrac-fan-controller.sh)"
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## 🐳 Version Docker
|
## 🐳 Version Docker
|
||||||
|
|
||||||
**Avantages :**
|
**Avantages :**
|
||||||
@@ -16,7 +36,7 @@ Choisissez votre méthode d'installation préférée :
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Cloner le repo
|
# Cloner le repo
|
||||||
git clone <votre-repo>
|
git clone https://git.benoitsz.com/benoit/iDRAC_fan_controller.git
|
||||||
cd Dell_iDRAC_fan_controller/docker
|
cd Dell_iDRAC_fan_controller/docker
|
||||||
|
|
||||||
# Configurer
|
# Configurer
|
||||||
@@ -43,7 +63,7 @@ docker-compose -f docker-compose.local.yml up -d
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Dans un container LXC Ubuntu
|
# Dans un container LXC Ubuntu
|
||||||
wget -O - https://github.com/<votre-repo>/archive/main.tar.gz | tar -xz
|
wget -O - https://git.benoitsz.com/benoit/iDRAC_fan_controller/archive/main.tar.gz | tar -xz
|
||||||
cd Dell_iDRAC_fan_controller-main/lxc
|
cd Dell_iDRAC_fan_controller-main/lxc
|
||||||
chmod +x install-lxc.sh
|
chmod +x install-lxc.sh
|
||||||
./install-lxc.sh
|
./install-lxc.sh
|
||||||
@@ -53,17 +73,17 @@ chmod +x install-lxc.sh
|
|||||||
|
|
||||||
## Comparaison rapide
|
## Comparaison rapide
|
||||||
|
|
||||||
| Critère | Docker | LXC |
|
| Critère | Proxmox Auto | Docker | LXC Manuel |
|
||||||
|---------|--------|-----|
|
|---------|-------------|--------|------------|
|
||||||
| **Facilité** | ⭐⭐⭐ | ⭐⭐ |
|
| **Facilité** | ⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐ |
|
||||||
| **Performance** | ⭐⭐ | ⭐⭐⭐ |
|
| **Performance** | ⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐ |
|
||||||
| **Isolation** | ⭐⭐⭐ | ⭐⭐ |
|
| **Isolation** | ⭐⭐ | ⭐⭐⭐ | ⭐⭐ |
|
||||||
| **Maintenance** | ⭐⭐⭐ | ⭐⭐ |
|
| **Maintenance** | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐ |
|
||||||
| **Proxmox** | ⭐⭐ | ⭐⭐⭐ |
|
| **Proxmox** | ⭐⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐ |
|
||||||
| **Ressources** | ⭐⭐ | ⭐⭐⭐ |
|
| **Ressources** | ⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐ |
|
||||||
|
|
||||||
## Support
|
## Support
|
||||||
|
|
||||||
- **Issues** : [GitHub Issues](https://github.com/<votre-repo>/issues)
|
- **Issues** : [Gitea Issues](https://git.benoitsz.com/benoit/iDRAC_fan_controller/issues)
|
||||||
- **Discussions** : [GitHub Discussions](https://github.com/<votre-repo>/discussions)
|
- **Discussions** : [Gitea](https://git.benoitsz.com/benoit/iDRAC_fan_controller)
|
||||||
- **Original** : [Projet source](https://github.com/tigerblue77/Dell_iDRAC_fan_controller_Docker)
|
- **Original** : [Projet source](https://github.com/tigerblue77/Dell_iDRAC_fan_controller_Docker)
|
||||||
44
README.md
44
README.md
@@ -10,15 +10,20 @@ Fork de : https://github.com/tigerblue77/Dell_iDRAC_fan_controller_Docker.git
|
|||||||
- Configuration de 4 seuils de température avec vitesses correspondantes
|
- Configuration de 4 seuils de température avec vitesses correspondantes
|
||||||
- Gestion progressive de la vitesse des ventilateurs selon la température du CPU
|
- Gestion progressive de la vitesse des ventilateurs selon la température du CPU
|
||||||
|
|
||||||
## 🚀 Deux versions disponibles
|
## 🚀 Trois versions disponibles
|
||||||
|
|
||||||
| **Version Docker** | **Version LXC Proxmox** |
|
| **Docker** | **LXC Manuel** | **Proxmox Autonome** |
|
||||||
|-------------------|------------------------|
|
|------------|----------------|----------------------|
|
||||||
| 🐳 Container Docker classique | 📦 Container LXC natif |
|
| 🐳 Container Docker | 📦 Container LXC | 🤖 Installation automatique |
|
||||||
| Images versionnées | Installation directe |
|
| docker-compose | Installation manuelle | **1 seule commande** |
|
||||||
| `docker-compose` | `systemctl` |
|
| Device mapping | systemctl | Auto-configuration |
|
||||||
| Isolation forte | Performance native |
|
| → [Docker](docker/) | → [LXC](lxc/) | → [**Proxmox**](proxmox/) |
|
||||||
| → [Documentation Docker](docker/) | → [Documentation LXC](lxc/) |
|
|
||||||
|
### ⚡ Installation ultra-rapide Proxmox
|
||||||
|
```bash
|
||||||
|
bash -c "$(wget -qLO - https://git.benoitsz.com/benoit/iDRAC_fan_controller/raw/branch/main/proxmox/idrac-fan-controller.sh)"
|
||||||
|
```
|
||||||
|
*Créé automatiquement le container LXC, installe Ubuntu et configure l'application !*
|
||||||
|
|
||||||
<!-- TABLE OF CONTENTS -->
|
<!-- TABLE OF CONTENTS -->
|
||||||
<details>
|
<details>
|
||||||
@@ -39,7 +44,7 @@ Fork de : https://github.com/tigerblue77/Dell_iDRAC_fan_controller_Docker.git
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Télécharger la configuration
|
# Télécharger la configuration
|
||||||
wget https://raw.githubusercontent.com/votre-repo/main/docker/docker-compose.yml
|
wget https://git.benoitsz.com/benoit/iDRAC_fan_controller/raw/branch/main/docker/docker-compose.yml
|
||||||
|
|
||||||
# Modifier la configuration selon vos besoins
|
# Modifier la configuration selon vos besoins
|
||||||
nano docker-compose.yml
|
nano docker-compose.yml
|
||||||
@@ -48,11 +53,18 @@ nano docker-compose.yml
|
|||||||
docker-compose up -d
|
docker-compose up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
### 📦 Version LXC (Proxmox)
|
### 🤖 Version Proxmox Autonome (Recommandée)
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Dans le container LXC Ubuntu
|
# Installation complète en 1 commande depuis Proxmox
|
||||||
wget -O - https://github.com/votre-repo/archive/main.tar.gz | tar -xz
|
bash -c "$(wget -qLO - https://git.benoitsz.com/benoit/iDRAC_fan_controller/raw/branch/main/proxmox/idrac-fan-controller.sh)"
|
||||||
|
```
|
||||||
|
|
||||||
|
### 📦 Version LXC Manuel
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Dans un container LXC Ubuntu existant
|
||||||
|
wget -O - https://git.benoitsz.com/benoit/iDRAC_fan_controller/archive/main.tar.gz | tar -xz
|
||||||
cd Dell_iDRAC_fan_controller-main/lxc
|
cd Dell_iDRAC_fan_controller-main/lxc
|
||||||
chmod +x install-lxc.sh
|
chmod +x install-lxc.sh
|
||||||
./install-lxc.sh
|
./install-lxc.sh
|
||||||
@@ -103,7 +115,7 @@ docker run -d \
|
|||||||
-e FAN_SPEED_4=80 \
|
-e FAN_SPEED_4=80 \
|
||||||
-e DISABLE_THIRD_PARTY_PCIE_CARD_DELL_DEFAULT_COOLING_RESPONSE=<true or false> \
|
-e DISABLE_THIRD_PARTY_PCIE_CARD_DELL_DEFAULT_COOLING_RESPONSE=<true or false> \
|
||||||
--device=/dev/ipmi0:/dev/ipmi0:rw \
|
--device=/dev/ipmi0:/dev/ipmi0:rw \
|
||||||
votre_image:latest
|
git.benoitsz.com/benoit/idrac_fan_controller:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
2. with LAN iDRAC:
|
2. with LAN iDRAC:
|
||||||
@@ -126,7 +138,7 @@ docker run -d \
|
|||||||
-e FAN_SPEED_3=60 \
|
-e FAN_SPEED_3=60 \
|
||||||
-e FAN_SPEED_4=80 \
|
-e FAN_SPEED_4=80 \
|
||||||
-e DISABLE_THIRD_PARTY_PCIE_CARD_DELL_DEFAULT_COOLING_RESPONSE=<true or false> \
|
-e DISABLE_THIRD_PARTY_PCIE_CARD_DELL_DEFAULT_COOLING_RESPONSE=<true or false> \
|
||||||
votre_image:latest
|
git.benoitsz.com/benoit/idrac_fan_controller:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
`docker-compose.yml` examples:
|
`docker-compose.yml` examples:
|
||||||
@@ -138,7 +150,7 @@ version: '3.8'
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
Dell_iDRAC_fan_controller:
|
Dell_iDRAC_fan_controller:
|
||||||
image: votre_image:latest
|
image: git.benoitsz.com/benoit/idrac_fan_controller:latest
|
||||||
container_name: Dell_iDRAC_fan_controller
|
container_name: Dell_iDRAC_fan_controller
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
@@ -165,7 +177,7 @@ version: '3.8'
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
Dell_iDRAC_fan_controller:
|
Dell_iDRAC_fan_controller:
|
||||||
image: votre_image:latest
|
image: git.benoitsz.com/benoit/idrac_fan_controller:latest
|
||||||
container_name: Dell_iDRAC_fan_controller
|
container_name: Dell_iDRAC_fan_controller
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ Aucune configuration matérielle supplémentaire requise.
|
|||||||
```bash
|
```bash
|
||||||
# Dans le container LXC
|
# Dans le container LXC
|
||||||
cd /tmp
|
cd /tmp
|
||||||
wget -O - https://github.com/votre-repo/archive/main.tar.gz | tar -xz
|
wget -O - https://git.benoitsz.com/benoit/iDRAC_fan_controller/archive/main.tar.gz | tar -xz
|
||||||
cd Dell_iDRAC_fan_controller-main/lxc
|
cd Dell_iDRAC_fan_controller-main/lxc
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
201
proxmox/README-PROXMOX.md
Normal file
201
proxmox/README-PROXMOX.md
Normal file
@@ -0,0 +1,201 @@
|
|||||||
|
# Installation Proxmox VE Autonome
|
||||||
|
|
||||||
|
Script d'installation **totalement autonome** pour Proxmox VE qui crée automatiquement le container LXC, installe Ubuntu, et configure l'application.
|
||||||
|
|
||||||
|
## 🚀 Installation en une commande
|
||||||
|
|
||||||
|
```bash
|
||||||
|
bash -c "$(wget -qLO - https://git.benoitsz.com/benoit/iDRAC_fan_controller/raw/branch/main/proxmox/idrac-fan-controller.sh)"
|
||||||
|
```
|
||||||
|
|
||||||
|
## ✨ Fonctionnalités du script
|
||||||
|
|
||||||
|
### Création automatique du container
|
||||||
|
- **OS**: Ubuntu 22.04 LTS
|
||||||
|
- **Type**: Container privilégié (requis pour IPMI)
|
||||||
|
- **Ressources**: 1 CPU, 512MB RAM, 4GB stockage
|
||||||
|
- **Configuration**: Optimisée pour serveur Dell
|
||||||
|
|
||||||
|
### Installation complète
|
||||||
|
- ✅ ipmitool et dépendances
|
||||||
|
- ✅ Scripts iDRAC Fan Controller
|
||||||
|
- ✅ Service systemd configuré
|
||||||
|
- ✅ Configuration par défaut
|
||||||
|
- ✅ Outils de gestion inclus
|
||||||
|
|
||||||
|
### Interface utilisateur
|
||||||
|
- 🎨 Interface colorée avec ASCII art
|
||||||
|
- 📊 Rapport d'installation détaillé
|
||||||
|
- ⚙️ Options de configuration avancées
|
||||||
|
- 🔧 Instructions post-installation
|
||||||
|
|
||||||
|
## 🛠️ Options d'installation
|
||||||
|
|
||||||
|
Le script propose plusieurs modes :
|
||||||
|
|
||||||
|
### 1. Installation par défaut
|
||||||
|
```bash
|
||||||
|
# Lancement automatique avec paramètres optimaux
|
||||||
|
bash -c "$(wget -qLO - https://git.benoitsz.com/benoit/iDRAC_fan_controller/raw/branch/main/proxmox/idrac-fan-controller.sh)"
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. Configuration avancée
|
||||||
|
- Personnalisation des ressources (CPU, RAM, stockage)
|
||||||
|
- Choix du container ID
|
||||||
|
- Configuration réseau personnalisée
|
||||||
|
- Options de sécurité
|
||||||
|
|
||||||
|
### 3. Mode verbose
|
||||||
|
- Affichage détaillé des étapes
|
||||||
|
- Logs d'installation complets
|
||||||
|
- Diagnostic en cas d'erreur
|
||||||
|
|
||||||
|
## 📋 Prérequis Proxmox
|
||||||
|
|
||||||
|
### Accès hardware (iDRAC local)
|
||||||
|
Le script configure automatiquement l'accès, mais vous devez ensuite ajouter manuellement :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Dans la configuration du container (/etc/pve/lxc/<CTID>.conf)
|
||||||
|
lxc.cgroup2.devices.allow: c 10:* rwm
|
||||||
|
lxc.mount.entry: /dev/ipmi0 dev/ipmi0 none bind,optional,create=file
|
||||||
|
```
|
||||||
|
|
||||||
|
### Ou via interface Proxmox
|
||||||
|
1. Container → Options → Features
|
||||||
|
2. Activer "Privileged container"
|
||||||
|
3. Ajouter les périphériques IPMI
|
||||||
|
|
||||||
|
## 🎯 Utilisation post-installation
|
||||||
|
|
||||||
|
### 1. Connexion au container
|
||||||
|
```bash
|
||||||
|
pct enter <CONTAINER_ID>
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. Configuration rapide
|
||||||
|
```bash
|
||||||
|
# Script d'aide intégré
|
||||||
|
idrac-setup
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. Édition de la configuration
|
||||||
|
```bash
|
||||||
|
nano /opt/idrac-fan-controller/config/environment
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4. Gestion du service
|
||||||
|
```bash
|
||||||
|
# Démarrer
|
||||||
|
systemctl start idrac-fan-controller
|
||||||
|
|
||||||
|
# Voir le statut
|
||||||
|
systemctl status idrac-fan-controller
|
||||||
|
|
||||||
|
# Logs en temps réel
|
||||||
|
journalctl -u idrac-fan-controller -f
|
||||||
|
```
|
||||||
|
|
||||||
|
## 📊 Configuration par défaut
|
||||||
|
|
||||||
|
Le script crée cette configuration optimisée :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Connexion iDRAC
|
||||||
|
IDRAC_HOST=local # Accès IPMI direct
|
||||||
|
IDRAC_USERNAME=root # Pour iDRAC distant
|
||||||
|
IDRAC_PASSWORD=calvin # Pour iDRAC distant
|
||||||
|
|
||||||
|
# Seuils de température progressifs
|
||||||
|
CPU_TEMPERATURE_1=30 # → FAN_SPEED_1 (10%)
|
||||||
|
CPU_TEMPERATURE_2=40 # → FAN_SPEED_2 (30%)
|
||||||
|
CPU_TEMPERATURE_3=50 # → FAN_SPEED_3 (60%)
|
||||||
|
CPU_TEMPERATURE_4=60 # → FAN_SPEED_4 (80%)
|
||||||
|
# > 60°C → 100%
|
||||||
|
|
||||||
|
# Sécurité
|
||||||
|
CPU_TEMPERATURE_THRESHOLD=70 # → Mode Dell par défaut
|
||||||
|
|
||||||
|
# Monitoring
|
||||||
|
CHECK_INTERVAL=60 # Vérification toutes les 60s
|
||||||
|
```
|
||||||
|
|
||||||
|
## 🔧 Dépannage
|
||||||
|
|
||||||
|
### Container ne démarre pas
|
||||||
|
```bash
|
||||||
|
# Vérifier la configuration
|
||||||
|
pct config <CTID>
|
||||||
|
|
||||||
|
# Logs de démarrage
|
||||||
|
pct start <CTID>
|
||||||
|
journalctl -u pve-container@<CTID> -f
|
||||||
|
```
|
||||||
|
|
||||||
|
### Service iDRAC ne fonctionne pas
|
||||||
|
```bash
|
||||||
|
# Dans le container
|
||||||
|
pct enter <CTID>
|
||||||
|
|
||||||
|
# Test IPMI
|
||||||
|
ipmitool fru
|
||||||
|
ls -la /dev/ipmi*
|
||||||
|
|
||||||
|
# Logs du service
|
||||||
|
journalctl -u idrac-fan-controller -f
|
||||||
|
```
|
||||||
|
|
||||||
|
### Mise à jour de l'application
|
||||||
|
```bash
|
||||||
|
# Le script inclut une fonction de mise à jour
|
||||||
|
# Relancer le script et choisir "Update"
|
||||||
|
bash -c "$(wget -qLO - https://git.benoitsz.com/benoit/iDRAC_fan_controller/raw/branch/main/proxmox/idrac-fan-controller.sh)"
|
||||||
|
```
|
||||||
|
|
||||||
|
## 🆚 Comparaison des méthodes
|
||||||
|
|
||||||
|
| Méthode | Autonome Proxmox | LXC Manuel | Docker |
|
||||||
|
|---------|------------------|------------|--------|
|
||||||
|
| **Complexité** | ⭐ (1 commande) | ⭐⭐⭐ | ⭐⭐ |
|
||||||
|
| **Configuration** | Auto | Manuel | Semi-auto |
|
||||||
|
| **Hardware** | Auto-détecté | Manuel | Device mapping |
|
||||||
|
| **Intégration** | Native Proxmox | Native | Container |
|
||||||
|
| **Performance** | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐ |
|
||||||
|
| **Maintenance** | ⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐ |
|
||||||
|
|
||||||
|
## 🎨 Fonctionnalités avancées
|
||||||
|
|
||||||
|
### Auto-détection hardware
|
||||||
|
- Détection automatique des périphériques IPMI
|
||||||
|
- Configuration optimisée selon le serveur Dell
|
||||||
|
- Validation des prérequis
|
||||||
|
|
||||||
|
### Monitoring intégré
|
||||||
|
- Healthcheck automatique
|
||||||
|
- Logs structurés avec journalctl
|
||||||
|
- Alertes en cas de problème
|
||||||
|
|
||||||
|
### Interface d'administration
|
||||||
|
```bash
|
||||||
|
# Scripts utilitaires créés automatiquement
|
||||||
|
idrac-setup # Guide de configuration
|
||||||
|
idrac-status # État du système
|
||||||
|
idrac-logs # Logs formatés
|
||||||
|
```
|
||||||
|
|
||||||
|
## 📈 Avantages du script autonome
|
||||||
|
|
||||||
|
1. **🚀 Déploiement ultra-rapide** - Container opérationnel en < 2 minutes
|
||||||
|
2. **🔧 Zéro configuration manuelle** - Tout est automatisé
|
||||||
|
3. **🎯 Optimisé Dell** - Configuration spécifique aux serveurs Dell
|
||||||
|
4. **🔄 Mise à jour simple** - Un seul script pour tout
|
||||||
|
5. **📊 Monitoring inclus** - Healthcheck et logs intégrés
|
||||||
|
6. **🛡️ Sécurisé** - Configuration systemd durcie
|
||||||
|
7. **📚 Documentation intégrée** - Aide contextuelle incluse
|
||||||
|
|
||||||
|
## 🔗 Liens utiles
|
||||||
|
|
||||||
|
- **Repository**: https://git.benoitsz.com/benoit/iDRAC_fan_controller
|
||||||
|
- **Issues**: https://git.benoitsz.com/benoit/iDRAC_fan_controller/issues
|
||||||
|
- **Community Scripts**: https://github.com/community-scripts/ProxmoxVE
|
||||||
|
- **Dell iDRAC**: Documentation officielle Dell
|
||||||
264
proxmox/container-helpers.sh
Executable file
264
proxmox/container-helpers.sh
Executable file
@@ -0,0 +1,264 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Helper scripts pour container iDRAC Fan Controller
|
||||||
|
# Ces scripts sont installés automatiquement dans le container
|
||||||
|
|
||||||
|
# Fonction pour idrac-setup
|
||||||
|
create_idrac_setup() {
|
||||||
|
cat > /usr/local/bin/idrac-setup << 'EOF'
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Helper script pour Dell iDRAC Fan Controller
|
||||||
|
# Installé automatiquement par le script Proxmox
|
||||||
|
|
||||||
|
# Couleurs
|
||||||
|
GREEN='\033[0;32m'
|
||||||
|
BLUE='\033[0;34m'
|
||||||
|
YELLOW='\033[1;33m'
|
||||||
|
RED='\033[0;31m'
|
||||||
|
NC='\033[0m'
|
||||||
|
|
||||||
|
clear
|
||||||
|
echo -e "${BLUE}╔══════════════════════════════════════════════════════════════╗"
|
||||||
|
echo -e "║ Dell iDRAC Fan Controller ║"
|
||||||
|
echo -e "║ Configuration ║"
|
||||||
|
echo -e "╚══════════════════════════════════════════════════════════════╝${NC}"
|
||||||
|
echo
|
||||||
|
|
||||||
|
echo -e "${GREEN}📝 1. Éditer la configuration:${NC}"
|
||||||
|
echo " nano /opt/idrac-fan-controller/config/environment"
|
||||||
|
echo
|
||||||
|
|
||||||
|
echo -e "${GREEN}🚀 2. Démarrer le service:${NC}"
|
||||||
|
echo " systemctl start idrac-fan-controller"
|
||||||
|
echo
|
||||||
|
|
||||||
|
echo -e "${GREEN}📊 3. Vérifier le statut:${NC}"
|
||||||
|
echo " systemctl status idrac-fan-controller"
|
||||||
|
echo
|
||||||
|
|
||||||
|
echo -e "${GREEN}📋 4. Surveiller les logs:${NC}"
|
||||||
|
echo " journalctl -u idrac-fan-controller -f"
|
||||||
|
echo
|
||||||
|
|
||||||
|
echo -e "${GREEN}🔍 5. Test de santé:${NC}"
|
||||||
|
echo " /opt/idrac-fan-controller/healthcheck.sh"
|
||||||
|
echo
|
||||||
|
|
||||||
|
echo -e "${GREEN}⚙️ 6. Configuration actuelle:${NC}"
|
||||||
|
if [ -f "/opt/idrac-fan-controller/config/environment" ]; then
|
||||||
|
echo " Configuration chargée ✅"
|
||||||
|
source /opt/idrac-fan-controller/config/environment 2>/dev/null
|
||||||
|
echo " - iDRAC Host: ${IDRAC_HOST:-Non défini}"
|
||||||
|
echo " - Seuils temp: ${CPU_TEMPERATURE_1:-?}°C → ${CPU_TEMPERATURE_4:-?}°C"
|
||||||
|
echo " - Vitesses: ${FAN_SPEED_1:-?}% → ${FAN_SPEED_4:-?}%"
|
||||||
|
echo " - Sécurité: ${CPU_TEMPERATURE_THRESHOLD:-?}°C"
|
||||||
|
else
|
||||||
|
echo " ⚠️ Configuration non trouvée"
|
||||||
|
fi
|
||||||
|
echo
|
||||||
|
|
||||||
|
echo -e "${GREEN}🔧 7. Commandes utiles:${NC}"
|
||||||
|
echo " idrac-status # État détaillé"
|
||||||
|
echo " idrac-logs # Logs formatés"
|
||||||
|
echo " idrac-config # Éditeur de config"
|
||||||
|
echo
|
||||||
|
|
||||||
|
# Test IPMI rapide
|
||||||
|
echo -e "${GREEN}🔌 8. Test IPMI:${NC}"
|
||||||
|
if command -v ipmitool >/dev/null 2>&1; then
|
||||||
|
if ipmitool fru >/dev/null 2>&1; then
|
||||||
|
echo " ✅ IPMI accessible"
|
||||||
|
else
|
||||||
|
echo -e " ${RED}❌ IPMI non accessible${NC}"
|
||||||
|
echo " Vérifiez la configuration hardware Proxmox"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo " ❌ ipmitool non installé"
|
||||||
|
fi
|
||||||
|
echo
|
||||||
|
|
||||||
|
echo -e "${YELLOW}💡 Astuce: Utilisez 'systemctl enable idrac-fan-controller' pour activer au démarrage${NC}"
|
||||||
|
echo
|
||||||
|
EOF
|
||||||
|
chmod +x /usr/local/bin/idrac-setup
|
||||||
|
}
|
||||||
|
|
||||||
|
# Fonction pour idrac-status
|
||||||
|
create_idrac_status() {
|
||||||
|
cat > /usr/local/bin/idrac-status << 'EOF'
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Status helper pour iDRAC Fan Controller
|
||||||
|
|
||||||
|
GREEN='\033[0;32m'
|
||||||
|
RED='\033[0;31m'
|
||||||
|
BLUE='\033[0;34m'
|
||||||
|
YELLOW='\033[1;33m'
|
||||||
|
NC='\033[0m'
|
||||||
|
|
||||||
|
echo -e "${BLUE}=== Dell iDRAC Fan Controller - État ===${NC}"
|
||||||
|
echo
|
||||||
|
|
||||||
|
# Service status
|
||||||
|
echo -e "${BLUE}📊 Service:${NC}"
|
||||||
|
if systemctl is-active --quiet idrac-fan-controller; then
|
||||||
|
echo -e " ✅ ${GREEN}Actif et en fonctionnement${NC}"
|
||||||
|
else
|
||||||
|
echo -e " ❌ ${RED}Arrêté ou en erreur${NC}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if systemctl is-enabled --quiet idrac-fan-controller; then
|
||||||
|
echo " 🔄 Activé au démarrage"
|
||||||
|
else
|
||||||
|
echo " ⚠️ Non activé au démarrage"
|
||||||
|
fi
|
||||||
|
echo
|
||||||
|
|
||||||
|
# Configuration
|
||||||
|
echo -e "${BLUE}⚙️ Configuration:${NC}"
|
||||||
|
if [ -f "/opt/idrac-fan-controller/config/environment" ]; then
|
||||||
|
source /opt/idrac-fan-controller/config/environment
|
||||||
|
echo " 📁 Fichier: /opt/idrac-fan-controller/config/environment"
|
||||||
|
echo " 🖥️ iDRAC: $IDRAC_HOST"
|
||||||
|
echo " 🌡️ Seuils: ${CPU_TEMPERATURE_1}°C, ${CPU_TEMPERATURE_2}°C, ${CPU_TEMPERATURE_3}°C, ${CPU_TEMPERATURE_4}°C"
|
||||||
|
echo " 💨 Vitesses: ${FAN_SPEED_1}%, ${FAN_SPEED_2}%, ${FAN_SPEED_3}%, ${FAN_SPEED_4}%"
|
||||||
|
echo " 🚨 Sécurité: ${CPU_TEMPERATURE_THRESHOLD}°C"
|
||||||
|
echo " ⏱️ Intervalle: ${CHECK_INTERVAL}s"
|
||||||
|
else
|
||||||
|
echo -e " ❌ ${RED}Configuration non trouvée${NC}"
|
||||||
|
fi
|
||||||
|
echo
|
||||||
|
|
||||||
|
# IPMI Test
|
||||||
|
echo -e "${BLUE}🔌 Test IPMI:${NC}"
|
||||||
|
if command -v ipmitool >/dev/null 2>&1; then
|
||||||
|
if timeout 5 ipmitool fru >/dev/null 2>&1; then
|
||||||
|
echo -e " ✅ ${GREEN}IPMI accessible${NC}"
|
||||||
|
|
||||||
|
# Get server info
|
||||||
|
SERVER_INFO=$(ipmitool fru 2>/dev/null | grep -E "Product Name|Product Manufacturer" | head -2)
|
||||||
|
if [ ! -z "$SERVER_INFO" ]; then
|
||||||
|
echo " 📋 Serveur détecté:"
|
||||||
|
echo "$SERVER_INFO" | sed 's/^/ /'
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo -e " ❌ ${RED}IPMI non accessible${NC}"
|
||||||
|
echo " 💡 Vérifiez la configuration Proxmox hardware"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo " ❌ ipmitool non installé"
|
||||||
|
fi
|
||||||
|
echo
|
||||||
|
|
||||||
|
# Recent logs
|
||||||
|
echo -e "${BLUE}📜 Logs récents:${NC}"
|
||||||
|
if systemctl is-active --quiet idrac-fan-controller; then
|
||||||
|
journalctl -u idrac-fan-controller -n 5 --no-pager -q 2>/dev/null | sed 's/^/ /' || echo " Aucun log récent"
|
||||||
|
else
|
||||||
|
echo " Service non actif"
|
||||||
|
fi
|
||||||
|
echo
|
||||||
|
|
||||||
|
# Disk usage
|
||||||
|
echo -e "${BLUE}💾 Espace disque:${NC}"
|
||||||
|
df -h /opt/idrac-fan-controller 2>/dev/null | tail -1 | awk '{print " Utilisé: "$3" / "$2" ("$5")"}'
|
||||||
|
echo
|
||||||
|
|
||||||
|
echo -e "${GREEN}Commandes rapides:${NC}"
|
||||||
|
echo " systemctl restart idrac-fan-controller # Redémarrer"
|
||||||
|
echo " journalctl -u idrac-fan-controller -f # Logs temps réel"
|
||||||
|
echo " nano /opt/idrac-fan-controller/config/environment # Éditer config"
|
||||||
|
EOF
|
||||||
|
chmod +x /usr/local/bin/idrac-status
|
||||||
|
}
|
||||||
|
|
||||||
|
# Fonction pour idrac-logs
|
||||||
|
create_idrac_logs() {
|
||||||
|
cat > /usr/local/bin/idrac-logs << 'EOF'
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Logs helper pour iDRAC Fan Controller
|
||||||
|
|
||||||
|
BLUE='\033[0;34m'
|
||||||
|
GREEN='\033[0;32m'
|
||||||
|
NC='\033[0m'
|
||||||
|
|
||||||
|
echo -e "${BLUE}=== Dell iDRAC Fan Controller - Logs ===${NC}"
|
||||||
|
echo
|
||||||
|
|
||||||
|
if [ "$1" = "-f" ] || [ "$1" = "--follow" ]; then
|
||||||
|
echo -e "${GREEN}📡 Logs en temps réel (Ctrl+C pour arrêter):${NC}"
|
||||||
|
echo
|
||||||
|
journalctl -u idrac-fan-controller -f --no-pager
|
||||||
|
elif [ "$1" = "-e" ] || [ "$1" = "--errors" ]; then
|
||||||
|
echo -e "${GREEN}🚨 Erreurs récentes:${NC}"
|
||||||
|
echo
|
||||||
|
journalctl -u idrac-fan-controller -p err -n 20 --no-pager
|
||||||
|
else
|
||||||
|
echo -e "${GREEN}📋 Logs récents (50 dernières lignes):${NC}"
|
||||||
|
echo
|
||||||
|
journalctl -u idrac-fan-controller -n 50 --no-pager
|
||||||
|
echo
|
||||||
|
echo -e "${BLUE}Options disponibles:${NC}"
|
||||||
|
echo " idrac-logs -f # Temps réel"
|
||||||
|
echo " idrac-logs -e # Erreurs seulement"
|
||||||
|
echo " idrac-logs # 50 dernières lignes"
|
||||||
|
fi
|
||||||
|
EOF
|
||||||
|
chmod +x /usr/local/bin/idrac-logs
|
||||||
|
}
|
||||||
|
|
||||||
|
# Fonction pour idrac-config
|
||||||
|
create_idrac_config() {
|
||||||
|
cat > /usr/local/bin/idrac-config << 'EOF'
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Configuration helper pour iDRAC Fan Controller
|
||||||
|
|
||||||
|
GREEN='\033[0;32m'
|
||||||
|
BLUE='\033[0;34m'
|
||||||
|
YELLOW='\033[1;33m'
|
||||||
|
NC='\033[0m'
|
||||||
|
|
||||||
|
CONFIG_FILE="/opt/idrac-fan-controller/config/environment"
|
||||||
|
|
||||||
|
echo -e "${BLUE}=== Configuration iDRAC Fan Controller ===${NC}"
|
||||||
|
echo
|
||||||
|
|
||||||
|
if [ ! -f "$CONFIG_FILE" ]; then
|
||||||
|
echo -e "❌ Fichier de configuration non trouvé: $CONFIG_FILE"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo -e "${GREEN}📝 Ouverture de l'éditeur de configuration...${NC}"
|
||||||
|
echo " Fichier: $CONFIG_FILE"
|
||||||
|
echo " Éditeur: nano (Ctrl+X pour sauvegarder et quitter)"
|
||||||
|
echo
|
||||||
|
|
||||||
|
# Backup config before editing
|
||||||
|
cp "$CONFIG_FILE" "${CONFIG_FILE}.backup.$(date +%Y%m%d-%H%M%S)"
|
||||||
|
|
||||||
|
# Edit config
|
||||||
|
nano "$CONFIG_FILE"
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo -e "${GREEN}✅ Configuration sauvegardée.${NC}"
|
||||||
|
echo
|
||||||
|
echo -e "${YELLOW}🔄 Redémarrer le service pour appliquer les changements:${NC}"
|
||||||
|
echo " systemctl restart idrac-fan-controller"
|
||||||
|
echo
|
||||||
|
echo -e "${BLUE}💡 Vérifier les logs après redémarrage:${NC}"
|
||||||
|
echo " idrac-logs -f"
|
||||||
|
EOF
|
||||||
|
chmod +x /usr/local/bin/idrac-config
|
||||||
|
}
|
||||||
|
|
||||||
|
# Exécuter toutes les créations si ce script est appelé directement
|
||||||
|
if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
|
||||||
|
create_idrac_setup
|
||||||
|
create_idrac_status
|
||||||
|
create_idrac_logs
|
||||||
|
create_idrac_config
|
||||||
|
echo "✅ Tous les helpers ont été créés avec succès"
|
||||||
|
fi
|
||||||
243
proxmox/idrac-fan-controller.sh
Executable file
243
proxmox/idrac-fan-controller.sh
Executable file
@@ -0,0 +1,243 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Proxmox VE LXC Container Creation Script for Dell iDRAC Fan Controller
|
||||||
|
# Compatible with Proxmox community-scripts pattern
|
||||||
|
# Usage: bash -c "$(wget -qLO - https://git.benoitsz.com/benoit/iDRAC_fan_controller/raw/branch/main/proxmox/idrac-fan-controller.sh)"
|
||||||
|
|
||||||
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
|
|
||||||
|
# Application Information
|
||||||
|
APP="Dell-iDRAC-Fan-Controller"
|
||||||
|
var_tags="dell;idrac;fan;cooling;server"
|
||||||
|
var_cpu="1"
|
||||||
|
var_ram="512"
|
||||||
|
var_disk="4"
|
||||||
|
var_os="ubuntu"
|
||||||
|
var_version="22.04"
|
||||||
|
var_unprivileged="0" # Privileged container required for IPMI access
|
||||||
|
|
||||||
|
# Function to display header with ASCII art
|
||||||
|
function header_info {
|
||||||
|
clear
|
||||||
|
cat <<"EOF"
|
||||||
|
____ ____ ___ ______ ______
|
||||||
|
/ _/ ____/ __ \ / | / ____/ / ____/___ _____
|
||||||
|
/ / / __ / /_/ / / /| | / / / /_ / __ `/ __ \
|
||||||
|
_/ / / /_/ / _, _/ / ___ |/ /___ / __/ / /_/ / / / /
|
||||||
|
/___/ \__,_/_/ |_| /_/ |_|\____/ /_/ \__,_/_/ /_/
|
||||||
|
|
||||||
|
____ __ ____
|
||||||
|
/ __ \____ ____/ /__________ / / /__ _____
|
||||||
|
/ / / / __ \/ __ / / ___/ __ \/ / / _ \/ ___/
|
||||||
|
/ /_/ / /_/ / /_/ / / / / /_/ / / / __/ /
|
||||||
|
\____/\____/\__,_/_/_/ \____/_/_/\___/_/
|
||||||
|
|
||||||
|
EOF
|
||||||
|
echo -e "\n ${APP} - Container LXC pour Proxmox VE"
|
||||||
|
echo -e " Contrôle dynamique des ventilateurs Dell via iDRAC\n"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Override default variables function
|
||||||
|
function default_settings() {
|
||||||
|
clear
|
||||||
|
header_info
|
||||||
|
echo -e "${BL}Utilisation des paramètres par défaut pour ${APP}.${CL}"
|
||||||
|
echo -e "${DGN}Container Type: ${BGN}Privileged${CL}"
|
||||||
|
echo -e "${DGN}CPU: ${BGN}$var_cpu${CL}"
|
||||||
|
echo -e "${DGN}RAM: ${BGN}$var_ram MB${CL}"
|
||||||
|
echo -e "${DGN}Stockage: ${BGN}$var_disk GB${CL}"
|
||||||
|
echo -e "${DGN}OS: ${BGN}Ubuntu $var_version${CL}"
|
||||||
|
echo -e "${BL}Création du container...${CL}"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Application installation function
|
||||||
|
function install_application() {
|
||||||
|
header_info
|
||||||
|
echo "Installation de Dell iDRAC Fan Controller dans le container..."
|
||||||
|
|
||||||
|
# Update container and install dependencies
|
||||||
|
$STD apt-get update
|
||||||
|
$STD apt-get upgrade -y
|
||||||
|
$STD apt-get install -y \
|
||||||
|
curl \
|
||||||
|
wget \
|
||||||
|
ipmitool \
|
||||||
|
systemd \
|
||||||
|
nano \
|
||||||
|
htop \
|
||||||
|
ca-certificates
|
||||||
|
|
||||||
|
# Create application directory
|
||||||
|
mkdir -p /opt/idrac-fan-controller/{config,logs}
|
||||||
|
|
||||||
|
# Download application files
|
||||||
|
cd /tmp
|
||||||
|
wget -O idrac-controller.tar.gz "https://git.benoitsz.com/benoit/iDRAC_fan_controller/archive/main.tar.gz" 2>/dev/null || {
|
||||||
|
echo "Erreur: Impossible de télécharger les fichiers depuis le repository"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
tar -xzf idrac-controller.tar.gz
|
||||||
|
cd iDRAC_fan_controller
|
||||||
|
|
||||||
|
# Install application files
|
||||||
|
cp Dell_iDRAC_fan_controller.sh /opt/idrac-fan-controller/
|
||||||
|
cp functions.sh /opt/idrac-fan-controller/
|
||||||
|
cp healthcheck.sh /opt/idrac-fan-controller/
|
||||||
|
cp lxc/idrac-fan-controller.service /etc/systemd/system/
|
||||||
|
|
||||||
|
# Make scripts executable
|
||||||
|
chmod +x /opt/idrac-fan-controller/*.sh
|
||||||
|
|
||||||
|
# Create default configuration
|
||||||
|
cat > /opt/idrac-fan-controller/config/environment << 'EOL'
|
||||||
|
# Configuration Dell iDRAC Fan Controller
|
||||||
|
# Modifiez ces valeurs selon votre environnement
|
||||||
|
|
||||||
|
# Connexion iDRAC
|
||||||
|
IDRAC_HOST=local
|
||||||
|
IDRAC_USERNAME=root
|
||||||
|
IDRAC_PASSWORD=calvin
|
||||||
|
|
||||||
|
# Seuils de température (°C)
|
||||||
|
CPU_TEMPERATURE_1=30
|
||||||
|
CPU_TEMPERATURE_2=40
|
||||||
|
CPU_TEMPERATURE_3=50
|
||||||
|
CPU_TEMPERATURE_4=60
|
||||||
|
|
||||||
|
# Vitesses des ventilateurs (%)
|
||||||
|
FAN_SPEED_1=10
|
||||||
|
FAN_SPEED_2=30
|
||||||
|
FAN_SPEED_3=60
|
||||||
|
FAN_SPEED_4=80
|
||||||
|
|
||||||
|
# Seuil de sécurité
|
||||||
|
CPU_TEMPERATURE_THRESHOLD=70
|
||||||
|
|
||||||
|
# Intervalles et options
|
||||||
|
CHECK_INTERVAL=60
|
||||||
|
DISABLE_THIRD_PARTY_PCIE_CARD_DELL_DEFAULT_COOLING_RESPONSE=false
|
||||||
|
EOL
|
||||||
|
|
||||||
|
# Enable and configure systemd service
|
||||||
|
systemctl daemon-reload
|
||||||
|
systemctl enable idrac-fan-controller.service
|
||||||
|
|
||||||
|
# Create helper scripts
|
||||||
|
wget -O /tmp/container-helpers.sh "https://git.benoitsz.com/benoit/iDRAC_fan_controller/raw/branch/main/proxmox/container-helpers.sh" 2>/dev/null
|
||||||
|
if [ -f /tmp/container-helpers.sh ]; then
|
||||||
|
source /tmp/container-helpers.sh
|
||||||
|
create_idrac_setup
|
||||||
|
create_idrac_status
|
||||||
|
create_idrac_logs
|
||||||
|
create_idrac_config
|
||||||
|
rm /tmp/container-helpers.sh
|
||||||
|
else
|
||||||
|
# Fallback basic setup script
|
||||||
|
cat > /usr/local/bin/idrac-setup << 'EOL'
|
||||||
|
#!/bin/bash
|
||||||
|
echo "=== Dell iDRAC Fan Controller Setup ==="
|
||||||
|
echo "1. Configuration: nano /opt/idrac-fan-controller/config/environment"
|
||||||
|
echo "2. Démarrage: systemctl start idrac-fan-controller"
|
||||||
|
echo "3. Statut: systemctl status idrac-fan-controller"
|
||||||
|
echo "4. Logs: journalctl -u idrac-fan-controller -f"
|
||||||
|
echo "5. Test: /opt/idrac-fan-controller/healthcheck.sh"
|
||||||
|
EOL
|
||||||
|
chmod +x /usr/local/bin/idrac-setup
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Cleanup
|
||||||
|
cd /
|
||||||
|
rm -rf /tmp/idrac-controller.tar.gz /tmp/iDRAC_fan_controller
|
||||||
|
|
||||||
|
# Set container description
|
||||||
|
pct set $CTID -description "Dell iDRAC Fan Controller
|
||||||
|
|
||||||
|
Contrôleur dynamique des ventilateurs Dell via iDRAC avec 4 seuils configurables.
|
||||||
|
|
||||||
|
Configuration: /opt/idrac-fan-controller/config/environment
|
||||||
|
Logs: journalctl -u idrac-fan-controller -f
|
||||||
|
Setup: idrac-setup
|
||||||
|
|
||||||
|
⚠️ Container PRIVILÉGIÉ requis pour accès IPMI"
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
# Post-installation setup
|
||||||
|
function post_installation() {
|
||||||
|
header_info
|
||||||
|
echo -e "${GN}Installation de ${APP} terminée avec succès!${CL}"
|
||||||
|
echo
|
||||||
|
echo -e "${BL}Configuration du container:${CL}"
|
||||||
|
echo -e "Container ID: ${GN}$CTID${CL}"
|
||||||
|
echo -e "Hostname: ${GN}$NSAPP${CL}"
|
||||||
|
echo -e "Type: ${YW}Privileged${CL} ${DGN}(requis pour IPMI)${CL}"
|
||||||
|
echo -e "OS: ${GN}Ubuntu $var_version${CL}"
|
||||||
|
echo
|
||||||
|
echo -e "${BL}Prochaines étapes:${CL}"
|
||||||
|
echo -e "${DGN}1. Connectez-vous au container:${CL} pct enter $CTID"
|
||||||
|
echo -e "${DGN}2. Lancez la configuration:${CL} idrac-setup"
|
||||||
|
echo -e "${DGN}3. Éditez la config:${CL} nano /opt/idrac-fan-controller/config/environment"
|
||||||
|
echo -e "${DGN}4. Démarrez le service:${CL} systemctl start idrac-fan-controller"
|
||||||
|
echo
|
||||||
|
echo -e "${YW}⚠️ Important: Configurez l'accès IPMI dans Proxmox:${CL}"
|
||||||
|
echo -e "${DGN} - Pour iDRAC local: ajoutez l'accès aux périphériques IPMI${CL}"
|
||||||
|
echo -e "${DGN} - Pour iDRAC distant: configurez l'IP dans environment${CL}"
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
||||||
|
# Variables and setup
|
||||||
|
variables
|
||||||
|
color
|
||||||
|
catch_errors
|
||||||
|
|
||||||
|
# Application installation
|
||||||
|
function start() {
|
||||||
|
if command -v pveversion >/dev/null 2>&1; then
|
||||||
|
if ! (whiptail --backtitle "Proxmox VE Helper Scripts" --title "${APP} LXC Container" --yesno "Créer un nouveau container LXC ${APP}?" 10 58); then
|
||||||
|
clear
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
install_script
|
||||||
|
else
|
||||||
|
echo -e "${RD}Ce script doit être exécuté depuis un node Proxmox VE.${CL}"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Main application function
|
||||||
|
function update_script() {
|
||||||
|
header_info
|
||||||
|
echo -e "\\n ⚡ Mise à jour de ${APP} Container\\n"
|
||||||
|
NODE=$(hostname)
|
||||||
|
pct list | tail -n +2 | cut -f1 -d' ' | while read container; do
|
||||||
|
OSTYPE=$(pct config $container | grep "^ostype:" | cut -d' ' -f2)
|
||||||
|
if [ "$OSTYPE" = "ubuntu" ]; then
|
||||||
|
echo -e "${BL}[Info]${GN} Mise à jour du container $container ${CL} \\n"
|
||||||
|
pct exec $container -- bash -c "
|
||||||
|
apt update && apt upgrade -y &&
|
||||||
|
systemctl restart idrac-fan-controller 2>/dev/null ||
|
||||||
|
echo 'Service non trouvé dans ce container'
|
||||||
|
"
|
||||||
|
echo -e "${BL}[Info]${GN} ✅ Container $container mis à jour ${CL} \\n"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# Build the container
|
||||||
|
start
|
||||||
|
build_container
|
||||||
|
description
|
||||||
|
|
||||||
|
# Install application
|
||||||
|
echo -e " ${CHECKMARK} ${GN}Container LXC créé avec succès${CL}"
|
||||||
|
echo -e " ${CHECKMARK} ${GN}Installation de ${APP}...${CL}"
|
||||||
|
|
||||||
|
# Execute installation in container
|
||||||
|
pct exec $CTID -- bash -c "$(declare -f install_application); install_application" || {
|
||||||
|
echo -e " ${CROSS} ${RD}Erreur lors de l'installation${CL}"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# Post-installation
|
||||||
|
post_installation
|
||||||
Reference in New Issue
Block a user