La création de machines virtuelles (VM) à la volée est l’une des fonctionnalités les plus puissantes de Proxmox. Mais redémarrer d’une ISO, suivre tout le processus d’installation à chaque fois… c’est long et répétitif. Heureusement, il y a une solution bien plus élégante : les templates Cloud-Init.

Cloud-Init est un standard multi-distribution pour l’initialisation des instances de cloud. Il permet de configurer automatiquement la VM au premier démarrage : nom d’hôte, réseau, clés SSH, utilisateurs, etc.
Dans ce tutoriel, nous allons voir comment créer un template Proxmox pour Debian 13 (« Trixie ») en utilisant une image « cloud » officielle. Une fois ce template créé, vous pourrez cloner et déployer de nouvelles VM Debian entièrement configurées en quelques secondes !
Prérequis
Avant de commencer, assurez-vous d’avoir :
- Un serveur Proxmox VE fonctionnel et accessible en SSH ou via la console web.
- Un pont réseau (network bridge) configuré. Dans cet exemple, nous utiliserons
vmbr0. - Un espace de stockage pour les disques des VM. Nous utiliserons
local-lvm, mais adaptez selon votre configuration.
Étape 1 : Personnalisation des variables
Pour rendre le processus plus simple et adaptable, nous allons commencer par définir quelques variables. Ouvrez un terminal sur votre hôte Proxmox et gardez ces valeurs à portée de main.
# ----- VARIABLES À PERSONNALISER -----
VMID="8001" # ID unique pour la future VM et le template
VMNAME="debian13-cloudinit" # Nom du template
STORAGE="local-lvm" # Nom de votre stockage cible pour les disques
BRIDGE="vmbr0" # Nom de votre pont réseau
Astuce : Choisissez un VMID élevé (ex: 8000, 9000) pour que vos templates n’interfèrent pas avec les ID de vos VM en production.
Étape 2 : Télécharger l’image Cloud de Debian 13
Debian fournit des images pré-construites spécialement pour les environnements cloud. Elles sont légères, minimalistes et intègrent déjà Cloud-Init. Nous allons télécharger la dernière version pour Debian 13 « Trixie ».
wget -N https://cloud.debian.org/images/cloud/trixie/latest/debian-13-genericcloud-amd64.qcow2
Cette commande télécharge le fichier qcow2 (un format d’image disque optimisé) dans le répertoire courant (/root/ si vous êtes connecté en root).
Étape 3 : Création de la Machine Virtuelle de base
Maintenant, nous créons une nouvelle VM qui servira de base pour notre template.
qm create ${VMID} --name debian13-cloudinit --net0 virtio,bridge=vmbr0 --scsihw virtio-scsi-pci --machine q35
Détaillons cette commande :
qm create ${VMID}: Crée une VM avec l’ID que nous avons défini.--name ${VMNAME}: Lui donne un nom descriptif.--net0 virtio,bridge=${BRIDGE}: Crée une carte réseau VirtIO (pour de meilleures performances) connectée à notre pont réseau.--scsihw virtio-scsi-pci: Définit le contrôleur de disque survirtio-scsi-pci, un choix moderne et performant.--machine q35: Utilise le type de machineq35, qui est plus récent que lei440fxpar défaut.
Étape 4 : Importation et configuration du disque
L’image que nous avons téléchargée va devenir le disque principal de notre VM.
# Importer l'image qcow2 dans le stockage Proxmox
qm set ${VMID} --scsi0 ${STORAGE}:0,discard=on,ssd=1,format=qcow2,import-from=$(pwd)/debian-13-genericcloud-amd64.qcow2
# Redimensionner le disque à une taille plus pratique (ex: 8 Go)
qm disk resize ${VMID} scsi0 8G
# Définir ce disque comme disque de démarrage principal
qm set ${VMID} --boot order=scsi0
qm set ... --scsi0 ...: Attache un disque au contrôleur SCSI en position 0.import-from=...: C’est ici que la magie opère. Proxmox importe l’image téléchargée et la convertit en un disque pour la VM sur le stockagelocal-lvm.discard=on,ssd=1: Options utiles, surtout sur des stockages SSD, pour améliorer les performances et la gestion de l’espace.qm disk resize: L’image de base est très petite. Nous l’agrandissons à 8 Go. Cloud-Init se chargera d’étendre le système de fichiers pour occuper tout l’espace au premier démarrage.
Étape 5 : Configuration matérielle et Cloud-Init
Nous allons maintenant finaliser la configuration hardware et, surtout, ajouter le fameux lecteur Cloud-Init.
# Allouer CPU et RAM
qm set ${VMID} --cpu host --cores 2 --memory 2048
# Configurer pour le boot UEFI (plus moderne que le BIOS legacy)
qm set ${VMID} --bios ovmf --efidisk0 ${STORAGE}:1,format=qcow2,efitype=4m,pre-enrolled-keys=1
# L'étape CRUCIALE : ajouter le lecteur Cloud-Init
qm set ${VMID} --ide2 ${STORAGE}:cloudinit
--cpu host : Permet à la VM d’utiliser les mêmes instructions CPU que l’hôte, ce qui maximise les performances.
--bios ovmf: Active le mode UEFI. Le --efidisk0 crée un petit disque dédié pour stocker les paramètres UEFI.
--ide2 ...:cloudinit: C’est la pièce maîtresse. Proxmox va créer un petit lecteur CD-ROM virtuel qui contiendra toutes les données de configuration (nom d’hôte, IP, clés SSH…) que vous définirez lors du clonage. La VM lira ce « CD-ROM » au démarrage pour se configurer.
Étape 6 : Transformation en Template
Notre VM est prête ! La dernière étape consiste à la convertir en template. Un template ne peut pas être démarré directement, il sert uniquement de base pour être cloné.
qm template ${VMID}
Et voilà ! Si vous allez dans l’interface web de Proxmox, vous verrez votre nouvelle entrée debian13-cloudinit avec une icône différente.
Comment utiliser votre nouveau template ?
C’est très simple :
- Faites un clic droit sur le template dans l’interface Proxmox.
- Choisissez « Cloner ».
- Donnez un nom et un ID à votre nouvelle VM.
- Allez dans l’onglet « Cloud-Init » de la nouvelle VM (pas du template !) et configurez votre utilisateur, mot de passe ou clé SSH, et les paramètres réseau.
- Démarrez la VM.
En quelques instants, votre machine virtuelle Debian 13 sera en ligne, accessible en SSH et entièrement configurée selon vos spécifications. Fini les installations manuelles !

