2 KiB
Proxmox Debian VM Bootstrap Wizard
A simple, interactive bootstrap for freshly cloned Debian VMs on Proxmox.
It uses a two‑stage approach:
- Bootstrap script (stored as
setup.sh
on your VM template)- Prompts for root if needed
- Downloads and runs the latest interactive wizard
- Remote setup wizard (pulled from Git)
- Menu‑driven (
whiptail
) configuration: updates, sudo, hostname, SSH keys, aliases, neofetch, CIFS mounts, etc.
- Menu‑driven (
Prerequisites
- Debian‑based VM template
- Network access to
git.jordanwages.com
whiptail
(auto‑installed if missing)- Either
curl
orwget
Installation
-
Copy & rename
On your Debian template, place the bootstrap script as/root/setup.sh
:chmod +x /root/setup.sh
-
Provision a new VM Clone from your template and boot it. Then run:
sudo /root/setup.sh
- If you’re not root, you’ll be prompted (via
whiptail
) for the root password. - The script fetches and executes the latest remote wizard.
- If you’re not root, you’ll be prompted (via
-
Follow the wizard Use the on‑screen menus to:
- Grant passwordless
sudo
to selected users - Apply system updates
- Set a new hostname
- Add SSH keys for root & your primary user
- Install core & optional utilities (
htop
,jq
,git
, etc.) - Configure CIFS mounts for your NAS shares
- Grant passwordless
Customization
-
Default SSH key Edit the
DEFAULT_SSH_KEY
variable in the remotesetup.sh
to your own public key. -
Optional packages Tweak the
TOOLS=(…)
array in the remote script to add or remove utilities. -
CIFS shares Adjust the
CIFS_HOSTS=(…)
array to match your NAS hostnames.
Troubleshooting
-
Fetch failures Ensure network connectivity and that
curl
orwget
is installed. -
Rerunning Simply invoke:
sudo /root/setup.sh
again to repeat the wizard.
-
Manually inspect If a step errors out, inspect the console output for hints.