User Tools

Site Tools


debian_ansible_hands-free_installs

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
debian_ansible_hands-free_installs [2026/05/10 12:58] – created mikedebian_ansible_hands-free_installs [2026/05/12 07:48] (current) mike
Line 1: Line 1:
 ===== Debian/Ansible/Hands-Free/Installs Initiative ===== ===== Debian/Ansible/Hands-Free/Installs Initiative =====
-==== Create the Debian Cloud-Init Template on Proxmox ====+==== Per Spiffyeight77 ==== 
 +Reference: [[https://spiffyeight77.com/posts/all/2025/08/creating-debian-12-cloud-init-templates-proxmox-ve/|Spiffyeight77]] (modified by me for Debian 13) 
 +=== Download the Official Cloud-Init Images ===
  
-Run these commands in the Proxmox host shell:+# Within Proxmox, create storage directory for cloud-init images 
 +  mkdir -p /var/lib/vz/template/iso/cloud-init/debian
  
-1. Download the latest Debian 13 Cloud Image (Generic QCOW2) +Navigate to debian directory 
-  wget https://cloud.debian.org/images/cloud/trixie/latest/debian-13-generic-amd64.qcow2+  cd /var/lib/vz/template/iso/cloud-init/debian
  
-2. Create a new VM (ID 9000 used as an example) +Download Debian 13 generic cloud image 
-  qm create 9000 --name "debian-13-template" --memory 2048 --net0 virtio,bridge=vmbr0+  wget https://cloud.debian.org/images/cloud/trixie/latest/debian-13-genericcloud-amd64.qcow2
  
-3. Import the disk into your Proxmox storage (replace 'local-lvm' with your storage name) +Download checksum for verification 
-  qm importdisk 9000 debian-13-generic-amd64.qcow2 local-lvm+  wget https://cloud.debian.org/images/cloud/trixie/latest/SHA512SUMS
  
-4. Attach the disk to the VM+Verify image integrity 
 +  sha512sum -c SHA512SUMS --ignore-missing 
 +   
 +=== Create the VM Template === 
 +== Create the Virtual Machine == 
 +  qm create 9000 --name debian-13-template --memory 2048 --cores 1 --net0 virtio,bridge=vmbr0 --ostype l26 --cpu cputype=host 
 + 
 +== Import and Configure the Disk == 
 +# Import cloud-init image as VM disk 
 +  qm importdisk 9000 /var/lib/vz/template/iso/cloud-init/debian/debian-13-genericcloud-amd64.qcow2 local-lvm --format qcow2 
 + 
 +Attach disk to VM with VirtIO SCSI
   qm set 9000 --scsihw virtio-scsi-pci --scsi0 local-lvm:vm-9000-disk-0   qm set 9000 --scsihw virtio-scsi-pci --scsi0 local-lvm:vm-9000-disk-0
  
-5. Add Cloud-Init CD-ROM drive+# Add cloud-init drive
   qm set 9000 --ide2 local-lvm:cloudinit   qm set 9000 --ide2 local-lvm:cloudinit
  
-6. Configure serial console (required for some cloud images) and boot order +# Configure boot options 
-  qm set 9000 --boot c --bootdisk scsi0 --serial0 socket --vga serial0+  qm set 9000 --boot c --bootdisk scsi0
  
-7. Convert it to a template+Add serial console for cloud-init output 
 +  qm set 9000 --serial0 socket --vga serial0 
 + 
 +# Configure the networking 
 +  qm set 9000 --ipconfig0 ip=dhcp 
 + 
 +# Enable the qemu guest agent(recommend) 
 +  qm set 9000 --agent enabled=1 
 +   
 +=== Testing the Template (Optional) === 
 +== Start and Verify the VM == 
 +# Start the VM for testing 
 +  qm start 9000 
 + 
 +# Check cloud-init configuration 
 +  qm cloudinit dump 9000 user 
 + 
 +# Monitor startup process 
 +  qm console 9000 
 + 
 +# Check the VM IP 
 +  qm guest cmd 9000 network-get-interfaces 
 + 
 +== Verify Cloud-Init Completion == 
 +Once logged into the VM: 
 +# Check cloud-init status 
 +  sudo cloud-init status 
 + 
 +# View cloud-init logs 
 +  sudo tail -20 /var/log/cloud-init-output.log 
 + 
 +# Check system information 
 +  cat /etc/os-release 
 +   
 +After successful testing, shutdown the VM: 
 +# Shutdown the VM 
 +  qm shutdown 9000 
 +   
 +=== Converting to Template === 
 +Convert the VM to a template
 +# Convert to template (irreversible operation)
   qm template 9000   qm template 9000
 +  
 +=== Cloning VMs from Template ===
 +== Using Proxmox Web Interface ==
 +  - Navigate to Templates: In the PVE web interface, locate your template (VM ID 9000)
 +  - Clone Template: Right-click → “Clone” or use the Clone button
 +  - Configure Clone Settings:
 +    * VM ID: Choose an unused ID (e.g., 101)
 +    * Name: Descriptive name (e.g., “debian-selfhosted-server”)
 +    * Mode: Full Clone (recommended for production)
 +    * Target Storage: Select appropriate storage
 +
 +== Resize Disk After Cloning ==
 +  - Access Hardware Tab: Select the cloned VM -> Hardware Tab
 +  - Resize Disk: Select scsi0 disk -> 'Resize disk'
 +  - Set New Size: Enter desired size (e.g., 50GB for container hosts)
  
 +== Configure Cloud-Init for New VM ==
 +  - Cloud-Init Tab: Navigate to the Cloud-Init tab
 +  - Configure Settings:
 +    * User: Set username (e.g., "admin")
 +    * Password: Set secure password
 +    * SSH Public Key: paste your SSH public key
 +    * IP Config: Choose DHCP or static IP configuration
 +  - Apply Changes: Click "Regenerate Image"
debian_ansible_hands-free_installs.1778443091.txt.gz · Last modified: by mike

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki