71 lines
1.8 KiB
Markdown
71 lines
1.8 KiB
Markdown
# 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. **Invoke remotely**
|
||
On your Debian template, run the following command:
|
||
```bash
|
||
curl -s https://git.jordanwages.com/wagesj45/proxmox-server-setup/raw/branch/main/bootstrap.sh | bash
|
||
```
|
||
|
||
2. **Follow the wizard**
|
||
Use the on‑screen menus to:
|
||
|
||
* Grant `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 NFS 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.
|
||
|
||
* **NFS shares**
|
||
Adjust the `NFS_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 setup.sh
|
||
```
|
||
|
||
again to repeat the wizard.
|
||
|
||
* **Manually inspect**
|
||
If a step errors out, inspect the console output for hints.
|