ClawKit Logo
ClawKitReliability Toolkit
Back to Registry
Official Verified

esxi-debian-deploy

Zero-touch Debian 13 VM deployment on VMware ESXi 8. Builds custom preseed ISO, creates NVMe+vmxnet3 VM with serial console, and runs unattended installation. Use when deploying Debian VMs on ESXi, automating VM provisioning, or setting up serial console access for headless ESXi VM management.

skill-install — Terminal

Install via CLI (Recommended)

clawhub install openclaw/skills/skills/cepheiden/openbot-esxi
Or

ESXi Debian 13 Zero-Touch Deploy

Deploy fully configured Debian 13 VMs on ESXi 8 in ~8 minutes with zero manual interaction.

Required Environment Variables

VariableRequiredDescription
ESXI_HOSTYesESXi host IP address
ESXI_PASSYesESXi root password
ESXI_USERNoESXi user (default: root)
ESXI_DATASTORENoTarget datastore (default: datastore1)
NETWORKNoPort group name (default: VM Network)
DOMAINNoDomain for VMs (default: local)
VM_PASSYes (resize only)VM root password for disk resize script

⚠️ Note: The deploy script generates a random VM password and prints it to stdout. The password is also embedded in the preseed ISO uploaded to the ESXi datastore. Remove the ISO after deployment and treat stdout output as sensitive.

Requirements

  • ESXi 8.x host with SSH and datastore access
  • govc CLI (github.com/vmware/govmomi)
  • xorriso, isolinux — for custom ISO build
  • sshpass — for automated SSH/SCP
  • Tools on agent host: bash, python3, wget

Install on Debian/Ubuntu:

apt install xorriso isolinux sshpass
# govc: https://github.com/vmware/govmomi/releases

Usage

All credentials are passed via environment variables — nothing is hardcoded or embedded in process arguments.

export ESXI_HOST="192.168.1.100"
export ESXI_PASS="your-esxi-root-password"

bash scripts/esxi-deploy.sh [hostname] [cpu] [ram_mb] [disk_gb] [serial_port]
ParameterDefaultDescription
hostnamerandom animal nameVM name
cpu2vCPU count
ram_mb2048Memory in MB
disk_gb20Disk size in GB
serial_portrandom 8600-8699Telnet port for serial console

Example:

bash scripts/esxi-deploy.sh webserver 4 4096 50 8610

What It Does

  1. Generate preseed.cfg — German locale, DHCP, configurable user + root, random password
  2. Build custom ISO — Debian netinst + preseed, patched isolinux for auto-boot
  3. Upload ISO to ESXi datastore
  4. Create VM — NVMe disk (thin provisioned), dual NIC (E1000 for installer + vmxnet3 for production), serial port via telnet
  5. Boot + unattended install — preseed handles everything
  6. Post-install — Remove E1000, eject ISO, set boot to HDD
  7. Output credentials — SSH + serial console access details

Serial Console

Every VM gets a serial port accessible via telnet to the ESXi host:

telnet <ESXI_IP> <serial_port>

Works even when the VM has no network. Configured:

  • GRUB: GRUB_TERMINAL="console serial", serial 115200 8N1
  • Kernel: console=tty0 console=ttyS0,115200n8
  • Getty: [email protected] enabled

ESXi firewall requirement (activated automatically by the script):

esxcli network firewall ruleset set -e true -r remoteSerialPort

Metadata

Author@cepheiden
Stars3951
Views1
Updated2026-04-09
View Author Profile
AI Skill Finder

Not sure this is the right skill?

Describe what you want to build — we'll match you to the best skill from 16,000+ options.

Find the right skill
Add to Configuration

Paste this into your clawhub.json to enable this plugin.

{
  "plugins": {
    "official-cepheiden-openbot-esxi": {
      "enabled": true,
      "auto_update": true
    }
  }
}
Safety NoteClawKit audits metadata but not runtime behavior. Use with caution.