Actualiser README.md
This commit is contained in:
216
README.md
216
README.md
@@ -0,0 +1,216 @@
|
||||
# 🐳 Gestionnaire LXC Proxmox VE
|
||||
|
||||
[](https://opensource.org/licenses/MIT)
|
||||
[](https://www.gnu.org/software/bash/)
|
||||
[](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)
|
||||
Reference in New Issue
Block a user