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