# Proxmox Server Setup Scripts and configuration used to bring new Debian VMs online in a Proxmox cluster and wire them into supporting services. Each component keeps its own focused documentation so you can grab just what you need. ## Components - [Setup Wizard](docs/setup-wizard/README.md): interactive bootstrap that hardens a freshly cloned Debian template, installs tooling, and wires in NAS shares. - [Uptime Kuma Push Client](docs/uptime-kuma/README.md): lightweight agent that reports VM health checks to Uptime Kuma using the push API. - _Future additions_: drop new tooling under `docs//README.md` and link it here. ## Quick Start 1. **Prepare a Debian template** on Proxmox with either `curl` or `wget` available. 2. **Run the bootstrap** on first boot: ```bash curl -fsSL https://git.jordanwages.com/wagesj45/proxmox-server-setup/raw/branch/main/bootstrap.sh | bash ``` The helper script will escalate to root if needed, fetch the latest `setup.sh`, and guide you through hostname, sudo users, SSH keys, updates, and NFS mounts. 3. **Wire monitoring** by scheduling `kuma-push.sh` (eg. via `systemd` timer or cron) once you configure your checks in `kuma-checks.json`. ## Project Layout - `bootstrap.sh` – thin wrapper that always pulls the current `setup.sh` from Git and runs it as root. - `setup.sh` – whiptail-based wizard that applies updates, manages SSH keys, configures optional tooling, and maintains NFS mounts. - `kuma-push.sh` – sends heartbeat updates to Uptime Kuma based on the inventory in `kuma-checks.json`. - `kuma-checks.json` – declarative list of HTTP/service/docker/mount/disk checks for the push client. - `docs/` – component documentation; add new READMEs here as the toolkit grows. ## Contributing & Maintenance - Keep scripts idempotent so they can be re-run safely during template refreshes. - When you add features, document the new behaviour in a dedicated `docs//README.md` and update the component list above. - Run through the setup wizard on a throwaway VM after major changes to confirm the full flow still works.