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.md
and link it here.
Quick Start
- Prepare a Debian template on Proxmox with either
curl
orwget
available. - 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 | bash
setup.sh
, and guide you through hostname, sudo users, SSH keys, updates, and NFS mounts. - Wire monitoring by scheduling
kuma-push.sh
(eg. viasystemd
timer or cron) once you configure your checks inkuma-checks.json
.
Project Layout
bootstrap.sh
– thin wrapper that always pulls the currentsetup.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 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.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.