Go to file
Johnny f65b76b7a4 Actualiser lxc-manager.sh 2026-01-01 20:58:16 +00:00
LICENSE Actualiser LICENSE 2025-12-30 10:41:06 +00:00
Readme.md Actualiser Readme.md 2025-12-31 09:51:54 +00:00
lxc-manager.sh Actualiser lxc-manager.sh 2026-01-01 20:58:16 +00:00

Readme.md

🐳 Gestionnaire LXC Proxmox VE

License: MIT Bash Proxmox

📋 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 :
# 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
  1. Créez un alias pour une utilisation facile :
echo 'alias lxc-manager="/usr/local/bin/lxc-manager.sh"' >> ~/.bashrc
source ~/.bashrc

📖 Utilisation

Lancement

sudo lxc-manager.sh

Ou via l'alias (si configuré) :

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

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 :

#!/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


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