From 35bb72fc0037f17ba3593de08bf570636e06624c Mon Sep 17 00:00:00 2001 From: wagesj45 Date: Fri, 25 Jul 2025 18:21:58 -0500 Subject: [PATCH] Update README.md --- README.md | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 80 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index adea80c..2cb70b2 100644 --- a/README.md +++ b/README.md @@ -1 +1,80 @@ -Readme \ No newline at end of file +# Proxmox Debian VM Bootstrap Wizard + +A simple, interactive bootstrap for freshly cloned Debian VMs on Proxmox. +It uses a two‑stage approach: + +1. **Bootstrap script** (stored as `setup.sh` on your VM template) + - Prompts for root if needed + - Downloads and runs the latest interactive wizard +2. **Remote setup wizard** (pulled from Git) + - Menu‑driven (`whiptail`) configuration: updates, sudo, hostname, SSH keys, aliases, neofetch, CIFS mounts, etc. + +--- + +## Prerequisites + +- Debian‑based VM template +- Network access to `git.jordanwages.com` +- `whiptail` (auto‑installed if missing) +- Either `curl` or `wget` + +--- + +## Installation + +1. **Copy & rename** + On your Debian template, place the **bootstrap** script as `/root/setup.sh`: + ```bash + chmod +x /root/setup.sh + +2. **Provision a new VM** + Clone from your template and boot it. Then run: + + ```bash + 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. + +3. **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 + +--- + +## Customization + +* **Default SSH key** + Edit the `DEFAULT_SSH_KEY` variable in the remote `setup.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` or `wget` is installed. + +* **Rerunning** + Simply invoke: + + ```bash + sudo /root/setup.sh + ``` + + again to repeat the wizard. + +* **Manually inspect** + If a step errors out, inspect the console output for hints.