proxmox-server-setup/README.md

29 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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.