From 05b04919a428918630ed1ab811707f07d4d286eb Mon Sep 17 00:00:00 2001 From: Johnny Date: Thu, 1 Jan 2026 20:59:10 +0000 Subject: [PATCH] Actualiser README.md --- README.md | 216 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 216 insertions(+) diff --git a/README.md b/README.md index e69de29..33d63e6 100644 --- a/README.md +++ b/README.md @@ -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) \ No newline at end of file