Quand on débute avec Proxmox VE, on découvre rapidement qu’il existe deux grandes façons d’héberger des services : les machines virtuelles (VM) et les conteneurs LXC.
Même si les deux permettent de faire tourner des applications et des services, leur fonctionnement est très différent.
Les VM : isolation maximale
Les VM (Virtual Machines) sont des environnements complètement virtualisés.
Chaque VM possède :
- son propre système d’exploitation ;
- son propre noyau ;
- sa mémoire et ses ressources dédiées.
En pratique, une VM se comporte comme un véritable ordinateur indépendant.
L’avantage principal est l’isolation. Si une VM rencontre un problème ou se fait compromettre, les autres systèmes restent protégés.
C’est aussi la meilleure solution lorsqu’on veut :
- tester différents systèmes d’exploitation ;
- faire des laboratoires de tests ;
- exécuter des services nécessitant un noyau spécifique ;
- renforcer la sécurité et l’isolation.
L’inconvénient, c’est que les VM consomment davantage de ressources : plus de RAM, plus de stockage et des temps de démarrage plus longs.
Les LXC : légèreté et performance
Les conteneurs LXC (Linux Containers) fonctionnent différemment.
Contrairement aux VM, ils partagent le noyau Linux de l’hôte Proxmox.
Résultat :
- consommation de ressources très faible ;
- démarrage quasi instantané ;
- excellente densité de services ;
- administration plus légère.
Dans mon cas personnel, j’utilise énormément plus les LXC que les VM. Leur légèreté est un énorme avantage, surtout pour héberger plusieurs petits services domestiques ou applicatifs.
Les VM restent réservées à certains usages spécifiques :
- les tests ;
- les environnements nécessitant une isolation forte ;
- ou encore les services demandant une configuration particulière.
Mes débuts : Docker dans des LXC
Comme Proxmox était encore relativement nouveau pour moi, j’ai reproduit une méthode que je connaissais déjà : créer un conteneur LXC puis installer Docker à l’intérieur pour faire tourner mes services.
Techniquement, cela fonctionnait très bien.
Mais avec le temps, plusieurs problèmes sont apparus :
- on se retrouve avec des conteneurs dans des conteneurs ;
- le dépannage devient plus complexe ;
- la maintenance demande davantage de temps ;
- les sauvegardes et migrations deviennent moins propres.
Même si Docker reste une excellente solution, cette architecture commençait à devenir difficile à maintenir au quotidien.
La découverte des Community Scripts Proxmox

Il y a quelques mois, j’ai découvert les fameux Proxmox VE Helper Scripts, souvent appelés “Community Scripts”.
Le principe est simple :
des scripts communautaires capables de créer automatiquement un conteneur LXC préconfiguré pour le service souhaité.
En quelques commandes, on peut déployer :
- Jellyfin ;
- Home Assistant ;
- AdGuard Home ;
- Grafana ;
- et bien d’autres.
Je les ai testés… et honnêtement, cela a complètement changé ma façon d’utiliser Proxmox.
Pourquoi cette approche m’a convaincu
Le plus impressionnant, c’est la simplicité de maintenance.
Avec mon ancienne méthode :
- il fallait maintenir le LXC ;
- maintenir Docker ;
- maintenir les conteneurs Docker ;
- gérer les volumes et les dépendances.
Avec les Community Scripts :

- le déploiement est standardisé ;
- les mises à jour sont simplifiées ;
- les services sont plus propres ;
- l’administration quotidienne est beaucoup plus agréable.
Et surtout, les performances sont excellentes.
Je n’ai constaté aucune différence négative par rapport à ma précédente approche basée sur Docker.
Mais au fond, je savais que cela en valait la peine pour la maintenabilité à long terme de mon infrastructure.
Le moment où j’ai su que j’avais fait le bon choix
Ce qui m’a réellement donné envie d’écrire cet article, c’est un moment très simple.
Je voulais mettre à jour l’ensemble de mes services vers leur dernière version disponible.
Avant, cette opération demandait :
- plusieurs connexions ;
- des commandes Docker ;
- des vérifications manuelles ;
- parfois des erreurs ou des incompatibilités.
Cette fois-ci ?
Une seule commande.
Et tous mes LXC déployés via les Community Scripts se sont mis à jour proprement.
C’est exactement à ce moment-là que j’ai réalisé à quel point cette migration avait amélioré mon infrastructure.
Avec le recul, c’est probablement l’une des meilleures optimisations que j’ai apportées à mon homelab ces derniers mois.
No Comments