docs: refresh repo README and add component guides
This commit is contained in:
parent
e8d06c2374
commit
a12e713d1f
3 changed files with 152 additions and 64 deletions
86
README.md
86
README.md
|
@ -1,71 +1,29 @@
|
|||
# Proxmox Debian VM Bootstrap Wizard
|
||||
# Proxmox Server Setup
|
||||
|
||||
A simple, interactive bootstrap for freshly cloned Debian VMs on Proxmox.
|
||||
It uses a two‑stage approach:
|
||||
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.
|
||||
|
||||
1. **Bootstrap script** (stored as `setup.sh` on your VM template)
|
||||
- Prompts for root if needed
|
||||
- Downloads and runs the latest interactive wizard
|
||||
2. **Remote setup wizard** (pulled from Git)
|
||||
- Menu‑driven (`whiptail`) configuration: updates, sudo, hostname, SSH keys, aliases, fastfetch, CIFS mounts, etc.
|
||||
## 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.
|
||||
|
||||
---
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Debian‑based VM template
|
||||
- Network access to `git.jordanwages.com`
|
||||
- `whiptail` (auto‑installed if missing)
|
||||
- Either `curl` or `wget`
|
||||
|
||||
---
|
||||
|
||||
## Installation
|
||||
|
||||
1. **Invoke remotely**
|
||||
On your Debian template, run the following command:
|
||||
## Quick Start
|
||||
1. **Prepare a Debian template** on Proxmox with either `curl` or `wget` available.
|
||||
2. **Run the bootstrap** on first boot:
|
||||
```bash
|
||||
curl -s https://git.jordanwages.com/wagesj45/proxmox-server-setup/raw/branch/main/bootstrap.sh | 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`.
|
||||
|
||||
2. **Follow the wizard**
|
||||
Use the on‑screen menus to:
|
||||
## 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.
|
||||
|
||||
* Grant `sudo` to selected users
|
||||
* Apply system updates
|
||||
* Set a new hostname
|
||||
* Add SSH keys for root & your primary user
|
||||
* Install core & optional utilities (`htop`, `jq`, `git`, etc.)
|
||||
* Configure NFS mounts for your NAS shares
|
||||
|
||||
---
|
||||
|
||||
## Customization
|
||||
|
||||
* **Default SSH key**
|
||||
Edit the `DEFAULT_SSH_KEY` variable in the remote `setup.sh` to your own public key.
|
||||
|
||||
* **Optional packages**
|
||||
Tweak the `TOOLS=(…)` array in the remote script to add or remove utilities.
|
||||
|
||||
* **NFS shares**
|
||||
Adjust the `NFS_HOSTS=(…)` array to match your NAS hostnames.
|
||||
|
||||
---
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
* **Fetch failures**
|
||||
Ensure network connectivity and that `curl` or `wget` is installed.
|
||||
|
||||
* **Rerunning**
|
||||
Simply invoke:
|
||||
|
||||
```bash
|
||||
sudo setup.sh
|
||||
```
|
||||
|
||||
again to repeat the wizard.
|
||||
|
||||
* **Manually inspect**
|
||||
If a step errors out, inspect the console output for hints.
|
||||
## 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.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue