Contains scripts to set up a new ProxMox Debian server.
| docs | ||
| bootstrap.sh | ||
| kuma-checks.json | ||
| kuma-push.sh | ||
| README.md | ||
| setup.sh | ||
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: interactive bootstrap that hardens a freshly cloned Debian template, installs tooling, and wires in NAS shares.
- Uptime Kuma Push Client: lightweight agent that reports VM health checks to Uptime Kuma using the push API.
- Future additions: drop new tooling under
docs/<component>/README.mdand link it here.
Quick Start
- Prepare a Debian template on Proxmox with either
curlorwgetavailable. - Run the bootstrap on first boot:
The helper script will escalate to root if needed, fetch the latestcurl -fsSL https://git.jordanwages.com/wagesj45/proxmox-server-setup/raw/branch/main/bootstrap.sh | bashsetup.sh, and guide you through hostname, sudo users, SSH keys, updates, and NFS mounts. - Wire monitoring by scheduling
kuma-push.sh(eg. viasystemdtimer or cron) once you configure your checks inkuma-checks.json.
Project Layout
bootstrap.sh– thin wrapper that always pulls the currentsetup.shfrom 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 inkuma-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/<component>/README.mdand update the component list above. - Run through the setup wizard on a throwaway VM after major changes to confirm the full flow still works.