Actualiser README.md

This commit is contained in:
2026-01-01 20:59:10 +00:00
parent 643d2ba0c8
commit 05b04919a4

216
README.md
View File

@@ -0,0 +1,216 @@
# 🐳 Gestionnaire LXC Proxmox VE
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Bash](https://img.shields.io/badge/Bash-5.0+-green.svg)](https://www.gnu.org/software/bash/)
[![Proxmox](https://img.shields.io/badge/Proxmox-VE%207%2B-orange.svg)](https://www.proxmox.com/)
## 📋 Description
Script bash interactif pour la gestion complète des conteneurs LXC sur Proxmox VE. Cette interface en ligne de commande offre une alternative conviviale aux commandes natives `pct` avec des fonctionnalités de sécurité avancées.
## ✨ Fonctionnalités
-**Gestion complète des conteneurs** : création, démarrage, arrêt, redémarrage, suppression
- 🔒 **Système de protection** : double confirmation pour les opérations critiques
- 💾 **Gestion des sauvegardes** : sauvegarde, restauration, suppression
- 🐑 **Clonage de conteneurs** : avec options de snapshot
- ⚙️ **Configuration avancée** : nesting, FUSE, NFS, CIFS
- 📊 **Visualisation** : affichage coloré des informations
- 🔧 **Modification en temps réel** : options de conteneurs sans redémarrage
- 🛡️ **Validation stricte** : vérification des entrées utilisateur
## 🚀 Installation
1. Installation du script sur votre serveur Proxmox VE :
```bash
# Clone dans un répertoire temporaire
cd /tmp
git clone https://git.h3campus.fr/Johnny/lxc-manager.git
# Cherchez le script
find /tmp/lxc-manager -name "*.sh" -type f
# Copiez le script (adaptez le chemin selon la sortie de find)
sudo cp /tmp/lxc-manager/lxc-manager.sh /usr/local/bin/lxc-manager.sh
sudo chmod +x /usr/local/bin/lxc-manager.sh
# Nettoyage
rm -rf /tmp/lxc-manager
```
2. Créez un alias pour une utilisation facile :
```bash
echo 'alias lxc-manager="/usr/local/bin/lxc-manager.sh"' >> ~/.bashrc
source ~/.bashrc
```
## 📖 Utilisation
### Lancement
```bash
sudo lxc-manager.sh
```
Ou via l'alias (si configuré) :
```bash
sudo lxc-manager
```
### Menu Principal
Le script présente un menu interactif avec les options suivantes :
| Option | Description | Commande équivalente |
|--------|-------------|---------------------|
| 1 | Lister les conteneurs | `pct list` |
| 2 | Créer un conteneur | `pct create` |
| 3 | Démarrer un conteneur | `pct start` |
| 4 | Arrêter un conteneur | `pct stop` / `pct shutdown` |
| 5 | Redémarrer un conteneur | `pct reboot` |
| 6 | Supprimer un conteneur | `pct destroy` |
| 7 | Déverrouiller un conteneur | `pct unlock` |
| 8 | Sauvegarder un conteneur | `vzdump` |
| 9 | Restaurer une sauvegarde | `pct restore` |
| 10 | Supprimer des sauvegardes | `pvesm free` |
| 11 | Afficher les informations | `pct config` + `pct status` |
| 12 | Entrer dans un conteneur | `pct enter` |
| 13 | Cloner un conteneur | `pct clone` |
| 14 | Modifier les options | `pct set --features` |
| 15 | Gérer la protection | `pct set --protection` |
| 16 | Mode protection global | Configuration interne |
| 0 | Quitter | Exit |
## 🔧 Configuration
### Options avancées
Le script permet de configurer les fonctionnalités LXC suivantes :
- **Nesting** : Permet l'exécution de Docker dans LXC
- **FUSE** : Support des systèmes de fichiers utilisateur
- **NFS** : Montage de partages NFS
- **CIFS/SMB** : Montage de partages Windows
### Mode Protection
Le système de protection offre deux niveaux :
1. **Protection globale** : Requiert des confirmations spécifiques pour les opérations critiques
2. **Protection par conteneur** : Empêche la suppression accidentelle (équivalent à `--protection 1`)
## 🛠️ Fonctions détaillées
### Création de conteneur
- Validation des VMID (100-999999999)
- Validation des noms d'hôte
- Validation des adresses IP
- Sélection de template interactif
- Configuration des ressources (RAM, CPU, stockage)
- Options réseau (DHCP/Statique)
- Mode privilégié/non-privilégié
### Sauvegarde
- Support de multiples algorithmes de compression (gzip, lzo, zstd)
- Différents modes de sauvegarde (snapshot, stop, suspend)
- Sélection de stockage dédié
### Clonage
- Clonage de conteneurs en cours d'exécution
- Options de snapshot pour plus de rapidité
- Attribution automatique de nouveau VMID
## 🔐 Sécurité
### Validations
- VMID : format numérique, plage valide, unicité
- Noms d'hôte : conformité RFC 1123
- Adresses IP : format CIDR valide
- Mots de passe : minimum 8 caractères
### Protections
- Contrôle des privilèges root
- Vérification de l'environnement Proxmox
- Confirmations pour les opérations destructives
- Protection contre la suppression accidentelle
## 🎨 Interface
### Couleurs
- 🔴 Rouge : erreurs, avertissements critiques
- 🟢 Vert : succès, confirmations
- 🟡 Jaune : avertissements, informations
- 🔵 Bleu : menus, informations générales
- 🟣 Magenta : options spéciales
### Logo
Affichage d'un en-tête stylisé avec :
- Nom du gestionnaire
- Version du script
- État de la protection
## ⚠️ Limitations
- Nécessite un serveur Proxmox VE
- Doit être exécuté en tant que root
- Dépend des commandes `pct`, `pvesm`, `vzdump`
- Certaines fonctionnalités nécessitent ZFS/LVM
## 🔄 Dépendances
- **Proxmox VE** 6.x ou supérieur
- **Bash** 4.4 ou supérieur
- **Outils Proxmox** : `pct`, `pvesm`, `vzdump`
## 📝 Journalisation
Le script n'implémente pas de journalisation interne mais utilise les logs système de Proxmox. Toutes les opérations sont tracées dans :
- `/var/log/syslog`
- `/var/log/pve/tasks/`
## 🚨 Dépannage
### Erreurs courantes
1. **"Ce script doit être exécuté sur un serveur Proxmox VE"**
- Vérifiez que les commandes `pct` et `pvesm` sont disponibles
- Assurez-vous d'être sur un nœud Proxmox
2. **"VMID invalide"**
- Utilisez un nombre entre 100 et 999999999
- Vérifiez que le VMID n'existe pas déjà
3. **Échec de sauvegarde**
- Vérifiez les permissions sur le stockage
- Assurez-vous que le stockage accepte les backups
- Vérifiez l'espace disponible
### Mode debug
Ajoutez `set -x` au début du script pour activer le mode debug :
```bash
#!/bin/bash
set -x # Ajoutez cette ligne
# ... reste du script
```
## 🤝 Contribution
Les contributions sont les bienvenues ! Veuillez :
1. Fork le projet
2. Créer une branche pour votre fonctionnalité
3. Tester vos modifications
4. Soumettre une pull request
## 📄 Licence
Ce script est distribué sous licence MIT. Voir le fichier `LICENSE` pour plus de détails.
## 🔗 Ressources
- [Documentation officielle Proxmox](https://pve.proxmox.com/wiki/Linux_Container)
- [Guide LXC de Proxmox](https://pve.proxmox.com/pve-docs/pve-admin-guide.html#pct_lxc)
- [Forum Proxmox](https://forum.proxmox.com/)
---
**Note** : Ce script est un outil de gestion et ne remplace pas une bonne compréhension de l'administration Proxmox. Toujours tester les opérations critiques dans un environnement de développement avant la production.
**Note** : Ce script est fourni "tel quel", sans garantie d'aucune sorte. Testez toujours sur un environnement de test avant de l'utiliser en production.
**Hébergé sur** : [git.h3campus.fr](https://git.h3campus.fr/Johnny/lxc-manager)