#!/bin/bash set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" cd "$SCRIPT_DIR" if [ ! -f server.pkrvars.hcl ]; then echo "Error: server.pkrvars.hcl not found." echo "Copy server.pkrvars.hcl.example to server.pkrvars.hcl and fill in your values." exit 1 fi echo "=== Initializing Packer plugins ===" packer init ubuntu-server.pkr.hcl echo "" echo "=== Building image ===" echo "This will take 15-30 minutes depending on your machine." echo "" packer build -var-file=server.pkrvars.hcl ubuntu-server.pkr.hcl echo "" echo "===========================================" echo " Image built successfully!" echo "===========================================" echo " Output: $SCRIPT_DIR/output/packer-ubuntu-server" echo "" echo " To test locally:" echo " qemu-system-x86_64 -m 4096 -hda output/packer-ubuntu-server -enable-kvm" echo "" echo " To convert for other formats:" echo " qemu-img convert -f qcow2 -O raw output/packer-ubuntu-server output/server.raw" echo " qemu-img convert -f qcow2 -O vmdk output/packer-ubuntu-server output/server.vmdk" echo "==========================================="