|
|
||
|---|---|---|
| LICENSE | ||
| Readme.md | ||
| lxc-manager.sh | ||
Readme.md
đł Gestionnaire LXC Proxmox VE
Script Bash professionnel et sécurisé pour gérer les conteneurs LXC sur Proxmox VE via l'interface en ligne de commande.
⚠Fonctionnalités
đ Gestion des conteneurs
- â CrĂ©ation de conteneurs avec configuration complĂšte (CPU, RAM, disque, rĂ©seau)
- â¶ïž DĂ©marrage / âčïž ArrĂȘt (normal ou forcĂ©)
- đ RedĂ©marrage de conteneurs
- đïž Suppression avec confirmation de sĂ©curitĂ©
- đ DĂ©verrouillage de conteneurs bloquĂ©s
- đ Affichage des informations dĂ©taillĂ©es
- đ„ïž Connexion directe au shell du conteneur
- đ Clonage avec gestion des conteneurs actifs
đŸ Sauvegarde et restauration
- đż Sauvegarde avec choix de compression (gzip, lzo, zstd)
- đ Modes de backup : snapshot, stop, suspend
- đ SĂ©lection du stockage de destination
- đ Restauration avec sĂ©lection numĂ©rotĂ©e des sauvegardes
- đïž Support de tous les stockages connectĂ©s (NFS, CIFS, local, etc.)
đ SĂ©curitĂ© et protection
- đĄïž Protection par conteneur (activation/dĂ©sactivation)
- đ Mode protection global (confirmations renforcĂ©es)
- â Validation stricte de toutes les entrĂ©es utilisateur
- đš DĂ©tection automatique de la protection lors de la suppression
- đ Confirmations pour toutes les opĂ©rations critiques
đš Interface utilisateur
- đ Interface colorĂ©e et intuitive
- đ SĂ©lection numĂ©rotĂ©e pour tous les choix
- đ Affichage clair des informations
- ⥠Navigation rapide dans les menus
đ PrĂ©requis
- Proxmox VE 7.0 ou supérieur
- Bash 5.0 ou supérieur
- AccĂšs root au serveur Proxmox
- Commande
pctdisponible (installée par défaut sur Proxmox)
đ„ Installation
Installation rapide
# Télécharger le script
wget https://git.h3campus.fr/Johnny/lxc-manager/raw/branch/main/lxc-manager.sh
# Rendre le script exécutable
chmod +x lxc-manager.sh
# Lancer le script
./lxc-manager.sh
Installation avec Git
# Cloner le dépÎt
git clone https://git.h3campus.fr/Johnny/lxc-manager.git
# Accéder au répertoire
cd lxc-manager
# Rendre le script exécutable
chmod +x lxc-manager.sh
# Lancer le script
./lxc-manager.sh
Installation systĂšme (optionnel)
# Copier dans /usr/local/bin
sudo cp lxc-manager.sh /usr/local/bin/lxc-manager
# Rendre exécutable
sudo chmod +x /usr/local/bin/lxc-manager
# Lancer de n'importe oĂč
lxc-manager
đź Utilisation
Lancement
./lxc-manager.sh
Le script doit ĂȘtre exĂ©cutĂ© en tant que root ou avec sudo.
Menu principal
âââââââââââââââââââââââââââââââââââââââââââââââââ
â GESTIONNAIRE LXC PROXMOX VE â
â Version 2.1 - SĂ©curisĂ© â
âââââââââââââââââââââââââââââââââââââââââââââââââ
đ Mode protection: ACTIVĂ
Menu Principal:
1) Lister les conteneurs
2) Créer un conteneur
3) Démarrer un conteneur
4) ArrĂȘter un conteneur
5) Redémarrer un conteneur
6) Supprimer un conteneur
7) Déverrouiller un conteneur
8) Sauvegarder un conteneur
9) Restaurer une sauvegarde
10) Afficher les informations
11) Entrer dans un conteneur
12) Cloner un conteneur
13) Gérer la protection d'un conteneur
14) Mode protection global (ACTIVĂ)
0) Quitter
đ Guide des fonctionnalitĂ©s
đ CrĂ©ation d'un conteneur
Le script vous guide à travers toutes les étapes :
- VMID : Numéro unique du conteneur (100-999999999)
- Nom d'hĂŽte : Nom du conteneur (lettres, chiffres, tirets)
- Mot de passe root : Minimum 8 caractĂšres avec confirmation
- Stockage : Sélection numérotée du stockage
- Template : Choix du systĂšme d'exploitation
- Ressources : RAM, Swap, Disque, CPU
- Réseau : Configuration DHCP ou IP statique
- Options : Démarrage automatique, protection
đŸ Sauvegarde d'un conteneur
Choix disponibles :
Compression :
gzip: Rapide, compression moyenne (recommandé)lzo: TrÚs rapide, faible compressionzstd: Bon compromis vitesse/compression
Mode de sauvegarde :
snapshot: Plus rapide, nĂ©cessite ZFS/LVM (recommandĂ©)stop: ArrĂȘt complet du conteneursuspend: Suspension temporaire
đ Restauration d'une sauvegarde
Le script vous permet de :
- Sélectionner le stockage source contenant les sauvegardes
- Choisir la sauvegarde à partir d'une liste numérotée avec VMID et date
- Définir le nouveau VMID pour le conteneur restauré
- Sélectionner le stockage de destination
đ Clonage d'un conteneur
Pour les conteneurs en cours d'exécution, 3 options :
- ArrĂȘter le conteneur avant le clonage (recommandĂ©)
- Créer un snapshot et cloner (plus rapide, nécessite ZFS/LVM)
- Annuler l'opération
Le conteneur source est automatiquement redémarré aprÚs le clonage si nécessaire.
đ Protection des conteneurs
Protection par conteneur :
- EmpĂȘche la suppression accidentelle
- Peut ĂȘtre activĂ©e/dĂ©sactivĂ©e individuellement
- Détectée automatiquement lors de la suppression
Mode protection global :
- đ ACTIVĂ : Confirmations renforcĂ©es (taper "SUPPRIMER")
- đ DĂSACTIVĂ : Confirmations simples (o/n)
đ§ Configuration avancĂ©e
Validation des entrées
Le script valide strictement :
- VMID : Format numérique (100-999999999)
- Nom d'hĂŽte : RFC 952/1123 (lettres, chiffres, tirets)
- Adresses IP : Format CIDR (ex: 192.168.1.100/24)
- Nombres : Valeurs positives pour RAM, CPU, disque
Mode strict Bash
Le script utilise set -euo pipefail pour :
-e: ArrĂȘter en cas d'erreur-u: DĂ©tecter les variables non dĂ©finies-o pipefail: DĂ©tecter les erreurs dans les pipes
đ DĂ©pannage
Le script ne démarre pas
# VĂ©rifier que vous ĂȘtes root
whoami
# Si non root, utiliser sudo
sudo ./lxc-manager.sh
# Vérifier que le script est exécutable
ls -l lxc-manager.sh
chmod +x lxc-manager.sh
Erreur "pct: command not found"
Le script doit ĂȘtre exĂ©cutĂ© sur un serveur Proxmox VE, pas sur une machine distante.
Erreur lors de la sauvegarde "wrong content type"
Le stockage sélectionné n'est pas configuré pour accepter les backups. Le script filtre maintenant automatiquement les stockages appropriés.
Erreur sendmail lors des sauvegardes
C'est une erreur de notification email qui n'empĂȘche pas la sauvegarde de fonctionner. Pour la corriger, configurez msmtp sur votre serveur Proxmox.
Impossible de cloner un conteneur en cours d'exécution
Utilisez l'option 1 du menu de clonage pour arrĂȘter le conteneur avant le clonage, ou l'option 2 si votre stockage supporte les snapshots (ZFS/LVM).
đ€ Contribution
Les contributions sont les bienvenues ! Pour contribuer :
- Fork le projet sur Gitea
- Créez une branche pour votre fonctionnalité (
git checkout -b feature/AmazingFeature) - Commit vos changements (
git commit -m 'Add some AmazingFeature') - Push vers la branche (
git push origin feature/AmazingFeature) - Ouvrez une Pull Request sur https://git.h3campus.fr/Johnny/lxc-manager
Standards de code
- Utiliser
shellcheckpour valider le code - Suivre les conventions de nommage existantes
- Commenter les fonctions complexes
- Tester sur Proxmox VE 7 et 8
đ Changelog
Version 2.1 (2025-01-30)
Ajouté
- Protection par conteneur (activation/désactivation)
- Mode protection global avec confirmations renforcées
- Sélection numérotée pour tous les stockages
- Filtrage intelligent des stockages pour backups
- Gestion des conteneurs actifs lors du clonage
- Extraction automatique du VMID et date pour les sauvegardes
Amélioré
- Validation stricte de toutes les entrées
- Gestion d'erreurs avec mode strict Bash
- Interface utilisateur plus intuitive
- Messages d'erreur plus clairs
Corrigé
- Affichage des codes couleur dans tous les menus
- Gestion des stockages incompatibles avec les backups
- Clonage des conteneurs en cours d'exécution
Version 2.0 (2025-01-29)
Ajouté
- Sécurité renforcée avec
set -euo pipefail - Validation de toutes les entrées utilisateur
- Fonctions de validation (VMID, hostname, IP, nombres)
- Gestion centralisée des erreurs
Version 1.0 (2025-01-28)
- Version initiale avec fonctionnalités de base
đ Licence
Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.
đšâđ» Auteur
Johnny - Profil Gitea
Développé avec l'assistance de Claude - Assistant IA d'Anthropic
đ Remerciements
- Proxmox VE pour leur excellent systĂšme de virtualisation
- La communauté H3 Campus pour leur soutien
- La communauté open source pour leurs contributions
- Tous les utilisateurs qui testent et améliorent ce script
đ Support
- đ Issues : Signaler un bug
- đŹ Discussions : Contactez-moi sur H3 Campus
- đ Wiki : Documentation complĂšte
â Star le projet
Si ce projet vous est utile, n'hĂ©sitez pas Ă lui donner une Ă©toile sur Gitea ! â
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
