29 lines
2.1 KiB
Markdown
29 lines
2.1 KiB
Markdown
# 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/<component>/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/<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.
|